Skip to main content

Tileview

Struct Tileview 

Source
pub struct Tileview<'a, C: PixelColor, M: Clone> { /* private fields */ }
Expand description

Full-area paged tile container. Snaps one tile per swipe.

Implementations§

Source§

impl<'a, C: PixelColor + 'a, M: Clone + 'a> Tileview<'a, C, M>

Source

pub fn new() -> Self

Create an empty tileview paging horizontally. Add tiles via Tileview::push and supply the host state via Tileview::scroll_state. Position and size are assigned by the parent container via arrange.

Source

pub fn direction(self, dir: ScrollDirection) -> Self

Paging direction. Only ScrollDirection::Horizontal and ScrollDirection::Vertical are meaningful; any other value is treated as horizontal.

Source

pub fn push<W>(self, tile: W) -> Self
where W: Widget<C, M> + 'a,

Push a tile. Tiles are paged in insertion order.

Source

pub fn scroll_state(self, state: &ScrollState) -> Self

Supply the host-owned ScrollState read this frame.

Source

pub fn width(self, width: impl Into<Length>) -> Self

Width sizing intent (the tileview normally fills its parent).

Source

pub fn height(self, height: impl Into<Length>) -> Self

Height sizing intent (the tileview normally fills its parent).

Source

pub fn on_scroll<F>(self, f: F) -> Self
where F: Fn(ScrollMsg) -> M + 'a,

Callback mapping a ScrollMsg to the host message. Apply the message to the owned ScrollState in update().

Source

pub fn on_change<F>(self, f: F) -> Self
where F: Fn(usize) -> M + 'a,

Callback fired with the active tile index when it changes. Drive it from update() via Tileview::change_msg / Tileview::current_for.

Source

pub fn current_for( state: &ScrollState, viewport: Size, dir: ScrollDirection, count: usize, ) -> usize

The active tile index for a host ScrollState, the viewport size, the paging dir, and tile count. The host calls this in update() after applying a ScrollMsg/tick to learn which tile is showing, without rebuilding the widget tree.

Source

pub fn change_msg(&self, previous: usize) -> Option<M>

Build the on_change message for the active tile when it differs from previous. Returns None when no callback is set or the tile is unchanged. The host calls this from update() after applying a ScrollMsg/tick.

Trait Implementations§

Source§

impl<'a, C: PixelColor + 'a, M: Clone + 'a> Default for Tileview<'a, C, M>

Source§

fn default() -> Self

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

impl<'a, C: PixelColor + 'a, M: Clone + 'a> Widget<C, M> for Tileview<'a, C, M>

Source§

fn measure(&mut self, constraints: Constraints) -> Size

Report the size this widget wants within constraints.
Source§

fn preferred_size(&self) -> (Length, Length)

Per-axis sizing intent set via .width(...) / .height(...). Containers consult this during layout to allocate fixed slots, query intrinsic sizes, and split residual space among Fill / FillPortion children. Default is Length::Fill on both axes.
Source§

fn arrange(&mut self, rect: Rectangle)

Commit the final rectangle, recursively arranging any children.
Source§

fn rect(&self) -> Rectangle

The current arranged rectangle.
Source§

fn handle_touch(&mut self, point: Point, phase: TouchPhase) -> Option<M>

Dispatch a touch event. Returns a message if consumed.
Source§

fn mark_pressed(&mut self, point: Point)

Set this widget’s pressed flag if point hits. No message emit. Containers forward to children. Default no-op.
Source§

fn draw<'t>( &self, renderer: &mut dyn Renderer<C>, theme: &Theme<'t, C>, ) -> Result<(), RenderError>

Paint into renderer at rect.
Source§

fn widget_id(&self) -> Option<WidgetId>

Stable id of this widget, if it participates in focus.
Source§

fn is_focusable(&self) -> bool

True if this widget should appear in focus traversal.
Source§

fn collect_focusable(&self, out: &mut Vec<WidgetId>)

Append focusable widget ids in traversal order.
Source§

fn sync_focus(&mut self, focused: Option<WidgetId>)

Synchronize focused state against the runtime’s currently-focused id.
Source§

fn handle_action(&mut self, action: UiAction) -> Option<M>

Handle a semantic action directed at this widget.
Source§

fn route_action(&mut self, target: WidgetId, action: UiAction) -> Option<M>

Route a semantic action to the widget with id target.
Source§

fn navigate_focus(&self, target: WidgetId, action: UiAction) -> Option<WidgetId>

Request a focus movement relative to target for directional actions.
Source§

fn focus_rect(&self, target: WidgetId) -> Option<Rectangle>

Rectangle currently occupied by the focusable target, if any.
Source§

fn focus_at(&self, point: Point) -> Option<WidgetId>

Focusable widget id at point, if any.

Auto Trait Implementations§

§

impl<'a, C, M> Freeze for Tileview<'a, C, M>

§

impl<'a, C, M> !RefUnwindSafe for Tileview<'a, C, M>

§

impl<'a, C, M> !Send for Tileview<'a, C, M>

§

impl<'a, C, M> !Sync for Tileview<'a, C, M>

§

impl<'a, C, M> Unpin for Tileview<'a, C, M>
where C: Unpin,

§

impl<'a, C, M> UnsafeUnpin for Tileview<'a, C, M>

§

impl<'a, C, M> !UnwindSafe for Tileview<'a, C, M>

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

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
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<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
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<'a, C, M, W> IntoElement<'a, C, M> for W
where C: PixelColor + 'a, M: Clone + 'a, W: Widget<C, M> + 'a,

Source§

fn into_element(self) -> Element<'a, C, M>

Wrap self.
Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
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.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.