|
|
|
@ -29,13 +29,60 @@ |
|
|
|
|
|
|
|
|
|
FT_BEGIN_HEADER |
|
|
|
|
|
|
|
|
|
/* handle to small bitmap */ |
|
|
|
|
/***
|
|
|
|
|
* <Section> cache_subsystem |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
|
* |
|
|
|
|
* <Type> FTC_SBit |
|
|
|
|
* |
|
|
|
|
* <Description> |
|
|
|
|
* handle to a small bitmap descriptor. see the FTC_SBitRec |
|
|
|
|
* structure for details.. |
|
|
|
|
*/ |
|
|
|
|
typedef struct FTC_SBitRec_* FTC_SBit; |
|
|
|
|
|
|
|
|
|
/* handle to small bitmap cache */ |
|
|
|
|
/***********************************************************************
|
|
|
|
|
* |
|
|
|
|
* <Type> FTC_SBit_Cache |
|
|
|
|
* |
|
|
|
|
* <Description> |
|
|
|
|
* handle to a small bitmap cache. These are special cache objects |
|
|
|
|
* used to store small glyph bitmaps (and anti-aliased pixmaps) in |
|
|
|
|
* a much more efficient way than the traditional glyph image cache |
|
|
|
|
* implemented by FTC_Image_Cache |
|
|
|
|
*/ |
|
|
|
|
typedef struct FTC_SBit_CacheRec_* FTC_SBit_Cache; |
|
|
|
|
|
|
|
|
|
/* a compact structure used to hold a single small bitmap */ |
|
|
|
|
/***********************************************************************
|
|
|
|
|
* |
|
|
|
|
* <Struct> FTC_SBitRec |
|
|
|
|
* |
|
|
|
|
* <Description> |
|
|
|
|
* a very compact structure used to describe a small glyph bitmap |
|
|
|
|
* |
|
|
|
|
* <Fields> |
|
|
|
|
* width :: bitmap width in pixels |
|
|
|
|
* height :: bitmap height in pixels |
|
|
|
|
* |
|
|
|
|
* left :: horizontal distance from pen position to left bitmap |
|
|
|
|
* border (a.k.a. "left side bearing", or "lsb") |
|
|
|
|
* |
|
|
|
|
* top :: vertical distance from pen position (on the baseline) |
|
|
|
|
* to the upper bitmap border (a.k.a. "top side bearing") |
|
|
|
|
* the distance is positive for upwards Y coordinates. |
|
|
|
|
* |
|
|
|
|
* format :: format of glyph bitmap (mono or gray) |
|
|
|
|
* |
|
|
|
|
* pitch :: number of bytes per bitmap lines. may be positive or |
|
|
|
|
* negative |
|
|
|
|
* |
|
|
|
|
* xadvance :: horizontal advance width in pixels |
|
|
|
|
* yadvance :: vertical advance height in pixels |
|
|
|
|
* |
|
|
|
|
* buffer :: pointer to bitmap pixels |
|
|
|
|
*/ |
|
|
|
|
typedef struct FTC_SBitRec_ |
|
|
|
|
{ |
|
|
|
|
FT_Byte width; |
|
|
|
@ -53,14 +100,59 @@ FT_BEGIN_HEADER |
|
|
|
|
} FTC_SBitRec; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
|
* |
|
|
|
|
* <Section> FTC_SBit_Cache_New |
|
|
|
|
* |
|
|
|
|
* <Description> |
|
|
|
|
* Create a new cache to store small glyph bitmaps |
|
|
|
|
* |
|
|
|
|
* <Input> |
|
|
|
|
* manager :: handle to source cache manager |
|
|
|
|
* |
|
|
|
|
* <Output> |
|
|
|
|
* acache :: handle to new sbit cache. NULL in case of error |
|
|
|
|
* |
|
|
|
|
* <Return> |
|
|
|
|
* error code. 0 means success |
|
|
|
|
*/ |
|
|
|
|
FT_EXPORT( FT_Error ) FTC_SBit_Cache_New( FTC_Manager manager, |
|
|
|
|
FTC_SBit_Cache *acache ); |
|
|
|
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
|
* |
|
|
|
|
* <Section> FTC_SBit_Cache_Lookup |
|
|
|
|
* |
|
|
|
|
* <Description> |
|
|
|
|
* Lookup a given small glyph bitmap in a given sbit cache |
|
|
|
|
* |
|
|
|
|
* <Input> |
|
|
|
|
* cache :: handle to source sbit cache |
|
|
|
|
* desc :: pointer to glyph image descriptor |
|
|
|
|
* gindex :: glyph index |
|
|
|
|
* |
|
|
|
|
* <Output> |
|
|
|
|
* sbit :: handle to a small bitmap descriptor |
|
|
|
|
* |
|
|
|
|
* <Return> |
|
|
|
|
* error code. 0 means success |
|
|
|
|
* |
|
|
|
|
* <Note> |
|
|
|
|
* the small bitmap descriptor, and its bit buffer are owned by the |
|
|
|
|
* cache and should never be freed by the application. They might |
|
|
|
|
* as well disappear from memory on the next cache lookup, so don't |
|
|
|
|
* treat them like persistent data.. |
|
|
|
|
* |
|
|
|
|
* the descriptor's "buffer" field is set to 0 to indicate a missing |
|
|
|
|
* glyph bitmap. |
|
|
|
|
*/ |
|
|
|
|
FT_EXPORT( FT_Error ) FTC_SBit_Cache_Lookup( FTC_SBit_Cache cache, |
|
|
|
|
FTC_Image_Desc* desc, |
|
|
|
|
FT_UInt gindex, |
|
|
|
|
FTC_SBit *sbit ); |
|
|
|
|
|
|
|
|
|
/* */ |
|
|
|
|
|
|
|
|
|
FT_END_HEADER |
|
|
|
|
|
|
|
|
|
#endif /* __FTCSBITS_H__ */ |
|
|
|
|