diff options
Diffstat (limited to 'src/drivers/Android/Fl_Android_Graphics_Font.H')
| -rw-r--r-- | src/drivers/Android/Fl_Android_Graphics_Font.H | 87 |
1 files changed, 13 insertions, 74 deletions
diff --git a/src/drivers/Android/Fl_Android_Graphics_Font.H b/src/drivers/Android/Fl_Android_Graphics_Font.H index 8b035521a..7e8af7d52 100644 --- a/src/drivers/Android/Fl_Android_Graphics_Font.H +++ b/src/drivers/Android/Fl_Android_Graphics_Font.H @@ -24,6 +24,10 @@ #include "stb_truetype.h" +/** + * A bytemap is an array of bytes, used as an alpha channel when redering glyphs + * in a given color. + */ class Fl_Android_Bytemap { public: @@ -36,6 +40,10 @@ public: }; +/** + * This class reads True Type Font files and creates Bytemaps for glyphs at the + * requested height. + */ class Fl_Android_Font_Source { private: @@ -46,12 +54,16 @@ private: public: Fl_Android_Font_Source(const char *fname, Fl_Font fnum); + ~Fl_Android_Font_Source(); void load_font(); Fl_Android_Bytemap *get_bytemap(uint32_t c, int size); float get_advance(uint32_t c, Fl_Fontsize size); }; +/** + * This class caches glyphs of a font for a specified height. + */ class Fl_Android_Font_Descriptor : public Fl_Font_Descriptor { private: @@ -63,83 +75,10 @@ public: float get_advance(uint32_t c); Fl_Android_Bytemap *get_bytemap(uint32_t c); Fl_Android_Font_Source *get_font_source() { return pFontSource; } -}; - - - -#if 0 - -fl_fonts array is managed by core?! - - /** Some platforms may need to implement this to support fonts */ -virtual Fl_Fontdesc* calc_fl_fonts(void) {return NULL;} - - typedef int Fl_Fontsize; - class Fl_Font_Descriptor; - struct Fl_Fontdesc; - - /* This class is not part of FLTK's public API. - Platforms usually define a derived class called Fl_XXX_Font_Descriptor - containing extra platform-specific data/functions. - This is a class for an actual system font, with junk to - help choose it and info on character sizes. Each Fl_Fontdesc has a - linked list of these. These are created the first time each system - font/size combination is used. - */ -class Fl_Font_Descriptor { -public: - /** linked list for this Fl_Fontdesc */ - Fl_Font_Descriptor *next; - Fl_Fontsize size; /**< font size */ - Fl_Font_Descriptor(const char* fontname, Fl_Fontsize size); - FL_EXPORT ~Fl_Font_Descriptor() {} - short ascent, descent, q_width; - unsigned int listbase;// base of display list, 0 = none -}; -// This struct is not part of FLTK's public API. -struct Fl_Fontdesc { - const char *name; - char fontname[128]; // "Pretty" font name - Fl_Font_Descriptor *first; // linked list of sizes of this style + static Fl_Android_Font_Descriptor* find(Fl_Font fnum, Fl_Fontsize size); }; -#endif - -#if 0 -// Two internal fltk data structures: -// -// Fl_Fontdesc: an entry into the fl_font() table. There is one of these -// for each fltk font number. -// -#ifndef FL_FONT_ -#define FL_FONT_ - -#include <config.h> - -#if 0 - -class Fl_GDI_Font_Descriptor : public Fl_Font_Descriptor { -public: - HFONT fid; - int *width[64]; - TEXTMETRIC metr; - int angle; - FL_EXPORT Fl_GDI_Font_Descriptor(const char* fontname, Fl_Fontsize size); -# if HAVE_GL - char glok[64]; -# endif // HAVE_GL - FL_EXPORT ~Fl_GDI_Font_Descriptor(); -}; - -#endif - -extern FL_EXPORT Fl_Fontdesc *fl_fonts; // the table - -#endif - - #endif - #endif // FL_ANDROID_GRAPHICS_FONT_H |
