Home | History | Annotate | Download | only in MagickCore
      1 /*
      2   Copyright 1999-2019 ImageMagick Studio LLC, a non-profit organization
      3   dedicated to making software imaging solutions freely available.
      4 
      5   You may not use this file except in compliance with the License.  You may
      6   obtain a copy of the License at
      7 
      8     https://imagemagick.org/script/license.php
      9 
     10   Unless required by applicable law or agreed to in writing, software
     11   distributed under the License is distributed on an "AS IS" BASIS,
     12   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13   See the License for the specific language governing permissions and
     14   limitations under the License.
     15 
     16   MagickCore image type methods.
     17 */
     18 #ifndef MAGICKCORE_TYPE_H
     19 #define MAGICKCORE_TYPE_H
     20 
     21 #if defined(__cplusplus) || defined(c_plusplus)
     22 extern "C" {
     23 #endif
     24 
     25 typedef enum
     26 {
     27   UndefinedStretch,
     28   NormalStretch,
     29   UltraCondensedStretch,
     30   ExtraCondensedStretch,
     31   CondensedStretch,
     32   SemiCondensedStretch,
     33   SemiExpandedStretch,
     34   ExpandedStretch,
     35   ExtraExpandedStretch,
     36   UltraExpandedStretch,
     37   AnyStretch
     38 } StretchType;
     39 
     40 typedef enum
     41 {
     42   UndefinedStyle,
     43   NormalStyle,
     44   ItalicStyle,
     45   ObliqueStyle,
     46   AnyStyle,
     47   BoldStyle
     48 } StyleType;
     49 
     50 typedef struct _TypeInfo
     51 {
     52   size_t
     53     face;
     54 
     55   char
     56     *path,
     57     *name,
     58     *description,
     59     *family;
     60 
     61   StyleType
     62     style;
     63 
     64   StretchType
     65     stretch;
     66 
     67   size_t
     68     weight;
     69 
     70   char
     71     *encoding,
     72     *foundry,
     73     *format,
     74     *metrics,
     75     *glyphs;
     76 
     77   MagickBooleanType
     78     stealth;
     79 
     80   size_t
     81     signature;
     82 } TypeInfo;
     83 
     84 extern MagickExport char
     85   **GetTypeList(const char *,size_t *,ExceptionInfo *);
     86 
     87 extern MagickExport MagickBooleanType
     88   ListTypeInfo(FILE *,ExceptionInfo *);
     89 
     90 extern MagickExport const TypeInfo
     91   *GetTypeInfo(const char *,ExceptionInfo *),
     92   *GetTypeInfoByFamily(const char *,const StyleType,const StretchType,
     93     const size_t,ExceptionInfo *),
     94   **GetTypeInfoList(const char *,size_t *,ExceptionInfo *);
     95 
     96 #if defined(__cplusplus) || defined(c_plusplus)
     97 }
     98 #endif
     99 
    100 #endif
    101