From 69e534b48fe13064b027cece43e05b7b48671868 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Sat, 17 Mar 2018 13:15:39 +0000 Subject: Android: basic font management structure is complete. Next: cleanup, document, add caching, add other font related calls, add clipping, add font paths for package resources git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12764 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/drivers/Android/Fl_Android_Graphics_Font.H | 37 ++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 5 deletions(-) (limited to 'src/drivers/Android/Fl_Android_Graphics_Font.H') 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; } }; -- cgit v1.2.3