Enum gfx_glyph::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, }, }
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.
Fields of SingleLine
line_breaker: L | |
h_align: HorizontalAlign | |
v_align: VerticalAlign |
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.
Fields of Wrap
line_breaker: L | |
h_align: HorizontalAlign | |
v_align: VerticalAlign |
Methods
impl Layout<BuiltInLineBreaker>
[src]
pub fn default_single_line() -> Self
[src]
pub fn default_wrap() -> Self
[src]
impl<L: LineBreaker> Layout<L>
[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]
Returns an identical Layout
but with the input v_align
pub fn line_breaker<L2: LineBreaker>(self, line_breaker: L2) -> Layout<L2>
[src]
Returns an identical Layout
but with the input line_breaker
impl<L: LineBreaker> Layout<L>
[src]
pub fn calculate_glyphs_and_leftover<'a, 'font>(
&self,
font_map: &HashMap<FontId, Font<'font>>,
section: &SectionGlyphInfo<'a>
) -> (Vec<GlyphedSectionText<'font>>, Option<LayoutLeftover<'a>>)
[src]
&self,
font_map: &HashMap<FontId, Font<'font>>,
section: &SectionGlyphInfo<'a>
) -> (Vec<GlyphedSectionText<'font>>, Option<LayoutLeftover<'a>>)
Trait Implementations
impl<L: Debug + LineBreaker> Debug for Layout<L>
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl<L: Clone + LineBreaker> Clone for Layout<L>
[src]
fn clone(&self) -> Layout<L>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<L: Copy + LineBreaker> Copy for Layout<L>
[src]
impl<L: Hash + LineBreaker> Hash for Layout<L>
[src]
fn hash<__HL: Hasher>(&self, __arg_0: &mut __HL)
[src]
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl<L: PartialEq + LineBreaker> PartialEq for Layout<L>
[src]
fn eq(&self, __arg_0: &Layout<L>) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Layout<L>) -> bool
[src]
This method tests for !=
.
impl<L: Eq + LineBreaker> Eq for Layout<L>
[src]
impl Default for Layout<BuiltInLineBreaker>
[src]
impl<L: LineBreaker> GlyphPositioner for Layout<L>
[src]
fn calculate_glyphs<'font, 'a, G: Into<SectionGlyphInfo<'a>>>(
&self,
font_map: &HashMap<FontId, Font<'font>>,
section: G
) -> Vec<GlyphedSectionText<'font>>
[src]
&self,
font_map: &HashMap<FontId, Font<'font>>,
section: G
) -> Vec<GlyphedSectionText<'font>>
Calculate a sequence of positioned glyphs to render. Custom implementations should always return the same result when called with the same arguments. If not consider disabling cache_glyph_positioning
. Read more
fn bounds_rect<'a, G: Into<SectionGlyphInfo<'a>>>(
&self,
section: G
) -> Rect<f32>
[src]
&self,
section: G
) -> Rect<f32>
Return a rectangle according to the requested render position and bounds appropriate for the glyph layout. Read more