/
usr
/
include
/
freetype2
/
freetype
/
/usr/include/freetype2/freetype
mkdir
upload
Name
Size
Mode
Actions
config/
-
0755
rm
freetype.h
165119
0644
edit
dl
rm
ftadvanc.h
5470
0644
edit
dl
rm
ftbbox.h
2638
0644
edit
dl
rm
ftbdf.h
5322
0644
edit
dl
rm
ftbitmap.h
9051
0644
edit
dl
rm
ftbzip2.h
2786
0644
edit
dl
rm
ftcache.h
33858
0644
edit
dl
rm
ftchapters.h
2510
0644
edit
dl
rm
ftcid.h
4022
0644
edit
dl
rm
ftcolor.h
8913
0644
edit
dl
rm
ftdriver.h
47220
0644
edit
dl
rm
fterrdef.h
12336
0644
edit
dl
rm
fterrors.h
9291
0644
edit
dl
rm
ftfntfmt.h
2213
0644
edit
dl
rm
ftgasp.h
4138
0644
edit
dl
rm
ftglyph.h
18491
0644
edit
dl
rm
ftgxval.h
10625
0644
edit
dl
rm
ftgzip.h
4211
0644
edit
dl
rm
ftimage.h
39895
0644
edit
dl
rm
ftincrem.h
10310
0644
edit
dl
rm
ftlcdfil.h
11739
0644
edit
dl
rm
ftlist.h
7100
0644
edit
dl
rm
ftlzw.h
2768
0644
edit
dl
rm
ftmac.h
7771
0644
edit
dl
rm
ftmm.h
21793
0644
edit
dl
rm
ftmodapi.h
21777
0644
edit
dl
rm
ftmoderr.h
6601
0644
edit
dl
rm
ftotval.h
5346
0644
edit
dl
rm
ftoutln.h
17870
0644
edit
dl
rm
ftparams.h
5592
0644
edit
dl
rm
ftpfr.h
4910
0644
edit
dl
rm
ftrender.h
6625
0644
edit
dl
rm
ftsizes.h
4288
0644
edit
dl
rm
ftsnames.h
7730
0644
edit
dl
rm
ftstroke.h
21773
0644
edit
dl
rm
ftsynth.h
3362
0644
edit
dl
rm
ftsystem.h
8518
0644
edit
dl
rm
fttrigon.h
7411
0644
edit
dl
rm
fttypes.h
14487
0644
edit
dl
rm
ftwinfnt.h
7966
0644
edit
dl
rm
t1tables.h
22829
0644
edit
dl
rm
ttnameid.h
58769
0644
edit
dl
rm
tttables.h
25231
0644
edit
dl
rm
tttags.h
5092
0644
edit
dl
rm
Edit:
/usr/include/freetype2/freetype/fttypes.h
(14487B)
/**************************************************************************** * * fttypes.h * * FreeType simple types definitions (specification only). * * Copyright (C) 1996-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, * modified, and distributed under the terms of the FreeType project * license, LICENSE.TXT. By continuing to use, modify, or distribute * this file you indicate that you have read the license and * understand and accept it fully. * */ #ifndef FTTYPES_H_ #define FTTYPES_H_ #include <ft2build.h> #include FT_CONFIG_CONFIG_H #include <freetype/ftsystem.h> #include <freetype/ftimage.h> #include <stddef.h> 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_Int64 * FT_UInt64 * 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_Data * * FT_MAKE_TAG * * 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_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_ { 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 that 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 that 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 ) | \ ( (FT_ULong)_x2 << 16 ) | \ ( (FT_ULong)_x3 << 8 ) | \ (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_ { 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_ListNode head; FT_ListNode tail; } FT_ListRec; /* */ #define FT_IS_EMPTY( list ) ( (list).head == 0 ) #define FT_BOOL( x ) ( (FT_Bool)( (x) != 0 ) ) /* 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 */ #define FT_ERR( e ) FT_ERR_CAT( FT_ERR_PREFIX, e ) #define FT_ERROR_BASE( x ) ( (x) & 0xFF ) #define FT_ERROR_MODULE( x ) ( (x) & 0xFF00U ) #define FT_ERR_EQ( x, e ) \ ( FT_ERROR_BASE( x ) == FT_ERROR_BASE( FT_ERR( e ) ) ) #define FT_ERR_NEQ( x, e ) \ ( FT_ERROR_BASE( x ) != FT_ERROR_BASE( FT_ERR( e ) ) ) FT_END_HEADER #endif /* FTTYPES_H_ */ /* END */
Save
cmd:
run