67 FT_Int32 load_flags );
224#ifndef FT_CONFIG_OPTION_PIC
226#define FT_DECLARE_DRIVER( class_ ) \
228 const FT_Driver_ClassRec class_;
230#define FT_DEFINE_DRIVER( \
256 FT_CALLBACK_TABLE_DEF \
257 const FT_Driver_ClassRec class_ = \
259 FT_DEFINE_ROOT_MODULE( flags_, \
294#define FT_DECLARE_DRIVER( class_ ) FT_DECLARE_MODULE( class_ )
296#define FT_DEFINE_DRIVER( \
323 FT_Destroy_Class_ ## class_( FT_Library library, \
324 FT_Module_Class* clazz ) \
326 FT_Memory memory = library->memory; \
327 FT_Driver_Class dclazz = (FT_Driver_Class)clazz; \
330 class_ ## _pic_free( library ); \
337 FT_Create_Class_ ## class_( FT_Library library, \
338 FT_Module_Class** output_class ) \
340 FT_Driver_Class clazz = NULL; \
342 FT_Memory memory = library->memory; \
345 if ( FT_ALLOC( clazz, sizeof ( *clazz ) ) ) \
348 error = class_ ## _pic_init( library ); \
355 FT_DEFINE_ROOT_MODULE( flags_, \
365 clazz->face_object_size = face_object_size_; \
366 clazz->size_object_size = size_object_size_; \
367 clazz->slot_object_size = slot_object_size_; \
369 clazz->init_face = init_face_; \
370 clazz->done_face = done_face_; \
372 clazz->init_size = init_size_; \
373 clazz->done_size = done_size_; \
375 clazz->init_slot = init_slot_; \
376 clazz->done_slot = done_slot_; \
378 clazz->load_glyph = load_glyph_; \
380 clazz->get_kerning = get_kerning_; \
381 clazz->attach_file = attach_file_; \
382 clazz->get_advances = get_advances_; \
384 clazz->request_size = request_size_; \
385 clazz->select_size = select_size_; \
387 *output_class = (FT_Module_Class*)clazz; \
void(* FT_Face_DoneFunc)(FT_Face face)
FT_Error(* FT_Size_RequestFunc)(FT_Size size, FT_Size_Request req)
FT_Error(* FT_Slot_LoadFunc)(FT_GlyphSlot slot, FT_Size size, FT_UInt glyph_index, FT_Int32 load_flags)
FT_Error(* FT_Face_GetKerningFunc)(FT_Face face, FT_UInt left_glyph, FT_UInt right_glyph, FT_Vector *kerning)
struct FT_Driver_ClassRec_ FT_Driver_ClassRec
void(* FT_Size_DoneFunc)(FT_Size size)
FT_Error(* FT_Slot_InitFunc)(FT_GlyphSlot slot)
FT_Error(* FT_Face_AttachFunc)(FT_Face face, FT_Stream stream)
FT_Error(* FT_Size_InitFunc)(FT_Size size)
struct FT_Driver_ClassRec_ * FT_Driver_Class
void(* FT_Slot_DoneFunc)(FT_GlyphSlot slot)
FT_Error(* FT_Face_GetAdvancesFunc)(FT_Face face, FT_UInt first, FT_UInt count, FT_Int32 flags, FT_Fixed *advances)
FT_Error(* FT_Size_SelectFunc)(FT_Size size, FT_ULong size_index)
FT_BEGIN_HEADER typedef FT_Error(* FT_Face_InitFunc)(FT_Stream stream, FT_Face face, FT_Int typeface_index, FT_Int num_params, FT_Parameter *parameters)
GLuint GLuint GLsizei count
FT_Size_RequestFunc request_size
FT_Size_InitFunc init_size
FT_Size_SelectFunc select_size
FT_Face_GetKerningFunc get_kerning
FT_Slot_LoadFunc load_glyph
FT_Slot_DoneFunc done_slot
FT_Size_DoneFunc done_size
FT_Face_InitFunc init_face
FT_Face_DoneFunc done_face
FT_Face_AttachFunc attach_file
FT_Face_GetAdvancesFunc get_advances
FT_Slot_InitFunc init_slot
FT_UInt FT_UInt FT_Vector * kerning
FT_UInt FT_UInt right_glyph