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.H37
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; }
};