72 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			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
 |