亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ftobject.h

?? freetype 2.1.3代碼。可以和microwindows配合以使用truetype字體
?? H
字號:
#ifndef __FT_OBJECT_H__#define __FT_OBJECT_H__#include <ft2build.h>#include FT_FREETYPE_HFT_BEGIN_HEADER /**************************************************************  *  * @type: FT_Object  *  * @description:  *   handle to a FreeType Object. See @FT_ObjectRec  */  typedef struct FT_ObjectRec_*        FT_Object; /**************************************************************  *  * @type: FT_Class  *  * @description:  *   handle to a constant class handle to a FreeType Object.  *  *   Note that a class is itself a @FT_Object and are dynamically  *   allocated on the heap.  *  * @also:  *  @FT_ClassRec, @FT_Object, @FT_ObjectRec, @FT_Type, @FT_TypeRec  */  typedef const struct FT_ClassRec_*   FT_Class; /**************************************************************  *  * @type: FT_Type  *  * @description:  *   handle to a constant structure (of type @FT_TypeRec) used  *   to describe a given @FT_Class type to the FreeType object  *   sub-system.  */  typedef const struct FT_TypeRec_*    FT_Type; /**************************************************************  *  * @struct: FT_ObjectRec  *  * @description:  *   a structure describing the root fields of all @FT_Object  *   class instances in FreeType  *  * @fields:  *   clazz     :: handle to the object's class  *   ref_count :: object's reference count. Starts at 1  */  typedef struct FT_ObjectRec_  {    FT_Class  clazz;    FT_Int    ref_count;  } FT_ObjectRec; /**************************************************************  *  * @macro: FT_OBJECT (x)  *  * @description:  *   a useful macro to type-cast anything to a @FT_Object  *   handle. No check performed..  */#define  FT_OBJECT(x)    ((FT_Object)(x)) /**************************************************************  *  * @macro: FT_OBJECT_P (x)  *  * @description:  *   a useful macro to type-cast anything to a pointer to  *   @FT_Object handle.  */#define  FT_OBJECT_P(x)  ((FT_Object*)(x)) /**************************************************************  *  * @macro: FT_OBJECT__CLASS (obj)  *  * @description:  *   a useful macro to return the class of any object  */#define  FT_OBJECT__CLASS(x)      FT_OBJECT(x)->clazz /**************************************************************  *  * @macro: FT_OBJECT__REF_COUNT (obj)  *  * @description:  *   a useful macro to return the reference count of any object  */#define  FT_OBJECT__REF_COUNT(x)  FT_OBJECT(x)->ref_count /**************************************************************  *  * @macro: FT_OBJECT__MEMORY (obj)  *  * @description:  *   a useful macro to return a handle to the memory manager  *   used to allocate a given object  */#define  FT_OBJECT__MEMORY(x)     FT_CLASS__MEMORY(FT_OBJECT(x)->clazz) /**************************************************************  *  * @macro: FT_OBJECT__LIBRARY (obj)  *  * @description:  *   a useful macro to return a handle to the library handle  *   that owns the object  */#define  FT_OBJECT__LIBRARY(x)    FT_CLASS__LIBRARY(FT_OBJECT(x)->clazz) /**************************************************************  *  * @functype: FT_Object_InitFunc  *  * @description:  *   a function used to initialize a new object  *  * @input:  *   object    :: target object handle  *   init_data :: optional pointer to initialization data  *  * @return:  *   error code. 0 means success  */  typedef FT_Error  (*FT_Object_InitFunc)( FT_Object   object,                                           FT_Pointer  init_data ); /**************************************************************  *  * @functype: FT_Object_DoneFunc  *  * @description:  *   a function used to finalize a given object  *  * @input:  *   object    :: handle to target object  */  typedef void  (*FT_Object_DoneFunc)( FT_Object   object ); /**************************************************************  *  * @struct: FT_ClassRec  *  * @description:  *   a structure used to describe a given object class within  *   FreeType  *  * @fields:  *   object   :: root @FT_ObjectRec fields, since each class is  *               itself an object. (it's an instance of the  *               "metaclass", a special object of the FreeType  *               object sub-system.)  *  *   magic    :: a 32-bit magic number used for decoding  *   super    :: pointer to super class  *   type     :: the @FT_Type descriptor of this class  *   memory   :: the current memory manager handle  *   library  :: the current library handle  *   info     :: an opaque pointer to class-specific information  *               managed by the FreeType object sub-system  *  *   class_done :: the class destructor function  *  *   obj_size :: size of class instances in bytes  *   obj_init :: class instance constructor  *   obj_done :: class instance destructor  */  typedef struct FT_ClassRec_  {    FT_ObjectRec        object;    FT_UInt32           magic;    FT_Class            super;    FT_Type             type;    FT_Memory           memory;    FT_Library          library;    FT_Pointer          info;    FT_Object_DoneFunc  class_done;    FT_UInt             obj_size;    FT_Object_InitFunc  obj_init;    FT_Object_DoneFunc  obj_done;  } FT_ClassRec; /**************************************************************  *  * @macro: FT_CLASS (x)  *  * @description:  *   a useful macro to convert anything to a class handle  *   without checks  */#define  FT_CLASS(x)    ((FT_Class)(x)) /**************************************************************  *  * @macro: FT_CLASS_P (x)  *  * @description:  *   a useful macro to convert anything to a pointer to a class  *   handle without checks  */#define  FT_CLASS_P(x)  ((FT_Class*)(x)) /**************************************************************  *  * @macro: FT_CLASS__MEMORY (clazz)  *  * @description:  *   a useful macro to return the memory manager handle of a  *   given class  */#define  FT_CLASS__MEMORY(x)   FT_CLASS(x)->memory /**************************************************************  *  * @macro: FT_CLASS__LIBRARY (clazz)  *  * @description:  *   a useful macro to return the library handle of a  *   given class  */#define  FT_CLASS__LIBRARY(x)  FT_CLASS(x)->library /**************************************************************  *  * @macro: FT_CLASS__TYPE (clazz)  *  * @description:  *   a useful macro to return the type of a given class  *   given class  */#define  FT_CLASS__TYPE(x)     FT_CLASS(x)->type /* */#define  FT_CLASS__INFO(x)     FT_CLASS(x)->info#define  FT_CLASS__MAGIC(x)    FT_CLASS(x)->magic /**************************************************************  *  * @struct: FT_TypeRec  *  * @description:  *   a structure used to describe a given class to the FreeType  *   object sub-system.  *  * @fields:  *   name       :: class name. only used for debugging  *   super      :: type of super-class. NULL if none  *  *   class_size :: size of class structure in bytes  *   class_init :: class constructor  *   class_done :: class finalizer  *  *   obj_size   :: instance size in bytes  *   obj_init   :: instance constructor. can be NULL  *   obj_done   :: instance destructor. can be NULL  *  * @note:  *   if 'obj_init' is NULL, the class will use it's parent  *   constructor, if any  *  *   if 'obj_done' is NULL, the class will use it's parent  *   finalizer, if any  *  *   the object sub-system allocates a new class, copies  *   the content of its super-class into the new structure,  *   _then_ calls 'clazz_init'.  *  *   'class_init' and 'class_done' can be NULL, in which case  *   the parent's class constructor and destructor wil be used  */  typedef struct FT_TypeRec_  {    const char*         name;    FT_Type             super;    FT_UInt             class_size;    FT_Object_InitFunc  class_init;    FT_Object_DoneFunc  class_done;    FT_UInt             obj_size;    FT_Object_InitFunc  obj_init;    FT_Object_DoneFunc  obj_done;  } FT_TypeRec; /**************************************************************  *  * @macro: FT_TYPE (x)  *  * @description:  *   a useful macro to convert anything to a class type handle  *   without checks  */#define  FT_TYPE(x)  ((FT_Type)(x)) /**************************************************************  *  * @function: ft_object_check  *  * @description:  *   checks that a handle points to a valid @FT_Object  *  * @input:  *   obj :: handle/pointer  *  * @return:  *   1 iff the handle points to a valid object. 0 otherwise  */  FT_BASE( FT_Int )  ft_object_check( FT_Pointer  obj ); /**************************************************************  *  * @function: ft_object_is_a  *  * @description:  *   checks that a handle points to a valid @FT_Object that  *   is an instance of a given class (or of any of its sub-classes)  *  * @input:  *   obj   :: handle/pointer  *   clazz :: class handle to check  *  * @return:  *   1 iff the handle points to a valid 'clazz' instance. 0  *   otherwise.  */  FT_BASE( FT_Int )  ft_object_is_a( FT_Pointer  obj,                  FT_Class    clazz ); /**************************************************************  *  * @function: ft_object_create  *  * @description:  *   create a new object (class instance)  *  * @output:  *   aobject   :: new object handle. NULL in case of error  *  * @input:  *   clazz     :: object's class pointer  *   init_data :: optional pointer to initialization data  *  * @return:  *   error code. 0 means success  */  FT_BASE( FT_Error )  ft_object_create( FT_Object  *aobject,                    FT_Class    clazz,                    FT_Pointer  init_data ); /**************************************************************  *  * @function: ft_object_create_from_type  *  * @description:  *   create a new object (class instance) from a @FT_Type  *  * @output:  *   aobject   :: new object handle. NULL in case of error  *  * @input:  *   type      :: object's type descriptor  *   init_data :: optional pointer to initialization data  *  * @return:  *   error code. 0 means success  *  * @note:  *   this function is slower than @ft_object_create  *  *   this is equivalent to calling @ft_class_from_type followed by  *   @ft_object_create  */  FT_BASE( FT_Error )  ft_object_create_from_type( FT_Object  *aobject,                              FT_Type     type,                              FT_Pointer  init_data,                              FT_Library  library ); /**************************************************************  *  * @macro FT_OBJ_CREATE (object,class,init)  *  * @description:  *   a convenient macro used to create new objects. see  *   @ft_object_create for details  */#define  FT_OBJ_CREATE( _obj, _clazz, _init )   \               ft_object_create( FT_OBJECT_P(&(_obj)), _clazz, _init ) /**************************************************************  *  * @macro FT_CREATE (object,class,init)  *  * @description:  *   a convenient macro used to create new objects. It also  *   sets an _implicit_ local variable named "error" to the error  *   code returned by the object constructor.  */#define  FT_CREATE( _obj, _clazz, _init )  \             FT_SET_ERROR( FT_OBJ_CREATE( _obj, _clazz, _init ) ) /**************************************************************  *  * @macro FT_OBJ_CREATE_FROM_TYPE (object,type,init)  *  * @description:  *   a convenient macro used to create new objects. see  *   @ft_object_create_from_type for details  */#define  FT_OBJ_CREATE_FROM_TYPE( _obj, _type, _init, _lib )   \               ft_object_create_from_type( FT_OBJECT_P(&(_obj)), _type, _init, _lib ) /**************************************************************  *  * @macro FT_CREATE_FROM_TYPE (object,type,init)  *  * @description:  *   a convenient macro used to create new objects. It also  *   sets an _implicit_ local variable named "error" to the error  *   code returned by the object constructor.  */#define  FT_CREATE_FROM_TYPE( _obj, _type, _init, _lib )  \             FT_SET_ERROR( FT_OBJ_CREATE_FROM_TYPE( _obj, _type, _init, _lib ) ) /* */ /**************************************************************  *  * @function: ft_class_from_type  *  * @description:  *   retrieves the class object corresponding to a given type  *   descriptor. The class is created when needed  *  * @output:  *   aclass  :: handle to corresponding class object. NULL in  *              case of error  *  * @input:  *   type    :: type descriptor handle  *   library :: library handle  *  * @return:  *   error code. 0 means success  */  FT_BASE( FT_Error )  ft_class_from_type( FT_Class   *aclass,                      FT_Type     type,                      FT_Library  library ); /* */#include FT_INTERNAL_HASH_H  typedef struct FT_ClassHNodeRec_*  FT_ClassHNode;  typedef struct FT_ClassHNodeRec_  {    FT_HashNodeRec  hnode;    FT_Type         type;    FT_Class        clazz;  } FT_ClassHNodeRec;  typedef struct FT_MetaClassRec_  {    FT_ClassRec   clazz;         /* the meta-class is a class itself */    FT_HashRec    type_to_class; /* the type => class hash table */  } FT_MetaClassRec, *FT_MetaClass; /* initialize meta class */  FT_BASE( FT_Error )  ft_metaclass_init( FT_MetaClass  meta,                     FT_Library    library ); /* finalize meta class - destroy all registered class objects */  FT_BASE( void )  ft_metaclass_done( FT_MetaClass  meta ); /* */FT_END_HEADER#endif /* __FT_OBJECT_H__ */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区在线看| 一区二区欧美视频| 欧美在线免费视屏| 精品亚洲porn| 亚洲精品成人天堂一二三| 精品日韩在线一区| 欧美午夜精品久久久久久孕妇| 黑人巨大精品欧美一区| 亚洲风情在线资源站| 国产精品久久毛片| 精品国产乱码久久久久久久 | 国产午夜精品福利| 欧美另类高清zo欧美| 99久免费精品视频在线观看| 狠狠色狠狠色综合系列| 亚洲国产精品久久艾草纯爱 | 日韩欧美国产精品一区| 91成人在线观看喷潮| 成人影视亚洲图片在线| 国产在线一区观看| 美女网站色91| 天涯成人国产亚洲精品一区av| 亚洲视频资源在线| 国产精品久久久久桃色tv| 欧美精品一区二区三区久久久| 欧美一区二区三区免费视频| 欧美性受xxxx黑人xyx性爽| 99久久国产综合色|国产精品| 国产传媒久久文化传媒| 狠狠色狠狠色综合日日91app| 麻豆成人久久精品二区三区小说| 日韩精品1区2区3区| 亚洲成年人网站在线观看| 亚洲精品乱码久久久久久久久| 国产精品不卡一区二区三区| 欧美国产日本韩| 国产欧美日韩一区二区三区在线观看 | 国产精品久久久久久一区二区三区 | 国产v日产∨综合v精品视频| 久久99国产精品麻豆| 久久99精品国产麻豆不卡| 蜜桃精品在线观看| 蜜臀久久久久久久| 久久精品国产成人一区二区三区| 青青草国产精品亚洲专区无| 日本va欧美va瓶| 美女视频黄 久久| 精品一区二区三区免费视频| 久久99精品国产麻豆不卡| 久久99精品久久久久| 国产做a爰片久久毛片| 国产在线国偷精品免费看| 国产精品一级二级三级| 大白屁股一区二区视频| 99精品热视频| 欧美日韩美少妇| 欧美一区二区三区四区高清| 欧美刺激脚交jootjob| 欧美精品一区二区三区视频| 欧美国产日韩一二三区| 自拍av一区二区三区| 夜夜揉揉日日人人青青一国产精品 | 日韩欧美国产系列| 国产午夜精品理论片a级大结局| 国产精品免费av| 亚洲综合成人在线视频| 婷婷成人综合网| 国产在线国偷精品免费看| 白白色 亚洲乱淫| 欧美亚洲免费在线一区| 欧美电影在哪看比较好| 亚洲精品一区二区在线观看| 亚洲欧美综合色| 午夜精品久久久久影视| 韩国一区二区在线观看| 91在线播放网址| 欧美日本不卡视频| 国产亚洲精品7777| 一区二区三区国产精华| 看电视剧不卡顿的网站| 不卡一区中文字幕| 91精品国产综合久久福利| 久久嫩草精品久久久精品一| 亚洲人成影院在线观看| 琪琪一区二区三区| 91性感美女视频| 日韩欧美国产三级电影视频| 国产精品初高中害羞小美女文| 日韩成人免费电影| 成人app网站| 日韩欧美一级在线播放| 亚洲欧美另类图片小说| 久久99国产精品免费网站| 91色视频在线| 久久综合九色综合97婷婷女人| 亚洲精品伦理在线| 国产综合久久久久久久久久久久| 欧美综合视频在线观看| 久久久久国产精品麻豆| 日韩激情视频网站| 99综合影院在线| 久久综合久久鬼色中文字| 亚洲一区二区在线免费看| 粉嫩aⅴ一区二区三区四区 | 久久超级碰视频| 91成人免费在线视频| 久久久99精品久久| 日本成人在线不卡视频| 91麻豆产精品久久久久久| 国产亚洲一区二区三区在线观看 | 国产亚洲欧美日韩在线一区| 日韩电影在线观看电影| 色成人在线视频| 欧美激情一区三区| 另类综合日韩欧美亚洲| 欧美喷水一区二区| 一区二区高清免费观看影视大全| 成人深夜福利app| 2020国产精品自拍| 裸体一区二区三区| 欧美电影在线免费观看| 亚洲一二三四区| 91丨九色丨蝌蚪丨老版| 国产精品女主播av| 国产成人亚洲综合a∨婷婷| 日韩精品一区二区三区四区| 香蕉影视欧美成人| 在线精品亚洲一区二区不卡| 亚洲久本草在线中文字幕| www.色精品| 国产精品成人免费在线| 波多野结衣的一区二区三区| 欧美—级在线免费片| 国产不卡视频在线播放| 久久亚洲精品国产精品紫薇| 激情深爱一区二区| 精品国产乱码久久久久久浪潮| 久88久久88久久久| 久久综合九色综合欧美亚洲| 国产在线视频一区二区| 国产丝袜在线精品| 岛国一区二区在线观看| 日本一区二区免费在线观看视频 | 蜜桃精品视频在线| 日韩欧美一二区| 国产一区视频在线看| 久久综合九色综合97_久久久| 国内精品久久久久影院薰衣草| 久久午夜羞羞影院免费观看| 国产一级精品在线| 国产精品卡一卡二卡三| 成人激情电影免费在线观看| 亚洲欧美另类图片小说| 欧美亚洲一区三区| 日本午夜一区二区| 久久午夜羞羞影院免费观看| 成人国产视频在线观看| 亚洲另类春色国产| 88在线观看91蜜桃国自产| 精品在线一区二区| 中文字幕欧美国产| 色婷婷国产精品| 免费在线欧美视频| 久久久久久久综合日本| 99久久精品国产一区二区三区| 亚洲大片精品永久免费| 精品国产一区二区三区av性色| 丰满亚洲少妇av| 亚洲国产日韩av| 精品成人一区二区| av在线播放一区二区三区| 亚洲一区二区三区国产| 精品久久久久久久久久久院品网 | 久久精品夜色噜噜亚洲aⅴ| 成人久久视频在线观看| 亚洲一区二区免费视频| 精品久久久久久久久久久久包黑料| 成人午夜av影视| 亚洲国产美国国产综合一区二区| 欧美xxxx老人做受| 色综合久久综合网欧美综合网| 青草国产精品久久久久久| 国产欧美一区二区精品久导航 | 一区二区三区四区视频精品免费 | 韩国理伦片一区二区三区在线播放| 国产精品伦理在线| 欧美日本韩国一区二区三区视频| 国产精品一区二区男女羞羞无遮挡| 亚洲人成亚洲人成在线观看图片| 日韩欧美的一区| 在线影院国内精品| 国产九色精品成人porny| 亚洲一区二区美女| 中文字幕欧美日韩一区| 91精品国产综合久久久久久| 99re视频精品| 国产a精品视频| 蜜桃一区二区三区在线| 一区二区三区四区国产精品| 国产色爱av资源综合区|