Intermediate structure for layout of a single character. More...
#include <kanzi/core.ui/text/text_layouter.hpp>
Public Member Functions | |
CharacterInfo () | |
Constructor. | |
Public Attributes | |
bool | addedDuringLayouting |
Flag to determine whether character is part of the input text, or it was added during layouting, for example, due to overflow. | |
unsigned char | bidiLevel |
Bidirectional embedding level of the character. | |
RectangleFloat | bounds |
Bounding rectangle for the glyph. | |
unsigned int | character |
Character glyph index to a font table. | |
unsigned int | clusterEnd |
Index of the character in the input text that starts the next cluster, or length of the input text if this is the last cluster. | |
unsigned int | clusterStart |
Index of the first character in the input text that is part of this cluster. | |
bool | endOfLine |
Whether layouting continues in a new line after this character. | |
bool | potentialEndOfLine |
Whether layouting continues in a new line after this character. | |
unsigned int | precedingCharactersOnLine |
Amount of characters before this one on the current line. | |
bool | renderable |
Whether this is a valid character that participates in the layout. | |
float | totalAdvanceOnLine |
Total width of characters up to this one on the current line. | |
bool | whitespace |
Whether this is a whitespace character, such as ' '. | |
float | width |
Width of the character. | |
float | x |
Layouted x axis coordinate of the character. | |
float | y |
Layouted y axis coordinate of the character. | |
Intermediate structure for layout of a single character.
|
inline |
Constructor.
RectangleFloat kanzi::TextLayouter::CharacterInfo::bounds |
Bounding rectangle for the glyph.
float kanzi::TextLayouter::CharacterInfo::width |
Width of the character.
float kanzi::TextLayouter::CharacterInfo::x |
Layouted x axis coordinate of the character.
float kanzi::TextLayouter::CharacterInfo::y |
Layouted y axis coordinate of the character.
float kanzi::TextLayouter::CharacterInfo::totalAdvanceOnLine |
Total width of characters up to this one on the current line.
Index of the first character in the input text that is part of this cluster.
See https://harfbuzz.github.io/clusters.html for more information.
Index of the character in the input text that starts the next cluster, or length of the input text if this is the last cluster.
Amount of characters before this one on the current line.
Bidirectional embedding level of the character.
Even levels denote left-to-right text, odd levels right-to-left. See Unicode Standard Annex #9, Unicode Bidirectional Algorithm.
bool kanzi::TextLayouter::CharacterInfo::potentialEndOfLine |
Whether layouting continues in a new line after this character.
bool kanzi::TextLayouter::CharacterInfo::endOfLine |
Whether layouting continues in a new line after this character.
bool kanzi::TextLayouter::CharacterInfo::whitespace |
Whether this is a whitespace character, such as ' '.
bool kanzi::TextLayouter::CharacterInfo::renderable |
Whether this is a valid character that participates in the layout.
bool kanzi::TextLayouter::CharacterInfo::addedDuringLayouting |
Flag to determine whether character is part of the input text, or it was added during layouting, for example, due to overflow.
This is set to true if the character was added during layouting and false if the character is part of the input text.