OLD | NEW |
1 /***************************************************************************/ | 1 /***************************************************************************/ |
2 /* */ | 2 /* */ |
3 /* fttypes.h */ | 3 /* fttypes.h */ |
4 /* */ | 4 /* */ |
5 /* FreeType simple types definitions (specification only). */ | 5 /* FreeType simple types definitions (specification only). */ |
6 /* */ | 6 /* */ |
7 /* Copyright 1996-2002, 2004, 2006-2009, 2012 by */ | 7 /* Copyright 1996-2002, 2004, 2006-2009, 2012, 2013 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 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 /* */ | 248 /* */ |
249 typedef unsigned long FT_ULong; | 249 typedef unsigned long FT_ULong; |
250 | 250 |
251 | 251 |
252 /*************************************************************************/ | 252 /*************************************************************************/ |
253 /* */ | 253 /* */ |
254 /* <Type> */ | 254 /* <Type> */ |
255 /* FT_F2Dot14 */ | 255 /* FT_F2Dot14 */ |
256 /* */ | 256 /* */ |
257 /* <Description> */ | 257 /* <Description> */ |
258 /* A signed 2.14 fixed float type used for unit vectors. */ | 258 /* A signed 2.14 fixed-point type used for unit vectors. */ |
259 /* */ | 259 /* */ |
260 typedef signed short FT_F2Dot14; | 260 typedef signed short FT_F2Dot14; |
261 | 261 |
262 | 262 |
263 /*************************************************************************/ | 263 /*************************************************************************/ |
264 /* */ | 264 /* */ |
265 /* <Type> */ | 265 /* <Type> */ |
266 /* FT_F26Dot6 */ | 266 /* FT_F26Dot6 */ |
267 /* */ | 267 /* */ |
268 /* <Description> */ | 268 /* <Description> */ |
269 /* A signed 26.6 fixed float type used for vectorial pixel */ | 269 /* A signed 26.6 fixed-point type used for vectorial pixel */ |
270 /* coordinates. */ | 270 /* coordinates. */ |
271 /* */ | 271 /* */ |
272 typedef signed long FT_F26Dot6; | 272 typedef signed long FT_F26Dot6; |
273 | 273 |
274 | 274 |
275 /*************************************************************************/ | 275 /*************************************************************************/ |
276 /* */ | 276 /* */ |
277 /* <Type> */ | 277 /* <Type> */ |
278 /* FT_Fixed */ | 278 /* FT_Fixed */ |
279 /* */ | 279 /* */ |
280 /* <Description> */ | 280 /* <Description> */ |
281 /* This type is used to store 16.16 fixed float values, like scaling */ | 281 /* This type is used to store 16.16 fixed-point values, like scaling */ |
282 /* values or matrix coefficients. */ | 282 /* values or matrix coefficients. */ |
283 /* */ | 283 /* */ |
284 typedef signed long FT_Fixed; | 284 typedef signed long FT_Fixed; |
285 | 285 |
286 | 286 |
287 /*************************************************************************/ | 287 /*************************************************************************/ |
288 /* */ | 288 /* */ |
289 /* <Type> */ | 289 /* <Type> */ |
290 /* FT_Error */ | 290 /* FT_Error */ |
291 /* */ | 291 /* */ |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 } FT_UnitVector; | 355 } FT_UnitVector; |
356 | 356 |
357 | 357 |
358 /*************************************************************************/ | 358 /*************************************************************************/ |
359 /* */ | 359 /* */ |
360 /* <Struct> */ | 360 /* <Struct> */ |
361 /* FT_Matrix */ | 361 /* FT_Matrix */ |
362 /* */ | 362 /* */ |
363 /* <Description> */ | 363 /* <Description> */ |
364 /* A simple structure used to store a 2x2 matrix. Coefficients are */ | 364 /* A simple structure used to store a 2x2 matrix. Coefficients are */ |
365 /* in 16.16 fixed float format. The computation performed is: */ | 365 /* in 16.16 fixed-point format. The computation performed is: */ |
366 /* */ | 366 /* */ |
367 /* { */ | 367 /* { */ |
368 /* x' = x*xx + y*xy */ | 368 /* x' = x*xx + y*xy */ |
369 /* y' = x*yx + y*yy */ | 369 /* y' = x*yx + y*yy */ |
370 /* } */ | 370 /* } */ |
371 /* */ | 371 /* */ |
372 /* <Fields> */ | 372 /* <Fields> */ |
373 /* xx :: Matrix coefficient. */ | 373 /* xx :: Matrix coefficient. */ |
374 /* */ | 374 /* */ |
375 /* xy :: Matrix coefficient. */ | 375 /* xy :: Matrix coefficient. */ |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
564 { | 564 { |
565 FT_ListNode head; | 565 FT_ListNode head; |
566 FT_ListNode tail; | 566 FT_ListNode tail; |
567 | 567 |
568 } FT_ListRec; | 568 } FT_ListRec; |
569 | 569 |
570 | 570 |
571 /* */ | 571 /* */ |
572 | 572 |
573 #define FT_IS_EMPTY( list ) ( (list).head == 0 ) | 573 #define FT_IS_EMPTY( list ) ( (list).head == 0 ) |
| 574 #define FT_BOOL( x ) ( (FT_Bool)( x ) ) |
574 | 575 |
575 /* return base error code (without module-specific prefix) */ | 576 /* concatenate C tokens */ |
| 577 #define FT_ERR_XCAT( x, y ) x ## y |
| 578 #define FT_ERR_CAT( x, y ) FT_ERR_XCAT( x, y ) |
| 579 |
| 580 /* see `ftmoderr.h' for descriptions of the following macros */ |
| 581 |
| 582 #define FT_ERR( e ) FT_ERR_CAT( FT_ERR_PREFIX, e ) |
| 583 |
576 #define FT_ERROR_BASE( x ) ( (x) & 0xFF ) | 584 #define FT_ERROR_BASE( x ) ( (x) & 0xFF ) |
577 | |
578 /* return module error code */ | |
579 #define FT_ERROR_MODULE( x ) ( (x) & 0xFF00U ) | 585 #define FT_ERROR_MODULE( x ) ( (x) & 0xFF00U ) |
580 | 586 |
581 #define FT_BOOL( x ) ( (FT_Bool)( x ) ) | 587 #define FT_ERR_EQ( x, e ) \ |
| 588 ( FT_ERROR_BASE( x ) == FT_ERROR_BASE( FT_ERR( e ) ) ) |
| 589 #define FT_ERR_NEQ( x, e ) \ |
| 590 ( FT_ERROR_BASE( x ) != FT_ERROR_BASE( FT_ERR( e ) ) ) |
| 591 |
582 | 592 |
583 FT_END_HEADER | 593 FT_END_HEADER |
584 | 594 |
585 #endif /* __FTTYPES_H__ */ | 595 #endif /* __FTTYPES_H__ */ |
586 | 596 |
587 | 597 |
588 /* END */ | 598 /* END */ |
OLD | NEW |