diff options
Diffstat (limited to 'src/drivers/Android/Fl_Android_Graphics_Font.H')
| -rw-r--r-- | src/drivers/Android/Fl_Android_Graphics_Font.H | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/src/drivers/Android/Fl_Android_Graphics_Font.H b/src/drivers/Android/Fl_Android_Graphics_Font.H index 1423a1b67..8b035521a 100644 --- a/src/drivers/Android/Fl_Android_Graphics_Font.H +++ b/src/drivers/Android/Fl_Android_Graphics_Font.H @@ -24,18 +24,45 @@ #include "stb_truetype.h" -class Fl_Android_Font_Descriptor : public Fl_Font_Descriptor +class Fl_Android_Bytemap +{ +public: + Fl_Android_Bytemap(); + ~Fl_Android_Bytemap(); + +public: + int pWidth, pHeight, pStride, pXOffset, pYOffset; + unsigned char *pBytes; +}; + + +class Fl_Android_Font_Source { private: stbtt_fontinfo pFont; - Fl_Font pFontIndex; uint8_t *pFileBuffer; + const char *pName; + Fl_Font pFontIndex; + +public: + Fl_Android_Font_Source(const char *fname, Fl_Font fnum); + void load_font(); + Fl_Android_Bytemap *get_bytemap(uint32_t c, int size); + float get_advance(uint32_t c, Fl_Fontsize size); +}; + + +class Fl_Android_Font_Descriptor : public Fl_Font_Descriptor +{ +private: + Fl_Android_Font_Source *pFontSource; + Fl_Font pFontIndex; public: - Fl_Android_Font_Descriptor(const char* fontname, Fl_Font fnum, Fl_Fontsize size); - uint8_t *get_bitmap(uint32_t c, int *w, int *h, int *dx, int *dy); - void free_bitmap(uint8_t *bitmap); + Fl_Android_Font_Descriptor(const char *fname, Fl_Android_Font_Source *fsrc, Fl_Font fnum, Fl_Fontsize size); float get_advance(uint32_t c); + Fl_Android_Bytemap *get_bytemap(uint32_t c); + Fl_Android_Font_Source *get_font_source() { return pFontSource; } }; |
