⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ftcache.h

📁 奇趣公司比较新的qt/emd版本
💻 H
📖 第 1 页 / 共 4 页
字号:
  /*************************************************************************   *   * @function:   *   FTC_Manager_RemoveFaceID   *   * @description:   *   A special function used to indicate to the cache manager that   *   a given @FTC_FaceID is no longer valid, either because its   *   content changed, or because it was deallocated or uninstalled.   *   * @input:   *   manager ::   *     The cache manager handle.   *   *   face_id ::   *     The @FTC_FaceID to be removed.   *   * @note:   *   This function flushes all nodes from the cache corresponding to this   *   `face_id', with the exception of nodes with a non-null reference   *   count.   *   *   Such nodes are however modified internally so as to never appear   *   in later lookups with the same `face_id' value, and to be immediately   *   destroyed when released by all their users.   *   */  FT_EXPORT( void )  FTC_Manager_RemoveFaceID( FTC_Manager  manager,                            FTC_FaceID   face_id );  /*************************************************************************/  /*                                                                       */  /* <Section>                                                             */  /*    cache_subsystem                                                    */  /*                                                                       */  /*************************************************************************/  /*************************************************************************   *   * @type:   *   FTC_CMapCache   *   * @description:   *   An opaque handle used to model a charmap cache.  This cache is to   *   hold character codes -> glyph indices mappings.   *   */  typedef struct FTC_CMapCacheRec_*  FTC_CMapCache;  /*************************************************************************   *   * @function:   *   FTC_CMapCache_New   *   * @description:   *   Create a new charmap cache.   *   * @input:   *   manager ::   *     A handle to the cache manager.   *   * @output:   *   acache ::   *     A new cache handle.  NULL in case of error.   *   * @return:   *   FreeType error code.  0 means success.   *   * @note:   *   Like all other caches, this one will be destroyed with the cache   *   manager.   *   */  FT_EXPORT( FT_Error )  FTC_CMapCache_New( FTC_Manager     manager,                     FTC_CMapCache  *acache );  /************************************************************************   *   * @function:   *   FTC_CMapCache_Lookup   *   * @description:   *   Translate a character code into a glyph index, using the charmap   *   cache.   *   * @input:   *   cache ::   *     A charmap cache handle.   *   *   face_id ::   *     The source face ID.   *   *   cmap_index ::   *     The index of the charmap in the source face.   *   *   char_code ::   *     The character code (in the corresponding charmap).   *   * @return:   *    Glyph index.  0 means `no glyph'.   *   */  FT_EXPORT( FT_UInt )  FTC_CMapCache_Lookup( FTC_CMapCache  cache,                        FTC_FaceID     face_id,                        FT_Int         cmap_index,                        FT_UInt32      char_code );  /*************************************************************************/  /*                                                                       */  /* <Section>                                                             */  /*    cache_subsystem                                                    */  /*                                                                       */  /*************************************************************************/  /*************************************************************************/  /*************************************************************************/  /*************************************************************************/  /*****                                                               *****/  /*****                       IMAGE CACHE OBJECT                      *****/  /*****                                                               *****/  /*************************************************************************/  /*************************************************************************/  /*************************************************************************/  /*************************************************************************   *   * @struct:   *   FTC_ImageTypeRec   *   * @description:   *   A structure used to model the type of images in a glyph cache.   *   * @fields:   *   face_id ::   *     The face ID.   *   *   width ::   *     The width in pixels.   *   *   height ::   *     The height in pixels.   *   *   flags ::   *     The load flags, as in @FT_Load_Glyph.   *   */  typedef struct  FTC_ImageTypeRec_  {    FTC_FaceID  face_id;    FT_Int      width;    FT_Int      height;    FT_Int32    flags;  } FTC_ImageTypeRec;  /*************************************************************************   *   * @type:   *   FTC_ImageType   *   * @description:   *   A handle to an @FTC_ImageTypeRec structure.   *   */  typedef struct FTC_ImageTypeRec_*  FTC_ImageType;  /* */#define FTC_IMAGE_TYPE_COMPARE( d1, d2 )      \          ( (d1)->face_id == (d2)->face_id && \            (d1)->width   == (d2)->width   && \            (d1)->flags   == (d2)->flags   )#define FTC_IMAGE_TYPE_HASH( d )                          \          (FT_UFast)( FTC_FACE_ID_HASH( (d)->face_id )  ^ \                      ( (d)->width << 8 ) ^ (d)->height ^ \                      ( (d)->flags << 4 )               )  /*************************************************************************/  /*                                                                       */  /* <Type>                                                                */  /*    FTC_ImageCache                                                     */  /*                                                                       */  /* <Description>                                                         */  /*    A handle to an glyph image cache object.  They are designed to     */  /*    hold many distinct glyph images while not exceeding a certain      */  /*    memory threshold.                                                  */  /*                                                                       */  typedef struct FTC_ImageCacheRec_*  FTC_ImageCache;  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    FTC_ImageCache_New                                                 */  /*                                                                       */  /* <Description>                                                         */  /*    Creates a new glyph image cache.                                   */  /*                                                                       */  /* <Input>                                                               */  /*    manager :: The parent manager for the image cache.                 */  /*                                                                       */  /* <Output>                                                              */  /*    acache  :: A handle to the new glyph image cache object.           */  /*                                                                       */  /* <Return>                                                              */  /*    FreeType error code.  0 means success.                             */  /*                                                                       */  FT_EXPORT( FT_Error )  FTC_ImageCache_New( FTC_Manager      manager,                      FTC_ImageCache  *acache );  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    FTC_ImageCache_Lookup                                              */  /*                                                                       */  /* <Description>                                                         */  /*    Retrieves a given glyph image from a glyph image cache.            */  /*                                                                       */  /* <Input>                                                               */  /*    cache  :: A handle to the source glyph image cache.                */  /*                                                                       */  /*    type   :: A pointer to a glyph image type descriptor.              */  /*                                                                       */  /*    gindex :: The glyph index to retrieve.                             */  /*                                                                       */  /* <Output>                                                              */  /*    aglyph :: The corresponding @FT_Glyph object.  0 in case of        */  /*              failure.                                                 */  /*                                                                       */  /*    anode  :: Used to return the address of of the corresponding cache */  /*              node after incrementing its reference count (see note    */  /*              below).                                                  */  /*                                                                       */  /* <Return>                                                              */  /*    FreeType error code.  0 means success.                             */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -