1
0
This repository has been archived on 2024-01-25. You can view files and clone it, but cannot push or open issues or pull requests.
2024-01-13 19:15:18 +01:00

72 lines
1.9 KiB
C++

/* DO NOT EDIT THIS FILE */
/* This file is autogenerated by the text-database code generator */
#ifndef CACHEDFONT_HPP
#define CACHEDFONT_HPP
#include <fonts/GeneratedFont.hpp>
#include <fonts/FontCache.hpp>
namespace touchgfx
{
class CachedFont : public GeneratedFont
{
public:
CachedFont(const struct touchgfx::BinaryFontData* data, FontId id, FontCache* _cache, const GeneratedFont* _flashFont)
: GeneratedFont(0, //GlyphNode*
data->numberOfGlyphs,
data->height,
data->pixBelowBase,
data->bitsPerPixel,
data->byteAlignRow,
data->maxLeft,
data->maxRight,
0, //glyphDataPointer
0, //Kerning table not used for cached font
data->fallbackChar,
data->ellipsisChar,
0), //gsubTablePointer
fontId(id),
cache(_cache),
flashFont(_flashFont)
{}
CachedFont() : GeneratedFont() {}
using GeneratedFont::getGlyph;
virtual const GlyphNode* getGlyph(Unicode::UnicodeChar unicode, const uint8_t*& pixelData, uint8_t& bitsPerPixel) const;
virtual const uint8_t* getPixelData(const GlyphNode* glyph) const;
virtual int8_t getKerning(Unicode::UnicodeChar prevChar, const GlyphNode* glyph) const;
void setFontCache(FontCache& cache);
FontId getFontId() const
{
return fontId;
}
virtual const uint16_t* getGSUBTable() const
{
if (gsubTable != 0)
{
return gsubTable;
}
return flashFont->getGSUBTable();
}
virtual void setGSUBTable(const uint16_t* table)
{
gsubTable = table;
}
private:
FontId fontId;
FontCache* cache;
const GeneratedFont* flashFont;
};
} // namespace touchgfx
#endif // CACHEDFONT_HPP