diff options
Diffstat (limited to 'core/include/fxge/fx_font.h')
-rw-r--r-- | core/include/fxge/fx_font.h | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/core/include/fxge/fx_font.h b/core/include/fxge/fx_font.h index b9dce1c435..4d81ac4b50 100644 --- a/core/include/fxge/fx_font.h +++ b/core/include/fxge/fx_font.h @@ -189,6 +189,7 @@ CFX_UnicodeEncodingEx* FX_CreateFontEncodingEx( #define FXFONT_SUBST_NONSYMBOL 0x20 #define FXFONT_SUBST_EXACT 0x40 #define FXFONT_SUBST_STANDARD 0x80 + class CFX_SubstFont { public: CFX_SubstFont(); @@ -451,6 +452,7 @@ class CFX_GlyphBitmap { }; class CFX_FaceCache { public: + explicit CFX_FaceCache(FXFT_Face face); ~CFX_FaceCache(); const CFX_GlyphBitmap* LoadGlyphBitmap(CFX_Font* pFont, FX_DWORD glyph_index, @@ -463,10 +465,7 @@ class CFX_FaceCache { FX_DWORD glyph_index, int dest_width); - CFX_FaceCache(FXFT_Face face); - private: - FXFT_Face m_Face; CFX_GlyphBitmap* RenderGlyph(CFX_Font* pFont, FX_DWORD glyph_index, FX_BOOL bFontStyle, @@ -485,18 +484,23 @@ class CFX_FaceCache { FX_BOOL bFontStyle, int dest_width, int anti_alias); + void InitPlatform(); + void DestroyPlatform(); + + FXFT_Face const m_Face; std::map<CFX_ByteString, CFX_SizeGlyphCache*> m_SizeMap; CFX_MapPtrToPtr m_PathMap; CFX_DIBitmap* m_pBitmap; - - void InitPlatform(); - void DestroyPlatform(); }; -typedef struct { + +struct FXTEXT_GLYPHPOS { const CFX_GlyphBitmap* m_pGlyph; - int m_OriginX, m_OriginY; - FX_FLOAT m_fOriginX, m_fOriginY; -} FXTEXT_GLYPHPOS; + int m_OriginX; + int m_OriginY; + FX_FLOAT m_fOriginX; + FX_FLOAT m_fOriginY; +}; + FX_RECT FXGE_GetGlyphsBBox(FXTEXT_GLYPHPOS* pGlyphAndPos, int nChars, int anti_alias, |