pub struct TextStyleBuilder<C, F>
where C: PixelColor, F: Font + Clone,
{ /* private fields */ }
Expand description

Text style builder.

Use this builder to create TextStyles for Text.

The text_style! macro can also be used to create TextStyles, but with a shorter syntax. See the text_style! documentation for examples.

§Examples

§Render yellow text on a blue background

This uses the Font6x8 font, but other fonts can also be used.

use embedded_graphics::{
    fonts::{Font6x8, Text},
    pixelcolor::Rgb565,
    prelude::*,
    style::{TextStyle, TextStyleBuilder},
};

let style: TextStyle<Rgb565, Font6x8> = TextStyleBuilder::new(Font6x8)
    .text_color(Rgb565::YELLOW)
    .background_color(Rgb565::BLUE)
    .build();

let text = Text::new("Hello Rust!", Point::new(0, 0)).into_styled(style);

§Render black text on white background using macros

This uses the Font8x16 font with the egtext! and text_style! macros for shorter code.

use embedded_graphics::{
    egtext,
    fonts::{Font8x16, Text},
    pixelcolor::Rgb565,
    prelude::*,
    style::TextStyle,
    text_style,
};

let style = text_style!(
    font = Font8x16,
    text_color = Rgb565::WHITE,
    background_color = Rgb565::BLACK
);

let text = Text::new("Hello Rust!", Point::new(0, 0)).into_styled(style);

§Transparent background

If a property is ommitted, it will remain at its default value in the resulting TextStyle returned by .build(). This example draws white text with no background at all.

use embedded_graphics::{
    egtext,
    fonts::{Font6x8, Text},
    pixelcolor::Rgb565,
    prelude::*,
    style::{TextStyle, TextStyleBuilder},
    text_style,
};

let style: TextStyle<Rgb565, Font6x8> = TextStyleBuilder::new(Font6x8)
    .text_color(Rgb565::WHITE)
    .build();

let text = Text::new("Hello Rust!", Point::new(0, 0)).into_styled(style);

Implementations§

source§

impl<C, F> TextStyleBuilder<C, F>
where C: PixelColor, F: Font + Clone,

source

pub fn new(font: F) -> Self

Creates a new text style builder with a given font.

source

pub fn text_color(self, text_color: C) -> Self

Sets the text color.

source

pub fn background_color(self, background_color: C) -> Self

Sets the background color.

source

pub fn build(self) -> TextStyle<C, F>

Builds the text style.

Trait Implementations§

source§

impl<C, F> Clone for TextStyleBuilder<C, F>
where C: PixelColor + Clone, F: Font + Clone + Clone,

source§

fn clone(&self) -> TextStyleBuilder<C, F>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<C, F> Debug for TextStyleBuilder<C, F>
where C: PixelColor + Debug, F: Font + Clone + Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<C, F> Default for TextStyleBuilder<C, F>
where C: PixelColor + Default, F: Font + Clone + Default,

source§

fn default() -> TextStyleBuilder<C, F>

Returns the “default value” for a type. Read more
source§

impl<C, F> Hash for TextStyleBuilder<C, F>
where C: PixelColor + Hash, F: Font + Clone + Hash,

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<C, F> Ord for TextStyleBuilder<C, F>
where C: PixelColor + Ord, F: Font + Clone + Ord,

source§

fn cmp(&self, other: &TextStyleBuilder<C, F>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl<C, F> PartialEq for TextStyleBuilder<C, F>

source§

fn eq(&self, other: &TextStyleBuilder<C, F>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<C, F> PartialOrd for TextStyleBuilder<C, F>

source§

fn partial_cmp(&self, other: &TextStyleBuilder<C, F>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl<C, F> Copy for TextStyleBuilder<C, F>
where C: PixelColor + Copy, F: Font + Clone + Copy,

source§

impl<C, F> Eq for TextStyleBuilder<C, F>
where C: PixelColor + Eq, F: Font + Clone + Eq,

source§

impl<C, F> StructuralPartialEq for TextStyleBuilder<C, F>
where C: PixelColor, F: Font + Clone,

Auto Trait Implementations§

§

impl<C, F> RefUnwindSafe for TextStyleBuilder<C, F>

§

impl<C, F> Send for TextStyleBuilder<C, F>
where C: Send, F: Send,

§

impl<C, F> Sync for TextStyleBuilder<C, F>
where C: Sync, F: Sync,

§

impl<C, F> Unpin for TextStyleBuilder<C, F>
where C: Unpin, F: Unpin,

§

impl<C, F> UnwindSafe for TextStyleBuilder<C, F>
where C: UnwindSafe, F: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.