Enum glyph_brush_layout::Layout [−][src]
pub enum Layout<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
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.
Show fields
Fields of SingleLine
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.
Show fields
Fields of Wrap
Implementations
impl Layout<BuiltInLineBreaker>
[src]
impl Layout<BuiltInLineBreaker>
[src]pub fn default_single_line() -> Self
[src]
pub fn default_wrap() -> Self
[src]
impl<L: LineBreaker> Layout<L>
[src]
impl<L: LineBreaker> Layout<L>
[src]pub fn h_align(self, h_align: HorizontalAlign) -> Self
[src]
pub fn h_align(self, h_align: HorizontalAlign) -> Self
[src]Returns an identical Layout
but with the input h_align
pub fn v_align(self, v_align: VerticalAlign) -> Self
[src]
pub fn v_align(self, v_align: VerticalAlign) -> Self
[src]Returns an identical Layout
but with the input v_align
pub fn line_breaker<L2: LineBreaker>(self, line_breaker: L2) -> Layout<L2>
[src]
pub fn line_breaker<L2: LineBreaker>(self, line_breaker: L2) -> Layout<L2>
[src]Returns an identical Layout
but with the input line_breaker
Trait Implementations
impl<L: Clone + LineBreaker> Clone for Layout<L>
[src]
impl<L: Clone + LineBreaker> Clone for Layout<L>
[src]impl<L: Debug + LineBreaker> Debug for Layout<L>
[src]
impl<L: Debug + LineBreaker> Debug for Layout<L>
[src]impl Default for Layout<BuiltInLineBreaker>
[src]
impl Default for Layout<BuiltInLineBreaker>
[src]impl<L: LineBreaker> GlyphPositioner for Layout<L>
[src]
impl<L: LineBreaker> GlyphPositioner for Layout<L>
[src]fn calculate_glyphs<F, S>(
&self,
fonts: &[F],
geometry: &SectionGeometry,
sections: &[S]
) -> Vec<SectionGlyph> where
F: Font,
S: ToSectionText,
[src]
fn calculate_glyphs<F, S>(
&self,
fonts: &[F],
geometry: &SectionGeometry,
sections: &[S]
) -> Vec<SectionGlyph> where
F: Font,
S: ToSectionText,
[src]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
fn bounds_rect(&self, geometry: &SectionGeometry) -> Rect
[src]
fn bounds_rect(&self, geometry: &SectionGeometry) -> Rect
[src]Return a screen rectangle according to the requested render position and bounds appropriate for the glyph layout. Read more
fn recalculate_glyphs<F, S, P>(
&self,
previous: P,
change: GlyphChange,
fonts: &[F],
geometry: &SectionGeometry,
sections: &[S]
) -> Vec<SectionGlyph> where
F: Font,
S: ToSectionText,
P: IntoIterator<Item = SectionGlyph>,
[src]
fn recalculate_glyphs<F, S, P>(
&self,
previous: P,
change: GlyphChange,
fonts: &[F],
geometry: &SectionGeometry,
sections: &[S]
) -> Vec<SectionGlyph> where
F: Font,
S: ToSectionText,
P: IntoIterator<Item = SectionGlyph>,
[src]Recalculate a glyph sequence after a change. Read more
impl<L: Hash + LineBreaker> Hash for Layout<L>
[src]
impl<L: Hash + LineBreaker> Hash for Layout<L>
[src]impl<L: Copy + LineBreaker> Copy for Layout<L>
[src]
impl<L: Eq + LineBreaker> Eq for Layout<L>
[src]
impl<L: LineBreaker> StructuralEq for Layout<L>
[src]
impl<L: LineBreaker> StructuralPartialEq for Layout<L>
[src]
Auto Trait Implementations
impl<L> RefUnwindSafe for Layout<L> where
L: RefUnwindSafe,
L: RefUnwindSafe,
impl<L> Send for Layout<L> where
L: Send,
L: Send,
impl<L> Sync for Layout<L> where
L: Sync,
L: Sync,
impl<L> Unpin for Layout<L> where
L: Unpin,
L: Unpin,
impl<L> UnwindSafe for Layout<L> where
L: UnwindSafe,
L: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more