[−][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 |
|