OLD | NEW |
1 /***************************************************************************/ | 1 /***************************************************************************/ |
2 /* */ | 2 /* */ |
3 /* ttobjs.h */ | 3 /* ttobjs.h */ |
4 /* */ | 4 /* */ |
5 /* Objects manager (specification). */ | 5 /* Objects manager (specification). */ |
6 /* */ | 6 /* */ |
7 /* Copyright 1996-2009, 2011-2014 by */ | 7 /* Copyright 1996-2015 by */ |
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ | 8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
9 /* */ | 9 /* */ |
10 /* This file is part of the FreeType project, and may only be used, */ | 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 */ | 11 /* modified, and distributed under the terms of the FreeType project */ |
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ | 12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
13 /* this file you indicate that you have read the license and */ | 13 /* this file you indicate that you have read the license and */ |
14 /* understand and accept it fully. */ | 14 /* understand and accept it fully. */ |
15 /* */ | 15 /* */ |
16 /***************************************************************************/ | 16 /***************************************************************************/ |
17 | 17 |
(...skipping 17 matching lines...) Expand all Loading... |
35 /* */ | 35 /* */ |
36 /* <Description> */ | 36 /* <Description> */ |
37 /* A handle to a TrueType driver object. */ | 37 /* A handle to a TrueType driver object. */ |
38 /* */ | 38 /* */ |
39 typedef struct TT_DriverRec_* TT_Driver; | 39 typedef struct TT_DriverRec_* TT_Driver; |
40 | 40 |
41 | 41 |
42 /*************************************************************************/ | 42 /*************************************************************************/ |
43 /* */ | 43 /* */ |
44 /* <Type> */ | 44 /* <Type> */ |
45 /* TT_Instance */ | |
46 /* */ | |
47 /* <Description> */ | |
48 /* A handle to a TrueType size object. */ | |
49 /* */ | |
50 typedef struct TT_SizeRec_* TT_Size; | |
51 | |
52 | |
53 /*************************************************************************/ | |
54 /* */ | |
55 /* <Type> */ | |
56 /* TT_GlyphSlot */ | 45 /* TT_GlyphSlot */ |
57 /* */ | 46 /* */ |
58 /* <Description> */ | 47 /* <Description> */ |
59 /* A handle to a TrueType glyph slot object. */ | 48 /* A handle to a TrueType glyph slot object. */ |
60 /* */ | 49 /* */ |
61 /* <Note> */ | 50 /* <Note> */ |
62 /* This is a direct typedef of FT_GlyphSlot, as there is nothing */ | 51 /* This is a direct typedef of FT_GlyphSlot, as there is nothing */ |
63 /* specific about the TrueType glyph slot. */ | 52 /* specific about the TrueType glyph slot. */ |
64 /* */ | 53 /* */ |
65 typedef FT_GlyphSlot TT_GlyphSlot; | 54 typedef FT_GlyphSlot TT_GlyphSlot; |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 tt_coderange_font, | 142 tt_coderange_font, |
154 tt_coderange_cvt, | 143 tt_coderange_cvt, |
155 tt_coderange_glyph | 144 tt_coderange_glyph |
156 | 145 |
157 } TT_CodeRange_Tag; | 146 } TT_CodeRange_Tag; |
158 | 147 |
159 | 148 |
160 typedef struct TT_CodeRange_ | 149 typedef struct TT_CodeRange_ |
161 { | 150 { |
162 FT_Byte* base; | 151 FT_Byte* base; |
163 FT_ULong size; | 152 FT_Long size; |
164 | 153 |
165 } TT_CodeRange; | 154 } TT_CodeRange; |
166 | 155 |
167 typedef TT_CodeRange TT_CodeRangeTable[TT_MAX_CODE_RANGES]; | 156 typedef TT_CodeRange TT_CodeRangeTable[TT_MAX_CODE_RANGES]; |
168 | 157 |
169 | 158 |
170 /*************************************************************************/ | 159 /*************************************************************************/ |
171 /* */ | 160 /* */ |
172 /* Defines a function/instruction definition record. */ | 161 /* Defines a function/instruction definition record. */ |
173 /* */ | 162 /* */ |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 TT_GraphicsState GS; | 306 TT_GraphicsState GS; |
318 | 307 |
319 FT_ULong cvt_size; /* the scaled control value table */ | 308 FT_ULong cvt_size; /* the scaled control value table */ |
320 FT_Long* cvt; | 309 FT_Long* cvt; |
321 | 310 |
322 FT_UShort storage_size; /* The storage area is now part of */ | 311 FT_UShort storage_size; /* The storage area is now part of */ |
323 FT_Long* storage; /* the instance */ | 312 FT_Long* storage; /* the instance */ |
324 | 313 |
325 TT_GlyphZoneRec twilight; /* The instance's twilight zone */ | 314 TT_GlyphZoneRec twilight; /* The instance's twilight zone */ |
326 | 315 |
327 /* debugging variables */ | |
328 | |
329 /* When using the debugger, we must keep the */ | |
330 /* execution context tied to the instance */ | |
331 /* object rather than asking it on demand. */ | |
332 | |
333 FT_Bool debug; | |
334 TT_ExecContext context; | 316 TT_ExecContext context; |
335 | 317 |
336 /* if negative, `fpgm' (resp. `prep'), wasn't executed yet; */ | 318 /* if negative, `fpgm' (resp. `prep'), wasn't executed yet; */ |
337 /* otherwise it is the returned error code */ | 319 /* otherwise it is the returned error code */ |
338 FT_Error bytecode_ready; | 320 FT_Error bytecode_ready; |
339 FT_Error cvt_ready; | 321 FT_Error cvt_ready; |
340 | 322 |
341 #endif /* TT_USE_BYTECODE_INTERPRETER */ | 323 #endif /* TT_USE_BYTECODE_INTERPRETER */ |
342 | 324 |
343 } TT_SizeRec; | 325 } TT_SizeRec; |
344 | 326 |
345 | 327 |
346 /*************************************************************************/ | 328 /*************************************************************************/ |
347 /* */ | 329 /* */ |
348 /* TrueType driver class. */ | 330 /* TrueType driver class. */ |
349 /* */ | 331 /* */ |
350 typedef struct TT_DriverRec_ | 332 typedef struct TT_DriverRec_ |
351 { | 333 { |
352 FT_DriverRec root; | 334 FT_DriverRec root; |
353 | 335 |
354 TT_ExecContext context; /* execution context */ | |
355 TT_GlyphZoneRec zone; /* glyph loader points zone */ | 336 TT_GlyphZoneRec zone; /* glyph loader points zone */ |
356 | 337 |
357 FT_UInt interpreter_version; | 338 FT_UInt interpreter_version; |
358 | 339 |
359 } TT_DriverRec; | 340 } TT_DriverRec; |
360 | 341 |
361 | 342 |
362 /* Note: All of the functions below (except tt_size_reset()) are used */ | 343 /* Note: All of the functions below (except tt_size_reset()) are used */ |
363 /* as function pointers in a FT_Driver_ClassRec. Therefore their */ | 344 /* as function pointers in a FT_Driver_ClassRec. Therefore their */ |
364 /* parameters are of types FT_Face, FT_Size, etc., rather than TT_Face, */ | 345 /* parameters are of types FT_Face, FT_Size, etc., rather than TT_Face, */ |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
435 /* auxiliary */ | 416 /* auxiliary */ |
436 #define IS_HINTED( flags ) ( ( flags & FT_LOAD_NO_HINTING ) == 0 ) | 417 #define IS_HINTED( flags ) ( ( flags & FT_LOAD_NO_HINTING ) == 0 ) |
437 | 418 |
438 | 419 |
439 FT_END_HEADER | 420 FT_END_HEADER |
440 | 421 |
441 #endif /* __TTOBJS_H__ */ | 422 #endif /* __TTOBJS_H__ */ |
442 | 423 |
443 | 424 |
444 /* END */ | 425 /* END */ |
OLD | NEW |