FlatUI
An open source project by
FPL.
|
Classes and methods for handling fonts. More...
Classes and methods for handling fonts.
Classes | |
struct | flatui::FontFamily |
A class holding font family information. The class provides various ways to support fonts such as a font collection (multiple fonts in a file), referencing a font by a famly name etc. More... | |
class | flatui::FontBufferParameters |
This class that includes font buffer parameters. It is used as a key in the unordered_map to look up FontBuffer. More... | |
struct | flatui::LinkInfo |
HTML link href, and the location of the link text in FontBuffer. More... | |
class | flatui::FontMetrics |
This class has additional properties for font metrics. More... | |
struct | flatui::FontVertex |
This struct holds all the font vertex data. More... | |
class | flatui::FontBufferAttributes |
A structure holding attribute information of texts in a FontBuffer. More... | |
class | flatui::FontBufferContext |
Temporary buffers used while generating FontBuffer. Word boundary information. This information is used only with a typography layout with a justification. More... | |
struct | flatui::GlyphInfo |
This struct holds the glyph information that is used when re-creating a FontBuffer. More... | |
class | flatui::FontBuffer |
this is used with the texture atlas rendering. More... | |
class | flatui::FontManager |
FontManager manages font rendering with OpenGL utilizing freetype and harfbuzz as a glyph rendering and layout back end. More... | |
struct | flatui::ScriptInfo |
This struct holds the script information used for a text layout. More... | |
Enumerations | |
enum | flatui::TextLayoutDirection { kTextLayoutDirectionLTR = 0, kTextLayoutDirectionRTL = 1, kTextLayoutDirectionTTB = 2 } |
Specify how to layout texts. Default value is TextLayoutDirectionLTR. | |
enum | flatui::TextAlignment { kTextAlignmentLeft = 0, kTextAlignmentRight = 1, kTextAlignmentCenter = 2, kTextAlignmentJustify = 4, kTextAlignmentLeftJustify = kTextAlignmentJustify, kTextAlignmentRightJustify = kTextAlignmentJustify | kTextAlignmentRight, kTextAlignmentCenterJustify = kTextAlignmentJustify | kTextAlignmentCenter } |
Alignment of the text. More... | |
enum | flatui::FontBufferStatus { kFontBufferStatusReady = 0, kFontBufferStatusNeedReconstruct = 1, kFontBufferStatusNeedCacheUpdate = 2 } |
A status of FontBuffer correspoinding current glyph cache contents. Enumerations: More... | |
enum | flatui::EllipsisMode { kEllipsisModeTruncateCharacter = 0, kEllipsisModeTruncateWord = 1 } |
A flag controlling appending behavior of the ellipsis. Enumerations: More... | |
Variables | |
const int32_t | flatui::kFreeTypeUnit = 64 |
Constant to convert FreeType unit to pixel unit. More... | |
const float | flatui::kLineHeightDefault = 1.2f |
Default value for a line height factor. More... | |
const float | flatui::kKerningScaleDefault = 1.0f |
Default value for a kerning scale factor. More... | |
const mathfu::vec2i | flatui::kCaretPositionInvalid = mathfu::vec2i(-1, -1) |
A sentinel value representing an invalid caret position. | |
const int32_t | flatui::kIndexInvalid = -1 |
const uint32_t | flatui::kDefaultColor = 0xffffffff |
const int32_t | flatui::kVerticesPerGlyph = 4 |
const int32_t | flatui::kIndicesPerGlyph = 6 |
The number of vertices/indices per a glyph entry. | |
const int32_t | flatui::kGlyphCacheWidth = 1024 |
The default size of the glyph cache width. | |
const int32_t | flatui::kGlyphCacheHeight = 1024 |
The default size of the glyph cache height. | |
const int32_t | flatui::kGlyphCacheMaxSlices = 4 |
The default size of the max glyph cache slices. The number of cache slices grows up to the value. | |
const char *const | flatui::kDefaultLanguage = "en" |
The default language used for a line break. | |
const char *const | flatui::kSystemFont = ".SystemFont" |
A constant to spefify loading a system font. Used with OpenFont() and SelectFont() API Currently the system font is supported on iOS/macOS and Android only. | |
static const HashedId | flatui::kSystemFontId = HashId(kSystemFont) |
enum flatui::EllipsisMode |
A flag controlling appending behavior of the ellipsis. Enumerations:
kEllipsisModeTruncateCharacter
- Truncate characters to make a space.kEllipsisModeTruncateWord
- Truncate whole word to make a space. A status of FontBuffer correspoinding current glyph cache contents. Enumerations:
kFontBufferStatusReady
- The font buffer is ready to use.kFontBufferStatusNeedReconstruct
- The glyph cache has been flushed.kFontBufferStatusNeedCacheUpdate
- The glyph cache texture needs to beAlignment of the text.
Enumerations:
kTextAlignmentLeft
- Text is aligned to the left of the given area. Default setting.kTextAlignmentRight
- Text is aligned to the right of the given area.kTextAlignmentCenter
- Text is aligned to the center of the given area.kTextAlignmentJustify
- Text is 'justified'. Spaces between words are stretched to align both the left and right ends of each line of text.kTextAlignmentLeftJustify
- An alias of kTextAlignmentJustify. The last line of a paragraph is aligned to the left.kTextAlignmentRightJustify
- Text is 'justified'. The last line of a paragraph is aligned to the right.kTextAlignmentCenterJustify
- Text is 'justified'. The last line of a paragraph is aligned to the center.For more detail of each settings, refer: https://en.wikipedia.org/wiki/Typographic_alignment
flatui::kFreeTypeUnit = 64 |
Constant to convert FreeType unit to pixel unit.
In FreeType & Harfbuzz, the position value unit is 1/64 px whereas configurable in FlatUI. The constant is used to convert FreeType unit to px.
flatui::kKerningScaleDefault = 1.0f |
Default value for a kerning scale factor.
The kerning value is derived as the factor * kerning value retrieved from harfbuzz. To change the kerning scale, use SetKerningScale()
API.
flatui::kLineHeightDefault = 1.2f |
Default value for a line height factor.
The line height is derived as the factor * a font height. To change the line height, use SetLineHeightScale()
API.