PageRenderTime 19ms CodeModel.GetById 1ms app.highlight 13ms RepoModel.GetById 1ms app.codeStats 1ms

/src/freetype/include/freetype/ftmac.h

https://bitbucket.org/cabalistic/ogredeps/
C++ Header | 274 lines | 48 code | 31 blank | 195 comment | 4 complexity | 4a414ac19b1e0510293cdfbcb7ecdd9b MD5 | raw file
  1/***************************************************************************/
  2/*                                                                         */
  3/*  ftmac.h                                                                */
  4/*                                                                         */
  5/*    Additional Mac-specific API.                                         */
  6/*                                                                         */
  7/*  Copyright 1996-2001, 2004, 2006, 2007 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 <freetype/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
 35FT_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 which 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
268FT_END_HEADER
269
270
271#endif /* __FTMAC_H__ */
272
273
274/* END */