FlatUI
An open source project by FPL.
 All Classes Namespaces Files Functions Variables Enumerations Groups Pages
font_buffer.h File Reference
#include "flatui/internal/flatui_util.h"
#include "flatui/internal/glyph_cache.h"
#include "flatui/internal/hb_complex_font.h"

Go to the source code of this file.

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...
 
struct  flatui::FontBufferAttributes::UnderlineInfo
 
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...
 

Namespaces

 flatui
 Namespace for FlatUI library.
 

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