00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #ifndef _MAGICKCORE_TYPE_H
00019 #define _MAGICKCORE_TYPE_H
00020 
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024 
00025 typedef enum
00026 {
00027   UndefinedStretch,
00028   NormalStretch,
00029   UltraCondensedStretch,
00030   ExtraCondensedStretch,
00031   CondensedStretch,
00032   SemiCondensedStretch,
00033   SemiExpandedStretch,
00034   ExpandedStretch,
00035   ExtraExpandedStretch,
00036   UltraExpandedStretch,
00037   AnyStretch
00038 } StretchType;
00039 
00040 typedef enum
00041 {
00042   UndefinedStyle,
00043   NormalStyle,
00044   ItalicStyle,
00045   ObliqueStyle,
00046   AnyStyle
00047 } StyleType;
00048 
00049 typedef struct _TypeInfo
00050 {
00051   unsigned long
00052     face;
00053 
00054   char
00055     *path,
00056     *name,
00057     *description,
00058     *family;
00059 
00060   StyleType
00061     style;
00062 
00063   StretchType
00064     stretch;
00065 
00066   unsigned long
00067     weight;
00068 
00069   char
00070     *encoding,
00071     *foundry,
00072     *format,
00073     *metrics,
00074     *glyphs;
00075 
00076   MagickBooleanType
00077     stealth;
00078 
00079   struct _TypeInfo
00080     *previous,
00081     *next;  
00082 
00083   unsigned long
00084     signature;
00085 } TypeInfo;
00086 
00087 extern MagickExport char
00088   **GetTypeList(const char *,unsigned long *,ExceptionInfo *);
00089 
00090 extern MagickExport MagickBooleanType
00091   ListTypeInfo(FILE *,ExceptionInfo *);
00092 
00093 extern MagickExport const TypeInfo
00094   *GetTypeInfo(const char *,ExceptionInfo *),
00095   *GetTypeInfoByFamily(const char *,const StyleType,const StretchType,
00096     const unsigned long,ExceptionInfo *),
00097   **GetTypeInfoList(const char *,unsigned long *,ExceptionInfo *);
00098 
00099 MagickExport void
00100   DestroyTypeList(void);
00101 
00102 #if defined(__cplusplus) || defined(c_plusplus)
00103 }
00104 #endif
00105 
00106 #endif