Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
CGUIFontTTFDX Class Reference

#include <GUIFontTTFDX.h>

Inheritance diagram for CGUIFontTTFDX:
CGUIFontTTF ID3DResource

Public Member Functions

 CGUIFontTTFDX (const std::string &fontIdent)
 
virtual ~CGUIFontTTFDX (void)
 
bool FirstBegin () override
 
void LastEnd () override
 
CVertexBuffer CreateVertexBuffer (const std::vector< SVertex > &vertices) const override
 
void DestroyVertexBuffer (CVertexBuffer &bufferHandle) const override
 
void OnDestroyDevice (bool fatal) override
 
void OnCreateDevice () override
 
- Public Member Functions inherited from CGUIFontTTF
virtual ~CGUIFontTTF ()
 
void Clear ()
 
bool Load (const std::string &strFilename, float height=20.0f, float aspect=1.0f, float lineSpacing=1.0f, bool border=false)
 
void Begin ()
 
void End ()
 
const std::string & GetFontIdent () const
 
- Public Member Functions inherited from ID3DResource
virtual ~ID3DResource ()
 

Static Public Member Functions

static void CreateStaticIndexBuffer (void)
 
static void DestroyStaticIndexBuffer (void)
 
- Static Public Member Functions inherited from CGUIFontTTF
static CGUIFontTTFCreateGUIFontTTF (const std::string &fontIdent)
 

Protected Member Functions

std::unique_ptr< CTextureReallocTexture (unsigned int &newHeight) override
 
bool CopyCharToTexture (FT_BitmapGlyph bitGlyph, unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2) override
 
void DeleteHardwareTexture () override
 
- Protected Member Functions inherited from CGUIFontTTF
 CGUIFontTTF (const std::string &fontIdent)
 
void AddReference ()
 
void RemoveReference ()
 
std::vector< GlyphGetHarfBuzzShapedGlyphs (const vecText &text)
 
float GetTextWidthInternal (const vecText &text)
 
float GetTextWidthInternal (const vecText &text, const std::vector< Glyph > &glyph)
 
float GetCharWidthInternal (character_t ch)
 
float GetTextHeight (float lineSpacing, int numLines) const
 
float GetTextBaseLine () const
 
float GetLineHeight (float lineSpacing) const
 
float GetFontHeight () const
 
void DrawTextInternal (CGraphicContext &context, float x, float y, const std::vector< KODI::UTILS::COLOR::Color > &colors, const vecText &text, uint32_t alignment, float maxPixelWidth, bool scrolling, float dx=0.0f, float dy=0.0f)
 
CharacterGetCharacter (character_t letter, FT_UInt glyphIndex)
 
bool CacheCharacter (FT_UInt glyphIndex, uint32_t style, Character *ch)
 
void RenderCharacter (CGraphicContext &context, float posX, float posY, const Character *ch, KODI::UTILS::COLOR::Color color, bool roundX, std::vector< SVertex > &vertices)
 
void ClearCharacterCache ()
 
void SetGlyphStrength (FT_GlyphSlot slot, int glyphStrength)
 
unsigned int GetTextureLineHeight () const
 the height of each line in the texture. Accounts for spacing between lines to avoid characters overlapping.
 
unsigned int GetMaxFontHeight () const
 
- Protected Member Functions inherited from ID3DResource
void Register ()
 
void Unregister ()
 

Additional Inherited Members

- Static Protected Member Functions inherited from CGUIFontTTF
static void ObliqueGlyph (FT_GlyphSlot slot)
 
- Protected Attributes inherited from CGUIFontTTF
float m_height {0.0f}
 
std::unique_ptr< CTexturem_texture
 
unsigned int m_textureWidth {0}
 
unsigned int m_textureHeight {0}
 
int m_posX {0}
 
int m_posY {0}
 
KODI::UTILS::COLOR::Color m_color {KODI::UTILS::COLOR::NONE}
 
std::vector< Characterm_char
 
Characterm_charquick [LOOKUPTABLE_SIZE] {nullptr}
 
bool m_ellipseCached {false}
 
float m_ellipsesWidth {0.0f}
 
unsigned int m_cellBaseLine {0}
 
unsigned int m_cellHeight {0}
 
unsigned int m_maxFontHeight {0}
 
unsigned int m_nestedBeginCount {0}
 
FT_Face m_face {nullptr}
 
FT_Stroker m_stroker {nullptr}
 
hb_font_t * m_hbFont {nullptr}
 
float m_originX {0.0f}
 
float m_originY {0.0f}
 
unsigned int m_nTexture {0}
 
std::vector< CTranslatedVerticesm_vertexTrans
 
std::vector< SVertexm_vertex
 
float m_textureScaleX {0.0f}
 
float m_textureScaleY {0.0f}
 
const std::string m_fontIdent
 
std::vector< uint8_tm_fontFileInMemory
 
CGUIFontCache< CGUIFontCacheStaticPosition, CGUIFontCacheStaticValuem_staticCache
 
CGUIFontCache< CGUIFontCacheDynamicPosition, CGUIFontCacheDynamicValuem_dynamicCache
 
CRenderSystemBasem_renderSystem
 
- Protected Attributes inherited from ID3DResource
bool m_bRegistered = false
 

Constructor & Destructor Documentation

◆ CGUIFontTTFDX()

CGUIFontTTFDX::CGUIFontTTFDX ( const std::string & fontIdent)
explicit

◆ ~CGUIFontTTFDX()

CGUIFontTTFDX::~CGUIFontTTFDX ( void )
virtual

Member Function Documentation

◆ CopyCharToTexture()

bool CGUIFontTTFDX::CopyCharToTexture ( FT_BitmapGlyph bitGlyph,
unsigned int x1,
unsigned int y1,
unsigned int x2,
unsigned int y2 )
overrideprotectedvirtual

Implements CGUIFontTTF.

◆ CreateStaticIndexBuffer()

void CGUIFontTTFDX::CreateStaticIndexBuffer ( void )
static

◆ CreateVertexBuffer()

CVertexBuffer CGUIFontTTFDX::CreateVertexBuffer ( const std::vector< SVertex > & vertices) const
overridevirtual

Reimplemented from CGUIFontTTF.

◆ DeleteHardwareTexture()

void CGUIFontTTFDX::DeleteHardwareTexture ( )
overrideprotectedvirtual

Implements CGUIFontTTF.

◆ DestroyStaticIndexBuffer()

static void CGUIFontTTFDX::DestroyStaticIndexBuffer ( void )
static

◆ DestroyVertexBuffer()

void CGUIFontTTFDX::DestroyVertexBuffer ( CVertexBuffer & bufferHandle) const
overridevirtual

Reimplemented from CGUIFontTTF.

◆ FirstBegin()

bool CGUIFontTTFDX::FirstBegin ( )
overridevirtual

Implements CGUIFontTTF.

◆ LastEnd()

void CGUIFontTTFDX::LastEnd ( )
overridevirtual

Implements CGUIFontTTF.

◆ OnCreateDevice()

void CGUIFontTTFDX::OnCreateDevice ( void )
overridevirtual

Implements ID3DResource.

◆ OnDestroyDevice()

void CGUIFontTTFDX::OnDestroyDevice ( bool fatal)
overridevirtual

Implements ID3DResource.

◆ ReallocTexture()

std::unique_ptr< CTexture > CGUIFontTTFDX::ReallocTexture ( unsigned int & newHeight)
overrideprotectedvirtual

Implements CGUIFontTTF.


The documentation for this class was generated from the following files: