[−][src]Crate glyph_brush
use glyph_brush::{BrushAction, BrushError, GlyphBrushBuilder, Section}; let dejavu: &[u8] = include_bytes!("../../fonts/DejaVuSans.ttf"); let mut glyph_brush = GlyphBrushBuilder::using_font_bytes(dejavu).build(); glyph_brush.queue(Section { text: "Hello glyph_brush", ..Section::default() }); glyph_brush.queue(some_other_section); match glyph_brush.process_queued( |rect, tex_data| update_texture(rect, tex_data), |vertex_data| into_vertex(vertex_data), ) { Ok(BrushAction::Draw(vertices)) => { // Draw new vertices. } Ok(BrushAction::ReDraw) => { // Re-draw last frame's vertices unmodified. } Err(BrushError::TextureTooSmall { suggested }) => { // Enlarge texture + glyph_brush texture cache and retry. } }
Modules
rusttype | Re-exported rusttype types. |
Macros
delegate_glyph_brush_builder_fns | Macro to delegate builder methods to an inner |
Structs
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. |
GlyphBrushBuilder | Builder for a |
GlyphCalculator | Cut down version of a |
GlyphCalculatorBuilder | Builder for a |
GlyphCalculatorGuard |
|
GlyphVertex | Data used to generate vertex information for a single glyph |
OwnedSectionText | |
OwnedVariedSection | |
Section | An object that contains all the info to render a section of text. |
SectionGeometry | |
SectionText | |
VariedSection | 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. |
Enums
BrushAction | Actions that should be taken after processing queue data |
BrushError | |
BuiltInLineBreaker | Built-in linebreaking logic. |
GlyphChange | |
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
FontMap | |
GlyphCruncher | Common glyph layout logic. |
GlyphPositioner | Logic to calculate glyph positioning using |
LineBreaker | Producer of a |
Type Definitions
Color | RGBA |
DefaultSectionHasher | A "practically collision free" |
PositionedGlyphIter |
|