[−][src]Crate gfx_glyph
Fast GPU cached text rendering using gfx-rs & ab_glyph.
Makes use of three kinds of caching to optimise frame performance.
- Caching of glyph positioning output to avoid repeated cost of identical text rendering on sequential frames.
- Caches draw calculations to avoid repeated cost of identical text rendering on sequential frames.
- GPU cache logic to dynamically maintain a GPU texture of rendered glyphs.
Example
use gfx_glyph::{ab_glyph::FontArc, GlyphBrushBuilder, Section, Text}; let dejavu = FontArc::try_from_slice(include_bytes!("../../fonts/DejaVuSans.ttf"))?; let mut glyph_brush = GlyphBrushBuilder::using_font(dejavu).build(gfx_factory.clone()); let section = Section::default() .add_text(Text::new("Hello gfx_glyph")); glyph_brush.queue(section); glyph_brush.queue(some_other_section); glyph_brush.use_queue().draw(&mut gfx_encoder, &gfx_color)?;
Modules
ab_glyph | Re-exported ab_glyph types. |
legacy |
Structs
DrawBuilder | Short-lived builder for drawing glyphs, constructed from |
Extra | Default |
FontId | Id for a font. |
GlyphBrush | Object allowing glyph drawing, containing cache state. Manages glyph positioning cacheing, glyph draw caching & efficient GPU texture cache updating and re-sizing on demand. |
GlyphBrushBuilder | Builder for a |
OwnedSection | |
OwnedText | |
Section | An object that contains all the info to render a varied section of text. That is one including many parts with differing fonts/scales/colors bowing to a single layout. |
SectionGeometry | |
SectionGlyph | A positioned glyph with info relating to the |
SectionText | Text to layout together using a font & scale. |
Text |
|
Enums
BuiltInLineBreaker | Built-in linebreaking logic. |
HorizontalAlign | Describes horizontal alignment preference for positioning & bounds. |
Layout | Built-in |
LineBreak | Indicator that a character is a line break, soft or hard. Includes the offset (byte-index) position. |
VerticalAlign | Describes vertical alignment preference for positioning & bounds. Currently a placeholder for future functionality. |
Traits
GlyphCruncher | Common glyph layout logic. |
GlyphPositioner | Logic to calculate glyph positioning using |
LineBreaker | Producer of a |
Functions
default_transform | Returns the default 4 dimensional matrix orthographic projection used for drawing. |
Type Definitions
SectionGlyphIter |
|