19 #ifndef FASTUIDRAW_GLYPH_ATTRIBUTE_PACKER_HPP 20 #define FASTUIDRAW_GLYPH_ATTRIBUTE_PACKER_HPP 61 const vec2 position,
float scale_factor,
80 const vec2 position,
float scale_factor,
98 unsigned int *out_num_indices,
99 unsigned int *out_num_attributes)
const = 0;
120 const vec2 p_bl,
const vec2 p_tr)
const = 0;
static const GlyphAttributePacker & standard_packer(enum PainterEnums::screen_orientation orientation, enum PainterEnums::glyph_layout_type layout)
virtual void glyph_position(Glyph glyph, const vec2 position, float scale_factor, vec2 *p_bl, vec2 *p_tr) const =0
screen_orientation
Enumeration to indicate in what direction the y-coordinate increases.
all classes and functions of FastUIDraw are in the namespace fastuidraw.
virtual void realize_attribute_data(GlyphRenderer glyph_renderer, c_array< const GlyphAttribute > glyph_attributes, c_array< PainterIndex > dst_indices, c_array< PainterAttribute > dst_attribs, const vec2 p_bl, const vec2 p_tr) const =0
virtual void compute_needed_room(GlyphRenderer glyph_renderer, c_array< const GlyphAttribute > glyph_attributes, unsigned int *out_num_indices, unsigned int *out_num_attributes) const =0
virtual void glyph_position_from_metrics(GlyphMetrics metrics, const vec2 position, float scale_factor, vec2 *p_bl, vec2 *p_tr) const =0
A c_array is a wrapper over a C pointer with a size parameter to facilitate bounds checking and provi...
glyph_layout_type
Enumeration to indicate if glyph layout is horizontal or vertical.
Defines default reference counting base classes.
A GlyphMetrics provides information on the metrics of a glyph, all the values are in units of the fon...
A Glyph is essentially an opaque pointer to data for rendering and performing layout of a glyph...
A GlyphAttributePacker provides an interface to customize how glyph attribute and index data is reali...
Specifies how to render a glyph.