Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(296)

Side by Side Diff: include/freetype/ftcache.h

Issue 89753003: Update freetype to latest version of ASOP. (Closed) Base URL: https://chromium.googlesource.com/chromium/src/third_party/freetype.git@master
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « include/freetype/ftbitmap.h ('k') | include/freetype/ftcffdrv.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /***************************************************************************/ 1 /***************************************************************************/
2 /* */ 2 /* */
3 /* ftcache.h */ 3 /* ftcache.h */
4 /* */ 4 /* */
5 /* FreeType Cache subsystem (specification). */ 5 /* FreeType Cache subsystem (specification). */
6 /* */ 6 /* */
7 /* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 by */ 7 /* Copyright 1996-2008, 2010, 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 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 * transformation through @FT_Set_Transform! 207 * transformation through @FT_Set_Transform!
208 */ 208 */
209 typedef FT_Error 209 typedef FT_Error
210 (*FTC_Face_Requester)( FTC_FaceID face_id, 210 (*FTC_Face_Requester)( FTC_FaceID face_id,
211 FT_Library library, 211 FT_Library library,
212 FT_Pointer request_data, 212 FT_Pointer request_data,
213 FT_Face* aface ); 213 FT_Face* aface );
214 214
215 /* */ 215 /* */
216 216
217 #ifdef FT_CONFIG_OPTION_OLD_INTERNALS
218
219 /* these macros are incompatible with LLP64, should not be used */
220
221 #define FT_POINTER_TO_ULONG( p ) ( (FT_ULong)(FT_Pointer)(p) )
222
223 #define FTC_FACE_ID_HASH( i ) \
224 ((FT_UInt32)(( FT_POINTER_TO_ULONG( i ) >> 3 ) ^ \
225 ( FT_POINTER_TO_ULONG( i ) << 7 ) ) )
226
227 #endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
228 217
229 /*************************************************************************/ 218 /*************************************************************************/
230 /*************************************************************************/ 219 /*************************************************************************/
231 /*************************************************************************/ 220 /*************************************************************************/
232 /***** *****/ 221 /***** *****/
233 /***** CACHE MANAGER OBJECT *****/ 222 /***** CACHE MANAGER OBJECT *****/
234 /***** *****/ 223 /***** *****/
235 /*************************************************************************/ 224 /*************************************************************************/
236 /*************************************************************************/ 225 /*************************************************************************/
237 /*************************************************************************/ 226 /*************************************************************************/
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 /* aface :: A handle to the face object. */ 363 /* aface :: A handle to the face object. */
375 /* */ 364 /* */
376 /* <Return> */ 365 /* <Return> */
377 /* FreeType error code. 0~means success. */ 366 /* FreeType error code. 0~means success. */
378 /* */ 367 /* */
379 /* <Note> */ 368 /* <Note> */
380 /* The returned @FT_Face object is always owned by the manager. You */ 369 /* The returned @FT_Face object is always owned by the manager. You */
381 /* should never try to discard it yourself. */ 370 /* should never try to discard it yourself. */
382 /* */ 371 /* */
383 /* The @FT_Face object doesn't necessarily have a current size object */ 372 /* The @FT_Face object doesn't necessarily have a current size object */
384 /* (i.e., face->size can be 0). If you need a specific `font size', */ 373 /* (i.e., face->size can be~0). If you need a specific `font size', */
385 /* use @FTC_Manager_LookupSize instead. */ 374 /* use @FTC_Manager_LookupSize instead. */
386 /* */ 375 /* */
387 /* Never change the face's transformation matrix (i.e., never call */ 376 /* Never change the face's transformation matrix (i.e., never call */
388 /* the @FT_Set_Transform function) on a returned face! If you need */ 377 /* the @FT_Set_Transform function) on a returned face! If you need */
389 /* to transform glyphs, do it yourself after glyph loading. */ 378 /* to transform glyphs, do it yourself after glyph loading. */
390 /* */ 379 /* */
391 /* When you perform a lookup, out-of-memory errors are detected */ 380 /* When you perform a lookup, out-of-memory errors are detected */
392 /* _within_ the lookup and force incremental flushes of the cache */ 381 /* _within_ the lookup and force incremental flushes of the cache */
393 /* until enough memory is released for the lookup to succeed. */ 382 /* until enough memory is released for the lookup to succeed. */
394 /* */ 383 /* */
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
698 687
699 688
700 /* */ 689 /* */
701 690
702 691
703 #define FTC_IMAGE_TYPE_COMPARE( d1, d2 ) \ 692 #define FTC_IMAGE_TYPE_COMPARE( d1, d2 ) \
704 ( (d1)->face_id == (d2)->face_id && \ 693 ( (d1)->face_id == (d2)->face_id && \
705 (d1)->width == (d2)->width && \ 694 (d1)->width == (d2)->width && \
706 (d1)->flags == (d2)->flags ) 695 (d1)->flags == (d2)->flags )
707 696
708 #ifdef FT_CONFIG_OPTION_OLD_INTERNALS
709
710 /* this macro is incompatible with LLP64, should not be used */
711
712 #define FTC_IMAGE_TYPE_HASH( d ) \
713 (FT_UFast)( FTC_FACE_ID_HASH( (d)->face_id ) ^ \
714 ( (d)->width << 8 ) ^ (d)->height ^ \
715 ( (d)->flags << 4 ) )
716
717 #endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
718
719 697
720 /*************************************************************************/ 698 /*************************************************************************/
721 /* */ 699 /* */
722 /* <Type> */ 700 /* <Type> */
723 /* FTC_ImageCache */ 701 /* FTC_ImageCache */
724 /* */ 702 /* */
725 /* <Description> */ 703 /* <Description> */
726 /* A handle to an glyph image cache object. They are designed to */ 704 /* A handle to a glyph image cache object. They are designed to */
727 /* hold many distinct glyph images while not exceeding a certain */ 705 /* hold many distinct glyph images while not exceeding a certain */
728 /* memory threshold. */ 706 /* memory threshold. */
729 /* */ 707 /* */
730 typedef struct FTC_ImageCacheRec_* FTC_ImageCache; 708 typedef struct FTC_ImageCacheRec_* FTC_ImageCache;
731 709
732 710
733 /*************************************************************************/ 711 /*************************************************************************/
734 /* */ 712 /* */
735 /* <Function> */ 713 /* <Function> */
736 /* FTC_ImageCache_New */ 714 /* FTC_ImageCache_New */
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
1064 FTC_SBitCache_LookupScaler( FTC_SBitCache cache, 1042 FTC_SBitCache_LookupScaler( FTC_SBitCache cache,
1065 FTC_Scaler scaler, 1043 FTC_Scaler scaler,
1066 FT_ULong load_flags, 1044 FT_ULong load_flags,
1067 FT_UInt gindex, 1045 FT_UInt gindex,
1068 FTC_SBit *sbit, 1046 FTC_SBit *sbit,
1069 FTC_Node *anode ); 1047 FTC_Node *anode );
1070 1048
1071 1049
1072 /* */ 1050 /* */
1073 1051
1074 #ifdef FT_CONFIG_OPTION_OLD_INTERNALS
1075
1076 /*@***********************************************************************/
1077 /* */
1078 /* <Struct> */
1079 /* FTC_FontRec */
1080 /* */
1081 /* <Description> */
1082 /* A simple structure used to describe a given `font' to the cache */
1083 /* manager. Note that a `font' is the combination of a given face */
1084 /* with a given character size. */
1085 /* */
1086 /* <Fields> */
1087 /* face_id :: The ID of the face to use. */
1088 /* */
1089 /* pix_width :: The character width in integer pixels. */
1090 /* */
1091 /* pix_height :: The character height in integer pixels. */
1092 /* */
1093 typedef struct FTC_FontRec_
1094 {
1095 FTC_FaceID face_id;
1096 FT_UShort pix_width;
1097 FT_UShort pix_height;
1098
1099 } FTC_FontRec;
1100
1101
1102 /* */
1103
1104
1105 #define FTC_FONT_COMPARE( f1, f2 ) \
1106 ( (f1)->face_id == (f2)->face_id && \
1107 (f1)->pix_width == (f2)->pix_width && \
1108 (f1)->pix_height == (f2)->pix_height )
1109
1110 /* this macro is incompatible with LLP64, should not be used */
1111 #define FTC_FONT_HASH( f ) \
1112 (FT_UInt32)( FTC_FACE_ID_HASH((f)->face_id) ^ \
1113 ((f)->pix_width << 8) ^ \
1114 ((f)->pix_height) )
1115
1116 typedef FTC_FontRec* FTC_Font;
1117
1118
1119 FT_EXPORT( FT_Error )
1120 FTC_Manager_Lookup_Face( FTC_Manager manager,
1121 FTC_FaceID face_id,
1122 FT_Face *aface );
1123
1124 FT_EXPORT( FT_Error )
1125 FTC_Manager_Lookup_Size( FTC_Manager manager,
1126 FTC_Font font,
1127 FT_Face *aface,
1128 FT_Size *asize );
1129
1130 #endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
1131
1132
1133 /* */
1134
1135 FT_END_HEADER 1052 FT_END_HEADER
1136 1053
1137 #endif /* __FTCACHE_H__ */ 1054 #endif /* __FTCACHE_H__ */
1138 1055
1139 1056
1140 /* END */ 1057 /* END */
OLDNEW
« no previous file with comments | « include/freetype/ftbitmap.h ('k') | include/freetype/ftcffdrv.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698