[FREETYPE] Update to v2.6.1. CORE-10378
[reactos.git] / reactos / lib / 3rdparty / freetype / include / freetype / ftmac.h
1 /***************************************************************************/
2 /* */
3 /* ftmac.h */
4 /* */
5 /* Additional Mac-specific API. */
6 /* */
7 /* Copyright 1996-2015 by */
8 /* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */
9 /* */
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 */
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
13 /* this file you indicate that you have read the license and */
14 /* understand and accept it fully. */
15 /* */
16 /***************************************************************************/
17
18
19 /***************************************************************************/
20 /* */
21 /* NOTE: Include this file after FT_FREETYPE_H and after any */
22 /* Mac-specific headers (because this header uses Mac types such as */
23 /* Handle, FSSpec, FSRef, etc.) */
24 /* */
25 /***************************************************************************/
26
27
28 #ifndef __FTMAC_H__
29 #define __FTMAC_H__
30
31
32 #include <ft2build.h>
33
34
35 FT_BEGIN_HEADER
36
37
38 /* gcc-3.4.1 and later can warn about functions tagged as deprecated */
39 #ifndef FT_DEPRECATED_ATTRIBUTE
40 #if defined(__GNUC__) && \
41 ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)))
42 #define FT_DEPRECATED_ATTRIBUTE __attribute__((deprecated))
43 #else
44 #define FT_DEPRECATED_ATTRIBUTE
45 #endif
46 #endif
47
48
49 /*************************************************************************/
50 /* */
51 /* <Section> */
52 /* mac_specific */
53 /* */
54 /* <Title> */
55 /* Mac Specific Interface */
56 /* */
57 /* <Abstract> */
58 /* Only available on the Macintosh. */
59 /* */
60 /* <Description> */
61 /* The following definitions are only available if FreeType is */
62 /* compiled on a Macintosh. */
63 /* */
64 /*************************************************************************/
65
66
67 /*************************************************************************/
68 /* */
69 /* <Function> */
70 /* FT_New_Face_From_FOND */
71 /* */
72 /* <Description> */
73 /* Create a new face object from a FOND resource. */
74 /* */
75 /* <InOut> */
76 /* library :: A handle to the library resource. */
77 /* */
78 /* <Input> */
79 /* fond :: A FOND resource. */
80 /* */
81 /* face_index :: Only supported for the -1 `sanity check' special */
82 /* case. */
83 /* */
84 /* <Output> */
85 /* aface :: A handle to a new face object. */
86 /* */
87 /* <Return> */
88 /* FreeType error code. 0~means success. */
89 /* */
90 /* <Notes> */
91 /* This function can be used to create @FT_Face objects from fonts */
92 /* that are installed in the system as follows. */
93 /* */
94 /* { */
95 /* fond = GetResource( 'FOND', fontName ); */
96 /* error = FT_New_Face_From_FOND( library, fond, 0, &face ); */
97 /* } */
98 /* */
99 FT_EXPORT( FT_Error )
100 FT_New_Face_From_FOND( FT_Library library,
101 Handle fond,
102 FT_Long face_index,
103 FT_Face *aface )
104 FT_DEPRECATED_ATTRIBUTE;
105
106
107 /*************************************************************************/
108 /* */
109 /* <Function> */
110 /* FT_GetFile_From_Mac_Name */
111 /* */
112 /* <Description> */
113 /* Return an FSSpec for the disk file containing the named font. */
114 /* */
115 /* <Input> */
116 /* fontName :: Mac OS name of the font (e.g., Times New Roman */
117 /* Bold). */
118 /* */
119 /* <Output> */
120 /* pathSpec :: FSSpec to the file. For passing to */
121 /* @FT_New_Face_From_FSSpec. */
122 /* */
123 /* face_index :: Index of the face. For passing to */
124 /* @FT_New_Face_From_FSSpec. */
125 /* */
126 /* <Return> */
127 /* FreeType error code. 0~means success. */
128 /* */
129 FT_EXPORT( FT_Error )
130 FT_GetFile_From_Mac_Name( const char* fontName,
131 FSSpec* pathSpec,
132 FT_Long* face_index )
133 FT_DEPRECATED_ATTRIBUTE;
134
135
136 /*************************************************************************/
137 /* */
138 /* <Function> */
139 /* FT_GetFile_From_Mac_ATS_Name */
140 /* */
141 /* <Description> */
142 /* Return an FSSpec for the disk file containing the named font. */
143 /* */
144 /* <Input> */
145 /* fontName :: Mac OS name of the font in ATS framework. */
146 /* */
147 /* <Output> */
148 /* pathSpec :: FSSpec to the file. For passing to */
149 /* @FT_New_Face_From_FSSpec. */
150 /* */
151 /* face_index :: Index of the face. For passing to */
152 /* @FT_New_Face_From_FSSpec. */
153 /* */
154 /* <Return> */
155 /* FreeType error code. 0~means success. */
156 /* */
157 FT_EXPORT( FT_Error )
158 FT_GetFile_From_Mac_ATS_Name( const char* fontName,
159 FSSpec* pathSpec,
160 FT_Long* face_index )
161 FT_DEPRECATED_ATTRIBUTE;
162
163
164 /*************************************************************************/
165 /* */
166 /* <Function> */
167 /* FT_GetFilePath_From_Mac_ATS_Name */
168 /* */
169 /* <Description> */
170 /* Return a pathname of the disk file and face index for given font */
171 /* name that is handled by ATS framework. */
172 /* */
173 /* <Input> */
174 /* fontName :: Mac OS name of the font in ATS framework. */
175 /* */
176 /* <Output> */
177 /* path :: Buffer to store pathname of the file. For passing */
178 /* to @FT_New_Face. The client must allocate this */
179 /* buffer before calling this function. */
180 /* */
181 /* maxPathSize :: Lengths of the buffer `path' that client allocated. */
182 /* */
183 /* face_index :: Index of the face. For passing to @FT_New_Face. */
184 /* */
185 /* <Return> */
186 /* FreeType error code. 0~means success. */
187 /* */
188 FT_EXPORT( FT_Error )
189 FT_GetFilePath_From_Mac_ATS_Name( const char* fontName,
190 UInt8* path,
191 UInt32 maxPathSize,
192 FT_Long* face_index )
193 FT_DEPRECATED_ATTRIBUTE;
194
195
196 /*************************************************************************/
197 /* */
198 /* <Function> */
199 /* FT_New_Face_From_FSSpec */
200 /* */
201 /* <Description> */
202 /* Create a new face object from a given resource and typeface index */
203 /* using an FSSpec to the font file. */
204 /* */
205 /* <InOut> */
206 /* library :: A handle to the library resource. */
207 /* */
208 /* <Input> */
209 /* spec :: FSSpec to the font file. */
210 /* */
211 /* face_index :: The index of the face within the resource. The */
212 /* first face has index~0. */
213 /* <Output> */
214 /* aface :: A handle to a new face object. */
215 /* */
216 /* <Return> */
217 /* FreeType error code. 0~means success. */
218 /* */
219 /* <Note> */
220 /* @FT_New_Face_From_FSSpec is identical to @FT_New_Face except */
221 /* it accepts an FSSpec instead of a path. */
222 /* */
223 FT_EXPORT( FT_Error )
224 FT_New_Face_From_FSSpec( FT_Library library,
225 const FSSpec *spec,
226 FT_Long face_index,
227 FT_Face *aface )
228 FT_DEPRECATED_ATTRIBUTE;
229
230
231 /*************************************************************************/
232 /* */
233 /* <Function> */
234 /* FT_New_Face_From_FSRef */
235 /* */
236 /* <Description> */
237 /* Create a new face object from a given resource and typeface index */
238 /* using an FSRef to the font file. */
239 /* */
240 /* <InOut> */
241 /* library :: A handle to the library resource. */
242 /* */
243 /* <Input> */
244 /* spec :: FSRef to the font file. */
245 /* */
246 /* face_index :: The index of the face within the resource. The */
247 /* first face has index~0. */
248 /* <Output> */
249 /* aface :: A handle to a new face object. */
250 /* */
251 /* <Return> */
252 /* FreeType error code. 0~means success. */
253 /* */
254 /* <Note> */
255 /* @FT_New_Face_From_FSRef is identical to @FT_New_Face except */
256 /* it accepts an FSRef instead of a path. */
257 /* */
258 FT_EXPORT( FT_Error )
259 FT_New_Face_From_FSRef( FT_Library library,
260 const FSRef *ref,
261 FT_Long face_index,
262 FT_Face *aface )
263 FT_DEPRECATED_ATTRIBUTE;
264
265 /* */
266
267
268 FT_END_HEADER
269
270
271 #endif /* __FTMAC_H__ */
272
273
274 /* END */