Visualization Library 2.0.0-b5

A lightweight C++ OpenGL middleware for 2D/3D graphics

VL     Star     Watch     Fork     Issue

[Download] [Tutorials] [All Classes] [Grouped Classes]
pshmod.c
Go to the documentation of this file.
1 /***************************************************************************/
2 /* */
3 /* pshmod.c */
4 /* */
5 /* FreeType PostScript hinter module implementation (body). */
6 /* */
7 /* Copyright 2001, 2002, 2007, 2009, 2012 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 #include <ft2build.h>
20 #include FT_INTERNAL_OBJECTS_H
21 #include "pshrec.h"
22 #include "pshalgo.h"
23 #include "pshpic.h"
24 
25 
26  /* the Postscript Hinter module structure */
27  typedef struct PS_Hinter_Module_Rec_
28  {
30  PS_HintsRec ps_hints;
31 
32  PSH_Globals_FuncsRec globals_funcs;
33  T1_Hints_FuncsRec t1_funcs;
34  T2_Hints_FuncsRec t2_funcs;
35 
37 
38 
39  /* finalize module */
40  FT_CALLBACK_DEF( void )
42  {
43  module->t1_funcs.hints = NULL;
44  module->t2_funcs.hints = NULL;
45 
46  ps_hints_done( &module->ps_hints );
47  }
48 
49 
50  /* initialize module, create hints recorder and the interface */
53  {
54  FT_Memory memory = module->root.memory;
55  void* ph = &module->ps_hints;
56 
57 
58  ps_hints_init( &module->ps_hints, memory );
59 
60  psh_globals_funcs_init( &module->globals_funcs );
61 
62  t1_hints_funcs_init( &module->t1_funcs );
63  module->t1_funcs.hints = (T1_Hints)ph;
64 
65  t2_hints_funcs_init( &module->t2_funcs );
66  module->t2_funcs.hints = (T2_Hints)ph;
67 
68  return 0;
69  }
70 
71 
72  /* returns global hints interface */
75  {
76  return &((PS_Hinter_Module)module)->globals_funcs;
77  }
78 
79 
80  /* return Type 1 hints interface */
83  {
84  return &((PS_Hinter_Module)module)->t1_funcs;
85  }
86 
87 
88  /* return Type 2 hints interface */
91  {
92  return &((PS_Hinter_Module)module)->t2_funcs;
93  }
94 
95 
97  pshinter_interface,
101 
102 
104  pshinter_module_class,
105 
106  0,
107  sizeof ( PS_Hinter_ModuleRec ),
108  "pshinter",
109  0x10000L,
110  0x20000L,
111 
112  &PSHINTER_INTERFACE_GET, /* module-specific interface */
113 
116  (FT_Module_Requester) NULL ) /* no additional interface for now */
117 
118 
119 /* END */
int FT_Error
Definition: fttypes.h:296
FT_Error(* FT_Module_Constructor)(FT_Module module)
Definition: ftmodapi.h:121
pshinter_get_globals_funcs(FT_Module module)
Definition: pshmod.c:74
#define FT_DEFINE_MODULE( class_, flags_, size_, name_, version_, requires_, interface_, init_, done_, get_interface_)
Definition: ftobjs.h:1445
struct T2_HintsRec_ * T2_Hints
Definition: pshints.h:391
#define NULL
Definition: ftobjs.h:61
ps_hints_init(PS_Hints hints, FT_Memory memory)
Definition: pshrec.c:800
struct PS_Hinter_Module_Rec_ * PS_Hinter_Module
FT_Module_Interface(* FT_Module_Requester)(FT_Module module, const char *name)
Definition: ftmodapi.h:153
ps_hints_done(PS_Hints hints)
Definition: pshrec.c:786
local int root
Definition: enough.c:171
#define FT_CALLBACK_DEF(x)
Definition: ftconfig.h:323
#define PSHINTER_INTERFACE_GET
Definition: pshpic.h:30
pshinter_get_t1_funcs(FT_Module module)
Definition: pshmod.c:82
struct T1_HintsRec_ * T1_Hints
Definition: pshints.h:104
t2_hints_funcs_init(T2_Hints_FuncsRec *funcs)
Definition: pshrec.c:1211
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
Definition: ftsystem.h:66
psh_globals_funcs_init(PSH_Globals_FuncsRec *funcs)
Definition: pshglob.c:789
#define FT_DEFINE_PSHINTER_INTERFACE( class_, get_globals_funcs_, get_t1_funcs_, get_t2_funcs_)
Definition: pshints.h:685
t1_hints_funcs_init(T1_Hints_FuncsRec *funcs)
Definition: pshrec.c:1145
void(* FT_Module_Destructor)(FT_Module module)
Definition: ftmodapi.h:136
ps_hinter_init(PS_Hinter_Module module)
Definition: pshmod.c:52
ps_hinter_done(PS_Hinter_Module module)
Definition: pshmod.c:41
pshinter_get_t2_funcs(FT_Module module)
Definition: pshmod.c:90
struct PS_Hinter_Module_Rec_ PS_Hinter_ModuleRec