i_slint_core::textlayout

Struct TextParagraphLayout

Source
pub struct TextParagraphLayout<'a, Font: AbstractFont> {
    pub string: &'a str,
    pub layout: TextLayout<'a, Font>,
    pub max_width: Font::Length,
    pub max_height: Font::Length,
    pub horizontal_alignment: TextHorizontalAlignment,
    pub vertical_alignment: TextVerticalAlignment,
    pub wrap: TextWrap,
    pub overflow: TextOverflow,
    pub single_line: bool,
}

Fields§

§string: &'a str§layout: TextLayout<'a, Font>§max_width: Font::Length§max_height: Font::Length§horizontal_alignment: TextHorizontalAlignment§vertical_alignment: TextVerticalAlignment§wrap: TextWrap§overflow: TextOverflow§single_line: bool

Implementations§

Source§

impl<'a, Font: AbstractFont> TextParagraphLayout<'a, Font>

Source

pub fn layout_lines<R>( &self, line_callback: impl FnMut(&mut dyn Iterator<Item = PositionedGlyph<Font::Length>>, Font::Length, Font::Length, &TextLine<Font::Length>, Option<Range<Font::Length>>) -> ControlFlow<R>, selection: Option<Range<usize>>, ) -> Result<Font::Length, R>

Layout the given string in lines, and call the layout_line callback with the line to draw at position y. The signature of the layout_line function is: (glyph_iterator, line_x, line_y, text_line, selection). Returns the baseline y coordinate as Ok, or the break value if line_callback returns core::ops::ControlFlow::Break.

Source

pub fn cursor_pos_for_byte_offset( &self, byte_offset: usize, ) -> (Font::Length, Font::Length)

Returns the leading edge of the glyph at the given byte offset

Source

pub fn byte_offset_for_position( &self, (pos_x, pos_y): (Font::Length, Font::Length), ) -> usize

Returns the bytes offset for the given position

Auto Trait Implementations§

§

impl<'a, Font> Freeze for TextParagraphLayout<'a, Font>
where <Font as TextShaper>::Length: Freeze,

§

impl<'a, Font> RefUnwindSafe for TextParagraphLayout<'a, Font>
where <Font as TextShaper>::Length: RefUnwindSafe, Font: RefUnwindSafe,

§

impl<'a, Font> Send for TextParagraphLayout<'a, Font>
where <Font as TextShaper>::Length: Send, Font: Sync,

§

impl<'a, Font> Sync for TextParagraphLayout<'a, Font>
where <Font as TextShaper>::Length: Sync, Font: Sync,

§

impl<'a, Font> Unpin for TextParagraphLayout<'a, Font>
where <Font as TextShaper>::Length: Unpin,

§

impl<'a, Font> UnwindSafe for TextParagraphLayout<'a, Font>
where <Font as TextShaper>::Length: UnwindSafe, Font: RefUnwindSafe,

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>,

Source§

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>,

Source§

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.