rat_widget::pager

Struct PagerLayout

Source
pub struct PagerLayout { /* private fields */ }
Expand description

PagerLayout holds all areas for the widgets that want to be displayed.

It uses its own layout coordinates.

The layout step breaks this list into pages that can fit the widgets. If your widget is too big to fit in the page area it will be placed at a new page and will be clipped into shape.

Implementations§

Source§

impl PagerLayout

Source

pub fn new(stride: usize) -> Self

New layout.

Source

pub fn with_layout(layout: StructuredLayout) -> Self

New layout from StructuredLayout

Source

pub fn width_changed(&self, width: u16) -> bool

Has the target width of the layout changed.

Source

pub fn add(&mut self, area: &[Rect]) -> AreaHandle

Add a rect.

Source

pub fn layout_handle(&self, handle: AreaHandle) -> Box<[Rect]>

Get the layout area for the given handle

Source

pub fn break_after(&mut self, y: u16)

Add a manual break after the given position.

Source

pub fn break_before(&mut self, y: u16)

Add a manual break before the given position.

Source

pub fn len(&self) -> usize

Number of areas.

Source

pub fn is_empty(&self) -> bool

Contains areas?

Source

pub fn layout(&mut self, page: Rect)

Run the layout algorithm.

Source

pub fn page_area(&self) -> Rect

Page area in layout coordinates

Source

pub fn num_pages(&self) -> usize

Number of pages after calculating the layout.

Source

pub fn first_layout_area(&self, page: usize) -> Option<Box<[Rect]>>

First area on the given page.

Source

pub fn first_layout_handle(&self, page: usize) -> Option<AreaHandle>

First area-handle on the given page.

Source

pub fn buf_handle(&self, handle: AreaHandle) -> (usize, Box<[Rect]>)

Locate an area by handle.

This will return a Rect with a y-value relative to the page it is in. But still in layout-coords.

And it returns the page the Rect is on.

Source

pub fn buf_area(&self, area: Rect) -> (usize, Rect)

Locate an area.

This will return a Rect with a y-value relative to the page it is in. But still in layout-coords.

This will clip the bounds to the page area if not displayable otherwise.

And it returns the page the Rect is on.

Trait Implementations§

Source§

impl Clone for PagerLayout

Source§

fn clone(&self) -> PagerLayout

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 Debug for PagerLayout

Source§

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

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

impl Default for PagerLayout

Source§

fn default() -> PagerLayout

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

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.