31 PSH_Globals_FuncsRec globals_funcs;
32 T1_Hints_FuncsRec t1_funcs;
33 T2_Hints_FuncsRec t2_funcs;
35 } PS_Hinter_ModuleRec, *PS_Hinter_Module;
39 FT_CALLBACK_DEF(
void )
40 ps_hinter_done( FT_Module module_ )
42 PS_Hinter_Module module = (PS_Hinter_Module)module_;
45 module->t1_funcs.hints = NULL;
46 module->t2_funcs.hints = NULL;
48 ps_hints_done( &module->ps_hints );
53 FT_CALLBACK_DEF( FT_Error )
54 ps_hinter_init( FT_Module module_ )
56 PS_Hinter_Module module = (PS_Hinter_Module)module_;
58 FT_Memory memory =
module->root.memory;
59 void* ph = &
module->ps_hints;
62 ps_hints_init( &module->ps_hints, memory );
64 psh_globals_funcs_init( &module->globals_funcs );
66 t1_hints_funcs_init( &module->t1_funcs );
67 module->t1_funcs.hints = (T1_Hints)ph;
69 t2_hints_funcs_init( &module->t2_funcs );
70 module->t2_funcs.hints = (T2_Hints)ph;
77 FT_CALLBACK_DEF( PSH_Globals_Funcs )
78 pshinter_get_globals_funcs( FT_Module module )
80 return &((PS_Hinter_Module)module)->globals_funcs;
85 FT_CALLBACK_DEF( T1_Hints_Funcs )
86 pshinter_get_t1_funcs( FT_Module module )
88 return &((PS_Hinter_Module)module)->t1_funcs;
93 FT_CALLBACK_DEF( T2_Hints_Funcs )
94 pshinter_get_t2_funcs( FT_Module module )
96 return &((PS_Hinter_Module)module)->t2_funcs;
100 FT_DEFINE_PSHINTER_INTERFACE(
103 pshinter_get_globals_funcs,
104 pshinter_get_t1_funcs,
105 pshinter_get_t2_funcs
110 pshinter_module_class,
113 sizeof ( PS_Hinter_ModuleRec ),
120 (FT_Module_Constructor)ps_hinter_init,
121 (FT_Module_Destructor) ps_hinter_done,
122 (FT_Module_Requester) NULL