Enum glyph_brush::Layout
source · pub enum Layout<L>where
L: LineBreaker,{
SingleLine {
line_breaker: L,
h_align: HorizontalAlign,
v_align: VerticalAlign,
},
Wrap {
line_breaker: L,
h_align: HorizontalAlign,
v_align: VerticalAlign,
},
}
Expand description
Built-in GlyphPositioner
implementations.
Takes generic LineBreaker
to indicate the wrapping style.
See BuiltInLineBreaker
.
Example
let layout = Layout::default().h_align(HorizontalAlign::Right);
Variants
SingleLine
Renders a single line from left-to-right according to the inner alignment. Hard breaking will end the line, partially hitting the width bound will end the line.
Wrap
Renders multiple lines from left-to-right according to the inner alignment. Hard breaking characters will cause advancement to another line. A characters hitting the width bound will also cause another line to start.
Implementations
sourceimpl Layout<BuiltInLineBreaker>
impl Layout<BuiltInLineBreaker>
pub fn default_single_line() -> Layout<BuiltInLineBreaker>
pub fn default_wrap() -> Layout<BuiltInLineBreaker>
sourceimpl<L> Layout<L>where
L: LineBreaker,
impl<L> Layout<L>where
L: LineBreaker,
sourcepub fn h_align(self, h_align: HorizontalAlign) -> Layout<L>
pub fn h_align(self, h_align: HorizontalAlign) -> Layout<L>
Returns an identical Layout
but with the input h_align
sourcepub fn v_align(self, v_align: VerticalAlign) -> Layout<L>
pub fn v_align(self, v_align: VerticalAlign) -> Layout<L>
Returns an identical Layout
but with the input v_align
sourcepub fn line_breaker<L2>(self, line_breaker: L2) -> Layout<L2>where
L2: LineBreaker,
pub fn line_breaker<L2>(self, line_breaker: L2) -> Layout<L2>where
L2: LineBreaker,
Returns an identical Layout
but with the input line_breaker
Trait Implementations
sourceimpl<L> Clone for Layout<L>where
L: Clone + LineBreaker,
impl<L> Clone for Layout<L>where
L: Clone + LineBreaker,
sourceimpl<L> Debug for Layout<L>where
L: Debug + LineBreaker,
impl<L> Debug for Layout<L>where
L: Debug + LineBreaker,
sourceimpl Default for Layout<BuiltInLineBreaker>
impl Default for Layout<BuiltInLineBreaker>
sourcefn default() -> Layout<BuiltInLineBreaker>
fn default() -> Layout<BuiltInLineBreaker>
Returns the “default value” for a type. Read more
sourceimpl<L> GlyphPositioner for Layout<L>where
L: LineBreaker,
impl<L> GlyphPositioner for Layout<L>where
L: LineBreaker,
sourcefn calculate_glyphs<'font, F>(
&self,
font_map: &F,
geometry: &SectionGeometry,
sections: &[SectionText<'_>]
) -> Vec<(PositionedGlyph<'font>, [f32; 4], FontId), Global>where
F: FontMap<'font>,
fn calculate_glyphs<'font, F>(
&self,
font_map: &F,
geometry: &SectionGeometry,
sections: &[SectionText<'_>]
) -> Vec<(PositionedGlyph<'font>, [f32; 4], FontId), Global>where
F: FontMap<'font>,
Calculate a sequence of positioned glyphs to render. Custom implementations should
return the same result when called with the same arguments to allow layout caching. Read more
sourcefn bounds_rect(&self, geometry: &SectionGeometry) -> Rect<f32>
fn bounds_rect(&self, geometry: &SectionGeometry) -> Rect<f32>
Return a screen rectangle according to the requested render position and bounds
appropriate for the glyph layout. Read more
sourcefn recalculate_glyphs<'font, F>(
&self,
previous: Cow<'_, Vec<(PositionedGlyph<'font>, [f32; 4], FontId), Global>>,
change: GlyphChange,
fonts: &F,
geometry: &SectionGeometry,
sections: &[SectionText<'_>]
) -> Vec<(PositionedGlyph<'font>, [f32; 4], FontId), Global>where
F: FontMap<'font>,
fn recalculate_glyphs<'font, F>(
&self,
previous: Cow<'_, Vec<(PositionedGlyph<'font>, [f32; 4], FontId), Global>>,
change: GlyphChange,
fonts: &F,
geometry: &SectionGeometry,
sections: &[SectionText<'_>]
) -> Vec<(PositionedGlyph<'font>, [f32; 4], FontId), Global>where
F: FontMap<'font>,
Recalculate a glyph sequence after a change. Read more
sourceimpl<L> Hash for Layout<L>where
L: Hash + LineBreaker,
impl<L> Hash for Layout<L>where
L: Hash + LineBreaker,
sourceimpl<L> PartialEq<Layout<L>> for Layout<L>where
L: PartialEq<L> + LineBreaker,
impl<L> PartialEq<Layout<L>> for Layout<L>where
L: PartialEq<L> + LineBreaker,
impl<L> Copy for Layout<L>where
L: Copy + LineBreaker,
impl<L> Eq for Layout<L>where
L: Eq + LineBreaker,
impl<L> StructuralEq for Layout<L>where
L: LineBreaker,
impl<L> StructuralPartialEq for Layout<L>where
L: LineBreaker,
Auto Trait Implementations
impl<L> RefUnwindSafe for Layout<L>where
L: RefUnwindSafe,
impl<L> Send for Layout<L>where
L: Send,
impl<L> Sync for Layout<L>where
L: Sync,
impl<L> Unpin for Layout<L>where
L: Unpin,
impl<L> UnwindSafe for Layout<L>where
L: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more