Struct glyph_brush::Section
source · pub struct Section<'a, X = Extra> {
pub screen_position: (f32, f32),
pub bounds: (f32, f32),
pub layout: Layout<BuiltInLineBreaker>,
pub text: Vec<Text<'a, X>>,
}
Expand description
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.
Example
use glyph_brush::{HorizontalAlign, Layout, Section, Text};
let section = Section::default()
.add_text(Text::new("The last word was ").with_color([0.0, 0.0, 0.0, 1.0]))
.add_text(Text::new("RED").with_color([1.0, 0.0, 0.0, 1.0]))
.with_layout(Layout::default().h_align(HorizontalAlign::Center));
Extra
Extra text section data is stored in a generic type, default Extra
. To use custom
extra
data ensure your custom type implements Debug
, Clone
, PartialEq
& Hash
.
Fields§
§screen_position: (f32, f32)
Position on screen to render text, in pixels from top-left. Defaults to (0, 0).
bounds: (f32, f32)
Max (width, height) bounds, in pixels from top-left. Defaults to unbounded.
layout: Layout<BuiltInLineBreaker>
Built in layout, can be overridden with custom layout logic
see queue_custom_layout
text: Vec<Text<'a, X>>
Text to render, rendered next to one another according the layout.
Implementations§
source§impl Section<'_, ()>
impl Section<'_, ()>
sourcepub fn builder() -> SectionBuilder
pub fn builder() -> SectionBuilder
Return a SectionBuilder
to fluently build up a Section
.
source§impl<'a, X> Section<'a, X>
impl<'a, X> Section<'a, X>
pub fn with_screen_position<P: Into<(f32, f32)>>(self, position: P) -> Self
pub fn with_bounds<P: Into<(f32, f32)>>(self, bounds: P) -> Self
pub fn with_layout<L: Into<Layout<BuiltInLineBreaker>>>(self, layout: L) -> Self
pub fn add_text<T: Into<Text<'a, X>>>(self, text: T) -> Self
pub fn with_text<X2>(self, text: Vec<Text<'_, X2>>) -> Section<'_, X2>
Trait Implementations§
source§impl Default for Section<'static, Extra>
impl Default for Section<'static, Extra>
source§fn default() -> Self
fn default() -> Self
Note this only works for X=Extra
for more flexible use see Section::builder
.