OLD | NEW |
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-2008, 2010, 2013 by */ | 7 /* Copyright 1996-2008, 2010, 2013, 2014 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 |
18 | 18 |
19 #ifndef __FTCACHE_H__ | 19 #ifndef __FTCACHE_H__ |
20 #define __FTCACHE_H__ | 20 #define __FTCACHE_H__ |
21 | 21 |
22 | 22 |
23 #include "../ft2build.h" | 23 #include <ft2build.h> |
24 #include "ftglyph.h" | 24 #include FT_GLYPH_H |
25 | 25 |
26 | 26 |
27 FT_BEGIN_HEADER | 27 FT_BEGIN_HEADER |
28 | 28 |
29 | 29 |
30 /************************************************************************* | 30 /************************************************************************* |
31 * | 31 * |
32 * <Section> | 32 * <Section> |
33 * cache_subsystem | 33 * cache_subsystem |
34 * | 34 * |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 * @description: | 149 * @description: |
150 * An opaque pointer type that is used to identity face objects. The | 150 * An opaque pointer type that is used to identity face objects. The |
151 * contents of such objects is application-dependent. | 151 * contents of such objects is application-dependent. |
152 * | 152 * |
153 * These pointers are typically used to point to a user-defined | 153 * These pointers are typically used to point to a user-defined |
154 * structure containing a font file path, and face index. | 154 * structure containing a font file path, and face index. |
155 * | 155 * |
156 * @note: | 156 * @note: |
157 * Never use NULL as a valid @FTC_FaceID. | 157 * Never use NULL as a valid @FTC_FaceID. |
158 * | 158 * |
159 * Face IDs are passed by the client to the cache manager, which calls, | 159 * Face IDs are passed by the client to the cache manager that calls, |
160 * when needed, the @FTC_Face_Requester to translate them into new | 160 * when needed, the @FTC_Face_Requester to translate them into new |
161 * @FT_Face objects. | 161 * @FT_Face objects. |
162 * | 162 * |
163 * If the content of a given face ID changes at runtime, or if the value | 163 * If the content of a given face ID changes at runtime, or if the value |
164 * becomes invalid (e.g., when uninstalling a font), you should | 164 * becomes invalid (e.g., when uninstalling a font), you should |
165 * immediately call @FTC_Manager_RemoveFaceID before any other cache | 165 * immediately call @FTC_Manager_RemoveFaceID before any other cache |
166 * function. | 166 * function. |
167 * | 167 * |
168 * Failure to do so will result in incorrect behaviour or even | 168 * Failure to do so will result in incorrect behaviour or even |
169 * memory leaks and crashes. | 169 * memory leaks and crashes. |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 * The third parameter `req_data' is the same as the one passed by the | 202 * The third parameter `req_data' is the same as the one passed by the |
203 * client when @FTC_Manager_New is called. | 203 * client when @FTC_Manager_New is called. |
204 * | 204 * |
205 * The face requester should not perform funny things on the returned | 205 * The face requester should not perform funny things on the returned |
206 * face object, like creating a new @FT_Size for it, or setting a | 206 * face object, like creating a new @FT_Size for it, or setting a |
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 req_data, |
213 FT_Face* aface ); | 213 FT_Face* aface ); |
214 | 214 |
215 /* */ | 215 /* */ |
216 | 216 |
217 | 217 |
218 /*************************************************************************/ | 218 /*************************************************************************/ |
219 /*************************************************************************/ | 219 /*************************************************************************/ |
220 /*************************************************************************/ | 220 /*************************************************************************/ |
221 /***** *****/ | 221 /***** *****/ |
222 /***** CACHE MANAGER OBJECT *****/ | 222 /***** CACHE MANAGER OBJECT *****/ |
223 /***** *****/ | 223 /***** *****/ |
224 /*************************************************************************/ | 224 /*************************************************************************/ |
225 /*************************************************************************/ | 225 /*************************************************************************/ |
(...skipping 813 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1039 /* is persistent! */ | 1039 /* is persistent! */ |
1040 /* */ | 1040 /* */ |
1041 FT_EXPORT( FT_Error ) | 1041 FT_EXPORT( FT_Error ) |
1042 FTC_SBitCache_LookupScaler( FTC_SBitCache cache, | 1042 FTC_SBitCache_LookupScaler( FTC_SBitCache cache, |
1043 FTC_Scaler scaler, | 1043 FTC_Scaler scaler, |
1044 FT_ULong load_flags, | 1044 FT_ULong load_flags, |
1045 FT_UInt gindex, | 1045 FT_UInt gindex, |
1046 FTC_SBit *sbit, | 1046 FTC_SBit *sbit, |
1047 FTC_Node *anode ); | 1047 FTC_Node *anode ); |
1048 | 1048 |
| 1049 /* */ |
1049 | 1050 |
1050 /* */ | |
1051 | 1051 |
1052 FT_END_HEADER | 1052 FT_END_HEADER |
1053 | 1053 |
1054 #endif /* __FTCACHE_H__ */ | 1054 #endif /* __FTCACHE_H__ */ |
1055 | 1055 |
1056 | 1056 |
1057 /* END */ | 1057 /* END */ |
OLD | NEW |