fontservices/freetypefontrasteriser/freetype2/include/freetype/internal/ftdriver.h
author hgs
Wed, 27 Oct 2010 16:14:22 +0800
changeset 71 6cc5529d4a89
permissions -rw-r--r--
201033_10
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
71
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
     1
/***************************************************************************/
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
     2
/*                                                                         */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
     3
/*  ftdriver.h                                                             */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
     4
/*                                                                         */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
     5
/*    FreeType font driver interface (specification).                      */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
     6
/*                                                                         */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
     7
/*  Copyright 1996-2001, 2002, 2003, 2006 by                               */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
     8
/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
     9
/*                                                                         */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    10
/*  This file is part of the FreeType project, and may only be used,       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    11
/*  modified, and distributed under the terms of the FreeType project      */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    12
/*  license, FTL.TXT.  By continuing to use, modify, or distribute     */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    13
/*  this file you indicate that you have read the license and              */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    14
/*  understand and accept it fully.                                        */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    15
/*                                                                         */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    16
/***************************************************************************/
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    17
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    18
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    19
#ifndef __FTDRIVER_H__
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    20
#define __FTDRIVER_H__
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    21
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    22
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    23
#include <ft2build.h>
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    24
#include FT_MODULE_H
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    25
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    26
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    27
FT_BEGIN_HEADER
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    28
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    29
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    30
  typedef FT_Error
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    31
  (*FT_Face_InitFunc)( FT_Stream      stream,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    32
                       FT_Face        face,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    33
                       FT_Int         typeface_index,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    34
                       FT_Int         num_params,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    35
                       FT_Parameter*  parameters );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    36
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    37
  typedef void
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    38
  (*FT_Face_DoneFunc)( FT_Face  face );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    39
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    40
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    41
  typedef FT_Error
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    42
  (*FT_Size_InitFunc)( FT_Size  size );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    43
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    44
  typedef void
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    45
  (*FT_Size_DoneFunc)( FT_Size  size );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    46
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    47
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    48
  typedef FT_Error
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    49
  (*FT_Slot_InitFunc)( FT_GlyphSlot  slot );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    50
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    51
  typedef void
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    52
  (*FT_Slot_DoneFunc)( FT_GlyphSlot  slot );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    53
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    54
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    55
  typedef FT_Error
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    56
  (*FT_Size_RequestFunc)( FT_Size          size,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    57
                          FT_Size_Request  req );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    58
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    59
  typedef FT_Error
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    60
  (*FT_Size_SelectFunc)( FT_Size   size,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    61
                         FT_ULong  size_index );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    62
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    63
#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    64
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    65
  typedef FT_Error
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    66
  (*FT_Size_ResetPointsFunc)( FT_Size     size,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    67
                              FT_F26Dot6  char_width,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    68
                              FT_F26Dot6  char_height,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    69
                              FT_UInt     horz_resolution,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    70
                              FT_UInt     vert_resolution );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    71
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    72
  typedef FT_Error
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    73
  (*FT_Size_ResetPixelsFunc)( FT_Size  size,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    74
                              FT_UInt  pixel_width,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    75
                              FT_UInt  pixel_height );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    76
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    77
#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    78
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    79
  typedef FT_Error
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    80
  (*FT_Slot_LoadFunc)( FT_GlyphSlot  slot,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    81
                       FT_Size       size,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    82
                       FT_UInt       glyph_index,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    83
                       FT_Int32      load_flags );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    84
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    85
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    86
  typedef FT_UInt
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    87
  (*FT_CharMap_CharIndexFunc)( FT_CharMap  charmap,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    88
                               FT_Long     charcode );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    89
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    90
  typedef FT_Long
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    91
  (*FT_CharMap_CharNextFunc)( FT_CharMap  charmap,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    92
                              FT_Long     charcode );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    93
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    94
  typedef FT_Error
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    95
  (*FT_Face_GetKerningFunc)( FT_Face     face,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    96
                             FT_UInt     left_glyph,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    97
                             FT_UInt     right_glyph,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    98
                             FT_Vector*  kerning );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
    99
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   100
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   101
  typedef FT_Error
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   102
  (*FT_Face_AttachFunc)( FT_Face    face,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   103
                         FT_Stream  stream );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   104
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   105
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   106
  typedef FT_Error
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   107
  (*FT_Face_GetAdvancesFunc)( FT_Face     face,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   108
                              FT_UInt     first,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   109
                              FT_UInt     count,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   110
                              FT_Bool     vertical,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   111
                              FT_UShort*  advances );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   112
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   113
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   114
  /*************************************************************************/
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   115
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   116
  /* <Struct>                                                              */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   117
  /*    FT_Driver_ClassRec                                                 */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   118
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   119
  /* <Description>                                                         */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   120
  /*    The font driver class.  This structure mostly contains pointers to */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   121
  /*    driver methods.                                                    */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   122
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   123
  /* <Fields>                                                              */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   124
  /*    root             :: The parent module.                             */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   125
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   126
  /*    face_object_size :: The size of a face object in bytes.            */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   127
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   128
  /*    size_object_size :: The size of a size object in bytes.            */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   129
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   130
  /*    slot_object_size :: The size of a glyph object in bytes.           */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   131
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   132
  /*    init_face        :: The format-specific face constructor.          */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   133
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   134
  /*    done_face        :: The format-specific face destructor.           */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   135
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   136
  /*    init_size        :: The format-specific size constructor.          */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   137
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   138
  /*    done_size        :: The format-specific size destructor.           */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   139
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   140
  /*    init_slot        :: The format-specific slot constructor.          */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   141
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   142
  /*    done_slot        :: The format-specific slot destructor.           */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   143
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   144
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   145
  /*    load_glyph       :: A function handle to load a glyph to a slot.   */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   146
  /*                        This field is mandatory!                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   147
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   148
  /*    get_char_index   :: A function handle to return the glyph index of */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   149
  /*                        a given character for a given charmap.  This   */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   150
  /*                        field is mandatory!                            */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   151
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   152
  /*    get_kerning      :: A function handle to return the unscaled       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   153
  /*                        kerning for a given pair of glyphs.  Can be    */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   154
  /*                        set to 0 if the format doesn't support         */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   155
  /*                        kerning.                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   156
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   157
  /*    attach_file      :: This function handle is used to read           */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   158
  /*                        additional data for a face from another        */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   159
  /*                        file/stream.  For example, this can be used to */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   160
  /*                        add data from AFM or PFM files on a Type 1     */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   161
  /*                        face, or a CIDMap on a CID-keyed face.         */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   162
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   163
  /*    get_advances     :: A function handle used to return advance       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   164
  /*                        widths of `count' glyphs (in font units),      */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   165
  /*                        starting at `first'.  The `vertical' flag must */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   166
  /*                        be set to get vertical advance heights.  The   */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   167
  /*                        `advances' buffer is caller-allocated.         */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   168
  /*                        Currently not implemented.  The idea of this   */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   169
  /*                        function is to be able to perform              */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   170
  /*                        device-independent text layout without loading */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   171
  /*                        a single glyph image.                          */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   172
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   173
  /*    request_size     :: A handle to a function used to request the new */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   174
  /*                        character size.  Can be set to 0 if the        */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   175
  /*                        scaling done in the base layer suffices.       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   176
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   177
  /*    select_size      :: A handle to a function used to select a new    */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   178
  /*                        fixed size.  It is used only if                */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   179
  /*                        @FT_FACE_FLAG_FIXED_SIZES is set.  Can be set  */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   180
  /*                        to 0 if the scaling done in the base layer     */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   181
  /*                        suffices.                                      */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   182
  /* <Note>                                                                */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   183
  /*    Most function pointers, with the exception of `load_glyph' and     */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   184
  /*    `get_char_index' can be set to 0 to indicate a default behaviour.  */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   185
  /*                                                                       */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   186
  typedef struct  FT_Driver_ClassRec_
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   187
  {
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   188
    FT_Module_Class           root;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   189
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   190
    FT_Long                   face_object_size;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   191
    FT_Long                   size_object_size;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   192
    FT_Long                   slot_object_size;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   193
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   194
    FT_Face_InitFunc          init_face;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   195
    FT_Face_DoneFunc          done_face;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   196
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   197
    FT_Size_InitFunc          init_size;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   198
    FT_Size_DoneFunc          done_size;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   199
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   200
    FT_Slot_InitFunc          init_slot;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   201
    FT_Slot_DoneFunc          done_slot;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   202
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   203
#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   204
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   205
    FT_Size_ResetPointsFunc   set_char_sizes;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   206
    FT_Size_ResetPixelsFunc   set_pixel_sizes;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   207
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   208
#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   209
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   210
    FT_Slot_LoadFunc          load_glyph;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   211
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   212
    FT_Face_GetKerningFunc    get_kerning;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   213
    FT_Face_AttachFunc        attach_file;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   214
    FT_Face_GetAdvancesFunc   get_advances;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   215
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   216
    /* since version 2.2 */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   217
    FT_Size_RequestFunc       request_size;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   218
    FT_Size_SelectFunc        select_size;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   219
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   220
  } FT_Driver_ClassRec, *FT_Driver_Class;
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   221
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   222
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   223
  /*
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   224
   *  The following functions are used as stubs for `set_char_sizes' and
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   225
   *  `set_pixel_sizes'; the code uses `request_size' and `select_size'
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   226
   *  functions instead.
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   227
   *
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   228
   *  Implementation is in `src/base/ftobjs.c'.
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   229
   */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   230
#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   231
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   232
  FT_BASE( FT_Error )
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   233
  ft_stub_set_char_sizes( FT_Size     size,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   234
                          FT_F26Dot6  width,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   235
                          FT_F26Dot6  height,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   236
                          FT_UInt     horz_res,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   237
                          FT_UInt     vert_res );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   238
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   239
  FT_BASE( FT_Error )
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   240
  ft_stub_set_pixel_sizes( FT_Size  size,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   241
                           FT_UInt  width,
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   242
                           FT_UInt  height );
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   243
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   244
#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   245
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   246
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   247
FT_END_HEADER
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   248
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   249
#endif /* __FTDRIVER_H__ */
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   250
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   251
6cc5529d4a89 201033_10
hgs
parents:
diff changeset
   252
/* END */