25 #include FT_TRIGONOMETRY_H
45 #define psh_hint_is_active( x ) ( ( (x)->flags & PSH_HINT_ACTIVE ) != 0 )
46 #define psh_hint_is_ghost( x ) ( ( (x)->flags & PSH_HINT_GHOST ) != 0 )
47 #define psh_hint_is_fitted( x ) ( ( (x)->flags & PSH_HINT_FITTED ) != 0 )
49 #define psh_hint_activate( x ) (x)->flags |= PSH_HINT_ACTIVE
50 #define psh_hint_deactivate( x ) (x)->flags &= ~PSH_HINT_ACTIVE
51 #define psh_hint_set_fitted( x ) (x)->flags |= PSH_HINT_FITTED
108 #define PSH_DIR_HORIZONTAL 2
109 #define PSH_DIR_VERTICAL 1
111 #define PSH_DIR_COMPARE( d1, d2 ) ( (d1) == (d2) || (d1) == -(d2) )
112 #define PSH_DIR_IS_HORIZONTAL( d ) PSH_DIR_COMPARE( d, PSH_DIR_HORIZONTAL )
113 #define PSH_DIR_IS_VERTICAL( d ) PSH_DIR_COMPARE( d, PSH_DIR_VERTICAL )
125 #define psh_point_is_smooth( p ) ( (p)->flags & PSH_POINT_SMOOTH )
126 #define psh_point_is_off( p ) ( (p)->flags & PSH_POINT_OFF )
127 #define psh_point_is_inflex( p ) ( (p)->flags & PSH_POINT_INFLEX )
129 #define psh_point_set_smooth( p ) (p)->flags |= PSH_POINT_SMOOTH
130 #define psh_point_set_off( p ) (p)->flags |= PSH_POINT_OFF
131 #define psh_point_set_inflex( p ) (p)->flags |= PSH_POINT_INFLEX
145 #define psh_point_is_strong( p ) ( (p)->flags2 & PSH_POINT_STRONG )
146 #define psh_point_is_fitted( p ) ( (p)->flags2 & PSH_POINT_FITTED )
147 #define psh_point_is_extremum( p ) ( (p)->flags2 & PSH_POINT_EXTREMUM )
148 #define psh_point_is_positive( p ) ( (p)->flags2 & PSH_POINT_POSITIVE )
149 #define psh_point_is_negative( p ) ( (p)->flags2 & PSH_POINT_NEGATIVE )
150 #define psh_point_is_edge_min( p ) ( (p)->flags2 & PSH_POINT_EDGE_MIN )
151 #define psh_point_is_edge_max( p ) ( (p)->flags2 & PSH_POINT_EDGE_MAX )
153 #define psh_point_set_strong( p ) (p)->flags2 |= PSH_POINT_STRONG
154 #define psh_point_set_fitted( p ) (p)->flags2 |= PSH_POINT_FITTED
155 #define psh_point_set_extremum( p ) (p)->flags2 |= PSH_POINT_EXTREMUM
156 #define psh_point_set_positive( p ) (p)->flags2 |= PSH_POINT_POSITIVE
157 #define psh_point_set_negative( p ) (p)->flags2 |= PSH_POINT_NEGATIVE
158 #define psh_point_set_edge_min( p ) (p)->flags2 |= PSH_POINT_EDGE_MIN
159 #define psh_point_set_edge_max( p ) (p)->flags2 |= PSH_POINT_EDGE_MAX
189 #define PSH_POINT_EQUAL_ORG( a, b ) ( (a)->org_u == (b)->org_u && \
190 (a)->org_v == (b)->org_v )
192 #define PSH_POINT_ANGLE( a, b ) FT_Atan2( (b)->org_u - (a)->org_u, \
193 (b)->org_v - (a)->org_v )
230 extern PSH_Hint_Table ps_debug_hint_table;
233 (*PSH_HintFunc)( PSH_Hint hint,
236 extern PSH_HintFunc ps_debug_hint_func;
238 extern PSH_Glyph ps_debug_glyph;
typedefFT_BEGIN_HEADER struct PSH_GlobalsRec_ * PSH_Globals
FT_BEGIN_HEADER typedef signed long FT_Pos
enum PSH_Hint_Flags_ PSH_Hint_Flags
struct PSH_Hint_TableRec_ * PSH_Hint_Table
GLvoid **typedef void(GLAPIENTRY *PFNGLGETVERTEXATTRIBDVPROC)(GLuint
enum FT_Render_Mode_ FT_Render_Mode
struct PSH_PointRec_ PSH_PointRec
struct PSH_ZoneRec_ PSH_ZoneRec
FT_BEGIN_HEADER typedef unsigned char FT_Bool
struct PSH_HintRec_ PSH_HintRec
struct PSH_ContourRec_ PSH_ContourRec
PSH_Hint_TableRec hint_tables[2]
typedefFT_BEGIN_HEADER struct PSH_HintRec_ * PSH_Hint
struct PSH_ZoneRec_ * PSH_Zone
FT_BEGIN_HEADER typedef FT_Fixed FT_Angle
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
struct PSH_PointRec_ * PSH_Point
FT_Error ps_hints_apply(PS_Hints ps_hints, FT_Outline *outline, PSH_Globals globals, FT_Render_Mode hint_mode)
PS_Mask_Table counter_masks
struct PSH_GlyphRec_ * PSH_Glyph
struct PSH_ContourRec_ * PSH_Contour
struct PSH_GlyphRec_ PSH_GlyphRec
struct PSH_Hint_TableRec_ PSH_Hint_TableRec