PageRenderTime 22ms CodeModel.GetById 8ms app.highlight 9ms RepoModel.GetById 2ms app.codeStats 0ms

/src/freetype/src/type1/t1objs.h

https://bitbucket.org/cabalistic/ogredeps/
C++ Header | 160 lines | 51 code | 41 blank | 68 comment | 0 complexity | aa9b2b934561adf11c5e4140272e183a MD5 | raw file
  1/***************************************************************************/
  2/*                                                                         */
  3/*  t1objs.h                                                               */
  4/*                                                                         */
  5/*    Type 1 objects manager (specification).                              */
  6/*                                                                         */
  7/*  Copyright 1996-2001, 2002, 2006, 2011 by                               */
  8/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
  9/*                                                                         */
 10/*  This file is part of the FreeType project, and may only be used,       */
 11/*  modified, and distributed under the terms of the FreeType project      */
 12/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
 13/*  this file you indicate that you have read the license and              */
 14/*  understand and accept it fully.                                        */
 15/*                                                                         */
 16/***************************************************************************/
 17
 18
 19#ifndef __T1OBJS_H__
 20#define __T1OBJS_H__
 21
 22
 23#include <ft2build.h>
 24#include FT_INTERNAL_OBJECTS_H
 25#include FT_CONFIG_CONFIG_H
 26#include FT_INTERNAL_TYPE1_TYPES_H
 27
 28
 29FT_BEGIN_HEADER
 30
 31
 32  /* The following structures must be defined by the hinter */
 33  typedef struct T1_Size_Hints_   T1_Size_Hints;
 34  typedef struct T1_Glyph_Hints_  T1_Glyph_Hints;
 35
 36
 37  /*************************************************************************/
 38  /*                                                                       */
 39  /* <Type>                                                                */
 40  /*    T1_Size                                                            */
 41  /*                                                                       */
 42  /* <Description>                                                         */
 43  /*    A handle to a Type 1 size object.                                  */
 44  /*                                                                       */
 45  typedef struct T1_SizeRec_*  T1_Size;
 46
 47
 48  /*************************************************************************/
 49  /*                                                                       */
 50  /* <Type>                                                                */
 51  /*    T1_GlyphSlot                                                       */
 52  /*                                                                       */
 53  /* <Description>                                                         */
 54  /*    A handle to a Type 1 glyph slot object.                            */
 55  /*                                                                       */
 56  typedef struct T1_GlyphSlotRec_*  T1_GlyphSlot;
 57
 58
 59  /*************************************************************************/
 60  /*                                                                       */
 61  /* <Type>                                                                */
 62  /*    T1_CharMap                                                         */
 63  /*                                                                       */
 64  /* <Description>                                                         */
 65  /*    A handle to a Type 1 character mapping object.                     */
 66  /*                                                                       */
 67  /* <Note>                                                                */
 68  /*    The Type 1 format doesn't use a charmap but an encoding table.     */
 69  /*    The driver is responsible for making up charmap objects            */
 70  /*    corresponding to these tables.                                     */
 71  /*                                                                       */
 72  typedef struct T1_CharMapRec_*   T1_CharMap;
 73
 74
 75  /*************************************************************************/
 76  /*                                                                       */
 77  /*                  HERE BEGINS THE TYPE1 SPECIFIC STUFF                 */
 78  /*                                                                       */
 79  /*************************************************************************/
 80
 81
 82  /*************************************************************************/
 83  /*                                                                       */
 84  /* <Type>                                                                */
 85  /*    T1_SizeRec                                                         */
 86  /*                                                                       */
 87  /* <Description>                                                         */
 88  /*    Type 1 size record.                                                */
 89  /*                                                                       */
 90  typedef struct  T1_SizeRec_
 91  {
 92    FT_SizeRec  root;
 93
 94  } T1_SizeRec;
 95
 96
 97  FT_LOCAL( void )
 98  T1_Size_Done( FT_Size  size );
 99
100  FT_LOCAL( FT_Error )
101  T1_Size_Request( FT_Size          size,
102                   FT_Size_Request  req );
103
104  FT_LOCAL( FT_Error )
105  T1_Size_Init( FT_Size  size );
106
107
108  /*************************************************************************/
109  /*                                                                       */
110  /* <Type>                                                                */
111  /*    T1_GlyphSlotRec                                                    */
112  /*                                                                       */
113  /* <Description>                                                         */
114  /*    Type 1 glyph slot record.                                          */
115  /*                                                                       */
116  typedef struct  T1_GlyphSlotRec_
117  {
118    FT_GlyphSlotRec  root;
119
120    FT_Bool          hint;
121    FT_Bool          scaled;
122
123    FT_Int           max_points;
124    FT_Int           max_contours;
125
126    FT_Fixed         x_scale;
127    FT_Fixed         y_scale;
128
129  } T1_GlyphSlotRec;
130
131
132  FT_LOCAL( FT_Error )
133  T1_Face_Init( FT_Stream      stream,
134                FT_Face        face,
135                FT_Int         face_index,
136                FT_Int         num_params,
137                FT_Parameter*  params );
138
139  FT_LOCAL( void )
140  T1_Face_Done( FT_Face  face );
141
142  FT_LOCAL( FT_Error )
143  T1_GlyphSlot_Init( FT_GlyphSlot  slot );
144
145  FT_LOCAL( void )
146  T1_GlyphSlot_Done( FT_GlyphSlot  slot );
147
148  FT_LOCAL( FT_Error )
149  T1_Driver_Init( FT_Module  driver );
150
151  FT_LOCAL( void )
152  T1_Driver_Done( FT_Module  driver );
153
154
155FT_END_HEADER
156
157#endif /* __T1OBJS_H__ */
158
159
160/* END */