TGUI  1.6.1
Loading...
Searching...
No Matches

Base class for text implementations that depend on the backend. More...

#include <TGUI/Backend/Renderer/BackendText.hpp>

Public Types

using TextVertexData = std::vector<std::pair<std::shared_ptr<BackendTexture>, std::shared_ptr<std::vector<Vertex>>>>
 Type of the data that is passed to BackendRenderTarget where the actual rendering happens.
 

Public Member Functions

 BackendText (const BackendText &)=delete
 
 BackendText (BackendText &&)=delete
 
BackendTextoperator= (const BackendText &)=delete
 
BackendTextoperator= (BackendText &&)=delete
 
 BackendText ()=default
 Default constructor.
 
virtual ~BackendText ()=default
 Virtual destructor.
 
virtual Vector2f getSize ()
 Returns the size of the text.
 
virtual void setString (const String &string)
 Changes the text.
 
const StringgetString () const
 Returns the text.
 
virtual void setCharacterSize (unsigned int characterSize)
 Sets the size of the characters.
 
unsigned int getCharacterSize () const
 Returns the character size of the text.
 
virtual void setFillColor (const Color &color)
 Changes the color of the text.
 
Color getFillColor () const
 Returns the text fill color.
 
virtual void setOutlineColor (const Color &color)
 Changes the color of the text outline.
 
Color getOutlineColor () const
 Returns the text outline color.
 
virtual void setOutlineThickness (float thickness)
 Changes the thickness of the text outline.
 
float getOutlineThickness () const
 Returns the text outline thickness.
 
virtual void setStyle (TextStyles style)
 Changes the text style.
 
TextStyles getStyle () const
 Returns the style of the text.
 
virtual void setFont (const std::shared_ptr< BackendFont > &font)
 Changes the font used by the text.
 
std::shared_ptr< BackendFontgetFont () const
 Returns the font of the text.
 
virtual Vector2f findCharacterPos (std::size_t index) const
 Returns the top-left position of the character at the provided index.
 
TextVertexData getVertexData (bool includeOutline=true, bool includeText=true)
 Returns the information that is needed to render this text.
 

Protected Member Functions

void updateVertices ()
 
void addGlyphQuad (std::vector< Vertex > &vertices, Vector2f position, const Vertex::Color &color, const FontGlyph &glyph, float fontScale, float italicShear)
 
void addLine (std::vector< Vertex > &vertices, float lineLength, float lineTop, const Vertex::Color &color, float offset, float thickness, float outlineThickness, float fontScale)
 

Protected Attributes

std::shared_ptr< BackendFontm_font
 
unsigned int m_lastFontTextureVersion = 0
 
String m_string
 
unsigned int m_characterSize = getGlobalTextSize()
 
Color m_fillColor
 
Color m_outlineColor
 
float m_outlineThickness = 0
 
TextStyles m_style = TextStyle::Regular
 
Vector2f m_size
 
std::shared_ptr< std::vector< Vertex > > m_vertices
 
std::shared_ptr< std::vector< Vertex > > m_outlineVertices
 
bool m_verticesNeedUpdate = true
 

Detailed Description

Base class for text implementations that depend on the backend.

Member Function Documentation

◆ findCharacterPos()

virtual Vector2f tgui::BackendText::findCharacterPos ( std::size_t index) const
nodiscardvirtual

Returns the top-left position of the character at the provided index.

Parameters
indexIndex of the character for which the position should be returned

◆ getCharacterSize()

unsigned int tgui::BackendText::getCharacterSize ( ) const
nodiscard

Returns the character size of the text.

Returns
The current text size

◆ getFillColor()

Color tgui::BackendText::getFillColor ( ) const
nodiscard

Returns the text fill color.

Returns
text color

◆ getFont()

std::shared_ptr< BackendFont > tgui::BackendText::getFont ( ) const
nodiscard

Returns the font of the text.

Returns
text font

◆ getOutlineColor()

Color tgui::BackendText::getOutlineColor ( ) const
nodiscard

Returns the text outline color.

Returns
outline color

◆ getOutlineThickness()

float tgui::BackendText::getOutlineThickness ( ) const
nodiscard

Returns the text outline thickness.

Returns
text outline thickness

◆ getSize()

virtual Vector2f tgui::BackendText::getSize ( )
nodiscardvirtual

Returns the size of the text.

Returns
Size of the bounding box around the text

◆ getString()

const String & tgui::BackendText::getString ( ) const
nodiscard

Returns the text.

Returns
The current text

◆ getStyle()

TextStyles tgui::BackendText::getStyle ( ) const
nodiscard

Returns the style of the text.

Returns
The current text style

◆ getVertexData()

TextVertexData tgui::BackendText::getVertexData ( bool includeOutline = true,
bool includeText = true )
nodiscard

Returns the information that is needed to render this text.

Parameters
includeOutlineShould the returned data include the text outline?
includeTextShould the returned data include the text itself (i.e. everything except the outline)?
Returns
Data that contains the textures and vertices used by this text

◆ setCharacterSize()

virtual void tgui::BackendText::setCharacterSize ( unsigned int characterSize)
virtual

Sets the size of the characters.

Parameters
characterSizeMaximum size available for characters above the baseline

◆ setFillColor()

virtual void tgui::BackendText::setFillColor ( const Color & color)
virtual

Changes the color of the text.

Parameters
colorText color

◆ setFont()

virtual void tgui::BackendText::setFont ( const std::shared_ptr< BackendFont > & font)
virtual

Changes the font used by the text.

Parameters
fontNew text font

◆ setOutlineColor()

virtual void tgui::BackendText::setOutlineColor ( const Color & color)
virtual

Changes the color of the text outline.

Parameters
colorOutline color

◆ setOutlineThickness()

virtual void tgui::BackendText::setOutlineThickness ( float thickness)
virtual

Changes the thickness of the text outline.

Parameters
thicknessOutline thickness

◆ setString()

virtual void tgui::BackendText::setString ( const String & string)
virtual

Changes the text.

Parameters
stringText that should be displayed

◆ setStyle()

virtual void tgui::BackendText::setStyle ( TextStyles style)
virtual

Changes the text style.

Parameters
styleNew text style

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