18#ifndef INCLUDED_CGUISTRING
19#define INCLUDED_CGUISTRING
String class, substitute for CStr, but that parses the tags and builds up a list of all text that wil...
Definition: CGUIString.h:42
void GenerateTextCall(const CGUI &pGUI, SFeedback &Feedback, CStrIntern DefaultFont, const int &from, const int &to, const bool FirstLine, const IGUIObject *pObject=nullptr) const
Generate Text Call from specified range.
Definition: CGUIString.cpp:54
CStrW m_OriginalString
The original string value passed to SetValue.
Definition: CGUIString.h:222
const CStrW & GetRawString() const
Get String, stripped of tags.
Definition: CGUIString.h:180
std::vector< int > m_Words
Words.
Definition: CGUIString.h:206
const CStrW & GetOriginalString() const
Get String, with tags.
Definition: CGUIString.h:175
std::vector< TextChunk > m_TextChunks
TextChunks.
Definition: CGUIString.h:212
void SetValue(const CStrW &str)
Set the value, the string will automatically be parsed when set.
Definition: CGUIString.cpp:279
CStrW m_RawString
The full raw string.
Definition: CGUIString.h:217
The main object that represents a whole GUI page.
Definition: CGUI.h:61
Interned 8-bit strings.
Definition: CStrIntern.h:38
GUI object such as a button or an input-box.
Definition: IGUIObject.h:60
All data generated in GenerateTextCall()
Definition: CGUIString.h:122
std::list< CGUIText::SSpriteCall > m_SpriteCalls
Definition: CGUIString.h:148
bool m_EndsWithSpace
If the word inputted ends with a space that can be collapsed when aligning.
Definition: CGUIString.h:163
void Reset()
Reset all member data.
Definition: CGUIString.cpp:43
bool m_NewLine
If the word inputted was a new line.
Definition: CGUIString.h:158
CSize2D m_Size
Width and Height feedback
Definition: CGUIString.h:153
static const int Right
Definition: CGUIString.h:130
static const int Left
Definition: CGUIString.h:129
std::vector< CGUIText::STextCall > m_TextCalls
Text and Sprite Calls.
Definition: CGUIString.h:145
std::array< std::vector< CStr >, 2 > m_Images
Image stacks, for left and right floating images.
Definition: CGUIString.h:140
Definition: CGUIString.h:74
std::wstring value
Definition: CGUIString.h:76
std::wstring attrib
Definition: CGUIString.h:75
A tag looks like this "Hello [b]there[/b] little".
Definition: CGUIString.h:55
bool SetTagType(const CStrW &tagtype)
Set tag from string.
Definition: CGUIString.cpp:251
TagType m_TagType
In [b="Hello"][/b] m_TagType is TAG_B.
Definition: CGUIString.h:93
std::wstring m_TagValue
In [b="Hello"][/b] m_TagValue is 'Hello'.
Definition: CGUIString.h:99
TagType GetTagType(const CStrW &tagtype) const
Definition: CGUIString.cpp:261
std::vector< TagAttribute > m_TagAttributes
Some tags need an additional attributes.
Definition: CGUIString.h:104
TagType
Tag Type.
Definition: CGUIString.h:60
@ TAG_I
Definition: CGUIString.h:62
@ TAG_SIZE
Definition: CGUIString.h:64
@ TAG_IMGLEFT
Definition: CGUIString.h:66
@ TAG_COLOR
Definition: CGUIString.h:65
@ TAG_INVALID
Definition: CGUIString.h:70
@ TAG_FONT
Definition: CGUIString.h:63
@ TAG_B
Definition: CGUIString.h:61
@ TAG_ICON
Definition: CGUIString.h:68
@ TAG_IMGRIGHT
Definition: CGUIString.h:67
@ TAG_TOOLTIP
Definition: CGUIString.h:69
A chunk of text that represents one call to the renderer.
Definition: CGUIString.h:50
std::vector< Tag > m_Tags
Tags that are present.
Definition: CGUIString.h:115
int m_From
m_From and m_To is the range of the string
Definition: CGUIString.h:110
int m_To
Definition: CGUIString.h:110