steering-wheel/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/CachedFont.hpp.temp

93 lines
2.4 KiB
Plaintext

/* DO NOT EDIT THIS FILE */
/* This file is autogenerated by the text-database code generator */
#ifndef TOUCHGFX_CACHEDFONT_HPP
#define TOUCHGFX_CACHEDFONT_HPP
#include <fonts/FontCache.hpp>
#include <fonts/GeneratedFont.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->fontHeight,
data->baseline,
data->pixAboveTop,
data->pixBelowBottom,
data->bitsPerPixel,
data->byteAlignRow,
data->maxLeft,
data->maxRight,
0, // glyphDataPointer
0, // Kerning table not used for cached font
data->fallbackChar,
data->ellipsisChar,
0, // lsubTablePointer
0), // contextualFormsPointer
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;
}
virtual const FontContextualFormsTable* getContextualFormsTable() const
{
if (arabicTable != 0)
{
return arabicTable;
}
return flashFont->getContextualFormsTable();
}
virtual void setContextualFormsTable(const FontContextualFormsTable* table)
{
arabicTable = table;
}
private:
FontId fontId;
FontCache* cache;
const GeneratedFont* flashFont;
};
} // namespace touchgfx
#endif // TOUCHGFX_CACHEDFONT_HPP