[][src]Struct embedded_text::style::height_mode::ShrinkToText

pub struct ShrinkToText<OV: VerticalOverdraw>(pub OV);

If the text does not fill the bounding box, shrink the StyledTextBox to be as tall as the text.

Example: ShrinkToText does not grow the TextBox.

use embedded_text::{prelude::*, style::vertical_overdraw::FullRowsOnly};
use embedded_graphics::{fonts::Font6x8, pixelcolor::BinaryColor, prelude::*};

// This TextBox contains two lines of text, but is 1px high
let text_box = TextBox::new(
    "Two lines\nof text",
    Rectangle::new(Point::zero(), Point::new(59, 0)),
);

// Set style, use 6x8 font so the 2 lines are 16px high.
let style = TextBoxStyleBuilder::new(Font6x8)
    .height_mode(ShrinkToText(FullRowsOnly))
    .text_color(BinaryColor::On)
    .build();

let size = text_box.into_styled(style).size();
assert_eq!(size, Size::new(60, 1));

Example: ShrinkToText shrinks the TextBox.

use embedded_text::{prelude::*, style::vertical_overdraw::FullRowsOnly};
use embedded_graphics::{fonts::Font6x8, pixelcolor::BinaryColor, prelude::*};

// This TextBox contains two lines of text, but is 60px high
let text_box = TextBox::new(
    "Two lines\nof text",
    Rectangle::new(Point::zero(), Point::new(59, 59)),
);

// Set style, use 6x8 font so the 2 lines are 16px high.
let style = TextBoxStyleBuilder::new(Font6x8)
    .height_mode(ShrinkToText(FullRowsOnly))
    .text_color(BinaryColor::On)
    .build();

let size = text_box.into_styled(style).size();
assert_eq!(size, Size::new(60, 16));

Trait Implementations

impl<OV: Clone + VerticalOverdraw> Clone for ShrinkToText<OV>[src]

impl<OV: Copy + VerticalOverdraw> Copy for ShrinkToText<OV>[src]

impl<OV: Debug + VerticalOverdraw> Debug for ShrinkToText<OV>[src]

impl<OV> HeightMode for ShrinkToText<OV> where
    OV: VerticalOverdraw
[src]

Auto Trait Implementations

impl<OV> RefUnwindSafe for ShrinkToText<OV> where
    OV: RefUnwindSafe

impl<OV> Send for ShrinkToText<OV> where
    OV: Send

impl<OV> Sync for ShrinkToText<OV> where
    OV: Sync

impl<OV> Unpin for ShrinkToText<OV> where
    OV: Unpin

impl<OV> UnwindSafe for ShrinkToText<OV> where
    OV: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.