summaryrefslogtreecommitdiff
path: root/src/drivers/Android/Fl_Android_Graphics_Font.H
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/Android/Fl_Android_Graphics_Font.H')
-rw-r--r--src/drivers/Android/Fl_Android_Graphics_Font.H87
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