diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2018-03-17 13:15:39 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2018-03-17 13:15:39 +0000 |
| commit | 69e534b48fe13064b027cece43e05b7b48671868 (patch) | |
| tree | be44697d0986124d0b66568f894809c427d3424b /src/drivers/Android/Fl_Android_Graphics_Font.H | |
| parent | 1084602fecd948ddc67f1e03b3c40fa3b1af1032 (diff) | |
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
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; } }; |
