summaryrefslogtreecommitdiffstats
path: root/thirdparties/common/include/libfreetype/freetype2/freetype/fttypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparties/common/include/libfreetype/freetype2/freetype/fttypes.h')
-rwxr-xr-xthirdparties/common/include/libfreetype/freetype2/freetype/fttypes.h1016
1 files changed, 505 insertions, 511 deletions
diff --git a/thirdparties/common/include/libfreetype/freetype2/freetype/fttypes.h b/thirdparties/common/include/libfreetype/freetype2/freetype/fttypes.h
index 027e59c..ee7b808 100755
--- a/thirdparties/common/include/libfreetype/freetype2/freetype/fttypes.h
+++ b/thirdparties/common/include/libfreetype/freetype2/freetype/fttypes.h
@@ -31,448 +31,444 @@
FT_BEGIN_HEADER
- /*************************************************************************/
- /* */
- /* <Section> */
- /* basic_types */
- /* */
- /* <Title> */
- /* Basic Data Types */
- /* */
- /* <Abstract> */
- /* The basic data types defined by the library. */
- /* */
- /* <Description> */
- /* This section contains the basic data types defined by FreeType~2, */
- /* ranging from simple scalar types to bitmap descriptors. More */
- /* font-specific structures are defined in a different section. */
- /* */
- /* <Order> */
- /* FT_Byte */
- /* FT_Bytes */
- /* FT_Char */
- /* FT_Int */
- /* FT_UInt */
- /* FT_Int16 */
- /* FT_UInt16 */
- /* FT_Int32 */
- /* FT_UInt32 */
- /* FT_Short */
- /* FT_UShort */
- /* FT_Long */
- /* FT_ULong */
- /* FT_Bool */
- /* FT_Offset */
- /* FT_PtrDist */
- /* FT_String */
- /* FT_Tag */
- /* FT_Error */
- /* FT_Fixed */
- /* FT_Pointer */
- /* FT_Pos */
- /* FT_Vector */
- /* FT_BBox */
- /* FT_Matrix */
- /* FT_FWord */
- /* FT_UFWord */
- /* FT_F2Dot14 */
- /* FT_UnitVector */
- /* FT_F26Dot6 */
- /* */
- /* */
- /* FT_Generic */
- /* FT_Generic_Finalizer */
- /* */
- /* FT_Bitmap */
- /* FT_Pixel_Mode */
- /* FT_Palette_Mode */
- /* FT_Glyph_Format */
- /* FT_IMAGE_TAG */
- /* */
- /*************************************************************************/
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_Bool */
- /* */
- /* <Description> */
- /* A typedef of unsigned char, used for simple booleans. As usual, */
- /* values 1 and~0 represent true and false, respectively. */
- /* */
- typedef unsigned char FT_Bool;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_FWord */
- /* */
- /* <Description> */
- /* A signed 16-bit integer used to store a distance in original font */
- /* units. */
- /* */
- typedef signed short FT_FWord; /* distance in FUnits */
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_UFWord */
- /* */
- /* <Description> */
- /* An unsigned 16-bit integer used to store a distance in original */
- /* font units. */
- /* */
- typedef unsigned short FT_UFWord; /* unsigned distance */
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_Char */
- /* */
- /* <Description> */
- /* A simple typedef for the _signed_ char type. */
- /* */
- typedef signed char FT_Char;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_Byte */
- /* */
- /* <Description> */
- /* A simple typedef for the _unsigned_ char type. */
- /* */
- typedef unsigned char FT_Byte;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_Bytes */
- /* */
- /* <Description> */
- /* A typedef for constant memory areas. */
- /* */
- typedef const FT_Byte* FT_Bytes;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_Tag */
- /* */
- /* <Description> */
- /* A typedef for 32-bit tags (as used in the SFNT format). */
- /* */
- typedef FT_UInt32 FT_Tag;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_String */
- /* */
- /* <Description> */
- /* A simple typedef for the char type, usually used for strings. */
- /* */
- typedef char FT_String;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_Short */
- /* */
- /* <Description> */
- /* A typedef for signed short. */
- /* */
- typedef signed short FT_Short;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_UShort */
- /* */
- /* <Description> */
- /* A typedef for unsigned short. */
- /* */
- typedef unsigned short FT_UShort;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_Int */
- /* */
- /* <Description> */
- /* A typedef for the int type. */
- /* */
- typedef signed int FT_Int;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_UInt */
- /* */
- /* <Description> */
- /* A typedef for the unsigned int type. */
- /* */
- typedef unsigned int FT_UInt;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_Long */
- /* */
- /* <Description> */
- /* A typedef for signed long. */
- /* */
- typedef signed long FT_Long;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_ULong */
- /* */
- /* <Description> */
- /* A typedef for unsigned long. */
- /* */
- typedef unsigned long FT_ULong;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_F2Dot14 */
- /* */
- /* <Description> */
- /* A signed 2.14 fixed-point type used for unit vectors. */
- /* */
- typedef signed short FT_F2Dot14;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_F26Dot6 */
- /* */
- /* <Description> */
- /* A signed 26.6 fixed-point type used for vectorial pixel */
- /* coordinates. */
- /* */
- typedef signed long FT_F26Dot6;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_Fixed */
- /* */
- /* <Description> */
- /* This type is used to store 16.16 fixed-point values, like scaling */
- /* values or matrix coefficients. */
- /* */
- typedef signed long FT_Fixed;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_Error */
- /* */
- /* <Description> */
- /* The FreeType error code type. A value of~0 is always interpreted */
- /* as a successful operation. */
- /* */
- typedef int FT_Error;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_Pointer */
- /* */
- /* <Description> */
- /* A simple typedef for a typeless pointer. */
- /* */
- typedef void* FT_Pointer;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_Offset */
- /* */
- /* <Description> */
- /* This is equivalent to the ANSI~C `size_t' type, i.e., the largest */
- /* _unsigned_ integer type used to express a file size or position, */
- /* or a memory block size. */
- /* */
- typedef size_t FT_Offset;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_PtrDist */
- /* */
- /* <Description> */
- /* This is equivalent to the ANSI~C `ptrdiff_t' type, i.e., the */
- /* largest _signed_ integer type used to express the distance */
- /* between two pointers. */
- /* */
- typedef ft_ptrdiff_t FT_PtrDist;
-
-
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* FT_UnitVector */
- /* */
- /* <Description> */
- /* A simple structure used to store a 2D vector unit vector. Uses */
- /* FT_F2Dot14 types. */
- /* */
- /* <Fields> */
- /* x :: Horizontal coordinate. */
- /* */
- /* y :: Vertical coordinate. */
- /* */
- typedef struct FT_UnitVector_
- {
+/*************************************************************************/
+/* */
+/* <Section> */
+/* basic_types */
+/* */
+/* <Title> */
+/* Basic Data Types */
+/* */
+/* <Abstract> */
+/* The basic data types defined by the library. */
+/* */
+/* <Description> */
+/* This section contains the basic data types defined by FreeType~2, */
+/* ranging from simple scalar types to bitmap descriptors. More */
+/* font-specific structures are defined in a different section. */
+/* */
+/* <Order> */
+/* FT_Byte */
+/* FT_Bytes */
+/* FT_Char */
+/* FT_Int */
+/* FT_UInt */
+/* FT_Int16 */
+/* FT_UInt16 */
+/* FT_Int32 */
+/* FT_UInt32 */
+/* FT_Short */
+/* FT_UShort */
+/* FT_Long */
+/* FT_ULong */
+/* FT_Bool */
+/* FT_Offset */
+/* FT_PtrDist */
+/* FT_String */
+/* FT_Tag */
+/* FT_Error */
+/* FT_Fixed */
+/* FT_Pointer */
+/* FT_Pos */
+/* FT_Vector */
+/* FT_BBox */
+/* FT_Matrix */
+/* FT_FWord */
+/* FT_UFWord */
+/* FT_F2Dot14 */
+/* FT_UnitVector */
+/* FT_F26Dot6 */
+/* */
+/* */
+/* FT_Generic */
+/* FT_Generic_Finalizer */
+/* */
+/* FT_Bitmap */
+/* FT_Pixel_Mode */
+/* FT_Palette_Mode */
+/* FT_Glyph_Format */
+/* FT_IMAGE_TAG */
+/* */
+/*************************************************************************/
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_Bool */
+/* */
+/* <Description> */
+/* A typedef of unsigned char, used for simple booleans. As usual, */
+/* values 1 and~0 represent true and false, respectively. */
+/* */
+typedef unsigned char FT_Bool;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_FWord */
+/* */
+/* <Description> */
+/* A signed 16-bit integer used to store a distance in original font */
+/* units. */
+/* */
+typedef signed short FT_FWord; /* distance in FUnits */
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_UFWord */
+/* */
+/* <Description> */
+/* An unsigned 16-bit integer used to store a distance in original */
+/* font units. */
+/* */
+typedef unsigned short FT_UFWord; /* unsigned distance */
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_Char */
+/* */
+/* <Description> */
+/* A simple typedef for the _signed_ char type. */
+/* */
+typedef signed char FT_Char;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_Byte */
+/* */
+/* <Description> */
+/* A simple typedef for the _unsigned_ char type. */
+/* */
+typedef unsigned char FT_Byte;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_Bytes */
+/* */
+/* <Description> */
+/* A typedef for constant memory areas. */
+/* */
+typedef const FT_Byte* FT_Bytes;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_Tag */
+/* */
+/* <Description> */
+/* A typedef for 32-bit tags (as used in the SFNT format). */
+/* */
+typedef FT_UInt32 FT_Tag;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_String */
+/* */
+/* <Description> */
+/* A simple typedef for the char type, usually used for strings. */
+/* */
+typedef char FT_String;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_Short */
+/* */
+/* <Description> */
+/* A typedef for signed short. */
+/* */
+typedef signed short FT_Short;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_UShort */
+/* */
+/* <Description> */
+/* A typedef for unsigned short. */
+/* */
+typedef unsigned short FT_UShort;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_Int */
+/* */
+/* <Description> */
+/* A typedef for the int type. */
+/* */
+typedef signed int FT_Int;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_UInt */
+/* */
+/* <Description> */
+/* A typedef for the unsigned int type. */
+/* */
+typedef unsigned int FT_UInt;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_Long */
+/* */
+/* <Description> */
+/* A typedef for signed long. */
+/* */
+typedef signed long FT_Long;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_ULong */
+/* */
+/* <Description> */
+/* A typedef for unsigned long. */
+/* */
+typedef unsigned long FT_ULong;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_F2Dot14 */
+/* */
+/* <Description> */
+/* A signed 2.14 fixed-point type used for unit vectors. */
+/* */
+typedef signed short FT_F2Dot14;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_F26Dot6 */
+/* */
+/* <Description> */
+/* A signed 26.6 fixed-point type used for vectorial pixel */
+/* coordinates. */
+/* */
+typedef signed long FT_F26Dot6;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_Fixed */
+/* */
+/* <Description> */
+/* This type is used to store 16.16 fixed-point values, like scaling */
+/* values or matrix coefficients. */
+/* */
+typedef signed long FT_Fixed;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_Error */
+/* */
+/* <Description> */
+/* The FreeType error code type. A value of~0 is always interpreted */
+/* as a successful operation. */
+/* */
+typedef int FT_Error;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_Pointer */
+/* */
+/* <Description> */
+/* A simple typedef for a typeless pointer. */
+/* */
+typedef void* FT_Pointer;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_Offset */
+/* */
+/* <Description> */
+/* This is equivalent to the ANSI~C `size_t' type, i.e., the largest */
+/* _unsigned_ integer type used to express a file size or position, */
+/* or a memory block size. */
+/* */
+typedef size_t FT_Offset;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_PtrDist */
+/* */
+/* <Description> */
+/* This is equivalent to the ANSI~C `ptrdiff_t' type, i.e., the */
+/* largest _signed_ integer type used to express the distance */
+/* between two pointers. */
+/* */
+typedef ft_ptrdiff_t FT_PtrDist;
+
+
+/*************************************************************************/
+/* */
+/* <Struct> */
+/* FT_UnitVector */
+/* */
+/* <Description> */
+/* A simple structure used to store a 2D vector unit vector. Uses */
+/* FT_F2Dot14 types. */
+/* */
+/* <Fields> */
+/* x :: Horizontal coordinate. */
+/* */
+/* y :: Vertical coordinate. */
+/* */
+typedef struct FT_UnitVector_ {
FT_F2Dot14 x;
FT_F2Dot14 y;
- } FT_UnitVector;
-
-
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* FT_Matrix */
- /* */
- /* <Description> */
- /* A simple structure used to store a 2x2 matrix. Coefficients are */
- /* in 16.16 fixed-point format. The computation performed is: */
- /* */
- /* { */
- /* x' = x*xx + y*xy */
- /* y' = x*yx + y*yy */
- /* } */
- /* */
- /* <Fields> */
- /* xx :: Matrix coefficient. */
- /* */
- /* xy :: Matrix coefficient. */
- /* */
- /* yx :: Matrix coefficient. */
- /* */
- /* yy :: Matrix coefficient. */
- /* */
- typedef struct FT_Matrix_
- {
+} FT_UnitVector;
+
+
+/*************************************************************************/
+/* */
+/* <Struct> */
+/* FT_Matrix */
+/* */
+/* <Description> */
+/* A simple structure used to store a 2x2 matrix. Coefficients are */
+/* in 16.16 fixed-point format. The computation performed is: */
+/* */
+/* { */
+/* x' = x*xx + y*xy */
+/* y' = x*yx + y*yy */
+/* } */
+/* */
+/* <Fields> */
+/* xx :: Matrix coefficient. */
+/* */
+/* xy :: Matrix coefficient. */
+/* */
+/* yx :: Matrix coefficient. */
+/* */
+/* yy :: Matrix coefficient. */
+/* */
+typedef struct FT_Matrix_ {
FT_Fixed xx, xy;
FT_Fixed yx, yy;
- } FT_Matrix;
-
-
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* FT_Data */
- /* */
- /* <Description> */
- /* Read-only binary data represented as a pointer and a length. */
- /* */
- /* <Fields> */
- /* pointer :: The data. */
- /* */
- /* length :: The length of the data in bytes. */
- /* */
- typedef struct FT_Data_
- {
+} FT_Matrix;
+
+
+/*************************************************************************/
+/* */
+/* <Struct> */
+/* FT_Data */
+/* */
+/* <Description> */
+/* Read-only binary data represented as a pointer and a length. */
+/* */
+/* <Fields> */
+/* pointer :: The data. */
+/* */
+/* length :: The length of the data in bytes. */
+/* */
+typedef struct FT_Data_ {
const FT_Byte* pointer;
FT_Int length;
- } FT_Data;
-
-
- /*************************************************************************/
- /* */
- /* <FuncType> */
- /* FT_Generic_Finalizer */
- /* */
- /* <Description> */
- /* Describe a function used to destroy the `client' data of any */
- /* FreeType object. See the description of the @FT_Generic type for */
- /* details of usage. */
- /* */
- /* <Input> */
- /* The address of the FreeType object which is under finalization. */
- /* Its client data is accessed through its `generic' field. */
- /* */
- typedef void (*FT_Generic_Finalizer)(void* object);
-
-
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* FT_Generic */
- /* */
- /* <Description> */
- /* Client applications often need to associate their own data to a */
- /* variety of FreeType core objects. For example, a text layout API */
- /* might want to associate a glyph cache to a given size object. */
- /* */
- /* Some FreeType object contains a `generic' field, of type */
- /* FT_Generic, which usage is left to client applications and font */
- /* servers. */
- /* */
- /* It can be used to store a pointer to client-specific data, as well */
- /* as the address of a `finalizer' function, which will be called by */
- /* FreeType when the object is destroyed (for example, the previous */
- /* client example would put the address of the glyph cache destructor */
- /* in the `finalizer' field). */
- /* */
- /* <Fields> */
- /* data :: A typeless pointer to any client-specified data. This */
- /* field is completely ignored by the FreeType library. */
- /* */
- /* finalizer :: A pointer to a `generic finalizer' function, which */
- /* will be called when the object is destroyed. If this */
- /* field is set to NULL, no code will be called. */
- /* */
- typedef struct FT_Generic_
- {
+} FT_Data;
+
+
+/*************************************************************************/
+/* */
+/* <FuncType> */
+/* FT_Generic_Finalizer */
+/* */
+/* <Description> */
+/* Describe a function used to destroy the `client' data of any */
+/* FreeType object. See the description of the @FT_Generic type for */
+/* details of usage. */
+/* */
+/* <Input> */
+/* The address of the FreeType object which is under finalization. */
+/* Its client data is accessed through its `generic' field. */
+/* */
+typedef void (*FT_Generic_Finalizer)(void* object);
+
+
+/*************************************************************************/
+/* */
+/* <Struct> */
+/* FT_Generic */
+/* */
+/* <Description> */
+/* Client applications often need to associate their own data to a */
+/* variety of FreeType core objects. For example, a text layout API */
+/* might want to associate a glyph cache to a given size object. */
+/* */
+/* Some FreeType object contains a `generic' field, of type */
+/* FT_Generic, which usage is left to client applications and font */
+/* servers. */
+/* */
+/* It can be used to store a pointer to client-specific data, as well */
+/* as the address of a `finalizer' function, which will be called by */
+/* FreeType when the object is destroyed (for example, the previous */
+/* client example would put the address of the glyph cache destructor */
+/* in the `finalizer' field). */
+/* */
+/* <Fields> */
+/* data :: A typeless pointer to any client-specified data. This */
+/* field is completely ignored by the FreeType library. */
+/* */
+/* finalizer :: A pointer to a `generic finalizer' function, which */
+/* will be called when the object is destroyed. If this */
+/* field is set to NULL, no code will be called. */
+/* */
+typedef struct FT_Generic_ {
void* data;
FT_Generic_Finalizer finalizer;
- } FT_Generic;
-
-
- /*************************************************************************/
- /* */
- /* <Macro> */
- /* FT_MAKE_TAG */
- /* */
- /* <Description> */
- /* This macro converts four-letter tags which are used to label */
- /* TrueType tables into an unsigned long to be used within FreeType. */
- /* */
- /* <Note> */
- /* The produced values *must* be 32-bit integers. Don't redefine */
- /* this macro. */
- /* */
+} FT_Generic;
+
+
+/*************************************************************************/
+/* */
+/* <Macro> */
+/* FT_MAKE_TAG */
+/* */
+/* <Description> */
+/* This macro converts four-letter tags which are used to label */
+/* TrueType tables into an unsigned long to be used within FreeType. */
+/* */
+/* <Note> */
+/* The produced values *must* be 32-bit integers. Don't redefine */
+/* this macro. */
+/* */
#define FT_MAKE_TAG( _x1, _x2, _x3, _x4 ) \
(FT_Tag) \
( ( (FT_ULong)_x1 << 24 ) | \
@@ -481,103 +477,101 @@ FT_BEGIN_HEADER
(FT_ULong)_x4 )
- /*************************************************************************/
- /*************************************************************************/
- /* */
- /* L I S T M A N A G E M E N T */
- /* */
- /*************************************************************************/
- /*************************************************************************/
-
-
- /*************************************************************************/
- /* */
- /* <Section> */
- /* list_processing */
- /* */
- /*************************************************************************/
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_ListNode */
- /* */
- /* <Description> */
- /* Many elements and objects in FreeType are listed through an */
- /* @FT_List record (see @FT_ListRec). As its name suggests, an */
- /* FT_ListNode is a handle to a single list element. */
- /* */
- typedef struct FT_ListNodeRec_* FT_ListNode;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_List */
- /* */
- /* <Description> */
- /* A handle to a list record (see @FT_ListRec). */
- /* */
- typedef struct FT_ListRec_* FT_List;
-
-
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* FT_ListNodeRec */
- /* */
- /* <Description> */
- /* A structure used to hold a single list element. */
- /* */
- /* <Fields> */
- /* prev :: The previous element in the list. NULL if first. */
- /* */
- /* next :: The next element in the list. NULL if last. */
- /* */
- /* data :: A typeless pointer to the listed object. */
- /* */
- typedef struct FT_ListNodeRec_
- {
+/*************************************************************************/
+/*************************************************************************/
+/* */
+/* L I S T M A N A G E M E N T */
+/* */
+/*************************************************************************/
+/*************************************************************************/
+
+
+/*************************************************************************/
+/* */
+/* <Section> */
+/* list_processing */
+/* */
+/*************************************************************************/
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_ListNode */
+/* */
+/* <Description> */
+/* Many elements and objects in FreeType are listed through an */
+/* @FT_List record (see @FT_ListRec). As its name suggests, an */
+/* FT_ListNode is a handle to a single list element. */
+/* */
+typedef struct FT_ListNodeRec_* FT_ListNode;
+
+
+/*************************************************************************/
+/* */
+/* <Type> */
+/* FT_List */
+/* */
+/* <Description> */
+/* A handle to a list record (see @FT_ListRec). */
+/* */
+typedef struct FT_ListRec_* FT_List;
+
+
+/*************************************************************************/
+/* */
+/* <Struct> */
+/* FT_ListNodeRec */
+/* */
+/* <Description> */
+/* A structure used to hold a single list element. */
+/* */
+/* <Fields> */
+/* prev :: The previous element in the list. NULL if first. */
+/* */
+/* next :: The next element in the list. NULL if last. */
+/* */
+/* data :: A typeless pointer to the listed object. */
+/* */
+typedef struct FT_ListNodeRec_ {
FT_ListNode prev;
FT_ListNode next;
void* data;
- } FT_ListNodeRec;
-
-
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* FT_ListRec */
- /* */
- /* <Description> */
- /* A structure used to hold a simple doubly-linked list. These are */
- /* used in many parts of FreeType. */
- /* */
- /* <Fields> */
- /* head :: The head (first element) of doubly-linked list. */
- /* */
- /* tail :: The tail (last element) of doubly-linked list. */
- /* */
- typedef struct FT_ListRec_
- {
+} FT_ListNodeRec;
+
+
+/*************************************************************************/
+/* */
+/* <Struct> */
+/* FT_ListRec */
+/* */
+/* <Description> */
+/* A structure used to hold a simple doubly-linked list. These are */
+/* used in many parts of FreeType. */
+/* */
+/* <Fields> */
+/* head :: The head (first element) of doubly-linked list. */
+/* */
+/* tail :: The tail (last element) of doubly-linked list. */
+/* */
+typedef struct FT_ListRec_ {
FT_ListNode head;
FT_ListNode tail;
- } FT_ListRec;
+} FT_ListRec;
- /* */
+/* */
#define FT_IS_EMPTY( list ) ( (list).head == 0 )
#define FT_BOOL( x ) ( (FT_Bool)( x ) )
- /* concatenate C tokens */
+/* concatenate C tokens */
#define FT_ERR_XCAT( x, y ) x ## y
#define FT_ERR_CAT( x, y ) FT_ERR_XCAT( x, y )
- /* see `ftmoderr.h' for descriptions of the following macros */
+/* see `ftmoderr.h' for descriptions of the following macros */
#define FT_ERR( e ) FT_ERR_CAT( FT_ERR_PREFIX, e )
OpenPOWER on IntegriCloud