iced::advanced::text

Trait Paragraph

pub trait Paragraph: Sized + Default {
    type Font: Copy + PartialEq;

Show 13 methods // Required methods fn with_text(text: Text<&str, Self::Font>) -> Self; fn with_spans<Link>( text: Text<&[Span<'_, Link, Self::Font>], Self::Font>, ) -> Self; fn resize(&mut self, new_bounds: Size); fn compare(&self, text: Text<(), Self::Font>) -> Difference; fn horizontal_alignment(&self) -> Horizontal; fn vertical_alignment(&self) -> Vertical; fn min_bounds(&self) -> Size; fn hit_test(&self, point: Point) -> Option<Hit>; fn hit_span(&self, point: Point) -> Option<usize>; fn span_bounds(&self, index: usize) -> Vec<Rectangle>; fn grapheme_position(&self, line: usize, index: usize) -> Option<Point>; // Provided methods fn min_width(&self) -> f32 { ... } fn min_height(&self) -> f32 { ... }
}
Available on crate feature advanced only.
Expand description

A text paragraph.

Required Associated Types§

type Font: Copy + PartialEq

The font of this Paragraph.

Required Methods§

fn with_text(text: Text<&str, Self::Font>) -> Self

Creates a new Paragraph laid out with the given Text.

fn with_spans<Link>( text: Text<&[Span<'_, Link, Self::Font>], Self::Font>, ) -> Self

Creates a new Paragraph laid out with the given Text.

fn resize(&mut self, new_bounds: Size)

Lays out the Paragraph with some new boundaries.

fn compare(&self, text: Text<(), Self::Font>) -> Difference

Compares the Paragraph with some desired Text and returns the Difference.

fn horizontal_alignment(&self) -> Horizontal

Returns the horizontal alignment of the Paragraph.

fn vertical_alignment(&self) -> Vertical

Returns the vertical alignment of the Paragraph.

fn min_bounds(&self) -> Size

Returns the minimum boundaries that can fit the contents of the Paragraph.

fn hit_test(&self, point: Point) -> Option<Hit>

Tests whether the provided point is within the boundaries of the Paragraph, returning information about the nearest character.

fn hit_span(&self, point: Point) -> Option<usize>

Tests whether the provided point is within the boundaries of a Span in the Paragraph, returning the index of the Span that was hit.

fn span_bounds(&self, index: usize) -> Vec<Rectangle>

Returns all bounds for the provided Span index of the Paragraph. A Span can have multiple bounds for each line it’s on.

fn grapheme_position(&self, line: usize, index: usize) -> Option<Point>

Returns the distance to the given grapheme index in the Paragraph.

Provided Methods§

fn min_width(&self) -> f32

Returns the minimum width that can fit the contents of the Paragraph.

fn min_height(&self) -> f32

Returns the minimum height that can fit the contents of the Paragraph.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

§

impl Paragraph for ()

§

type Font = Font

§

fn with_text(_text: Text<&str>)

§

fn with_spans<Link>( _text: Text<&[Span<'_, Link, <() as Paragraph>::Font>], <() as Paragraph>::Font>, )

§

fn resize(&mut self, _new_bounds: Size)

§

fn compare(&self, _text: Text<()>) -> Difference

§

fn horizontal_alignment(&self) -> Horizontal

§

fn vertical_alignment(&self) -> Vertical

§

fn grapheme_position(&self, _line: usize, _index: usize) -> Option<Point>

§

fn min_bounds(&self) -> Size

§

fn hit_test(&self, _point: Point) -> Option<Hit>

§

fn hit_span(&self, _point: Point) -> Option<usize>

§

fn span_bounds(&self, _index: usize) -> Vec<Rectangle>

Source§

impl Paragraph for Paragraph

Source§

type Font = Font

Source§

fn with_text(text: Text<&str>) -> Paragraph

Source§

fn with_spans<Link>(text: Text<&[Span<'_, Link>]>) -> Paragraph

Source§

fn resize(&mut self, new_bounds: Size)

Source§

fn compare(&self, text: Text<()>) -> Difference

Source§

fn horizontal_alignment(&self) -> Horizontal

Source§

fn vertical_alignment(&self) -> Vertical

Source§

fn min_bounds(&self) -> Size

Source§

fn hit_test(&self, point: Point) -> Option<Hit>

Source§

fn hit_span(&self, point: Point) -> Option<usize>

Source§

fn span_bounds(&self, index: usize) -> Vec<Rectangle>

Source§

fn grapheme_position(&self, line: usize, index: usize) -> Option<Point>

Implementors§