Skip to main content

PageTransition

Struct PageTransition 

Source
pub struct PageTransition<Msg> { /* private fields */ }
Expand description

Wraps the current page and animates whenever its key changes.

The outgoing screen is remembered cell by cell. When the key changes, each cell of the old page blends into the matching cell of the new one over the theme’s motion.page: the old text fades into the background during the first half and the new text rises out of it during the second, while backgrounds blend continuously. With PageTransition::slide the new page also travels a few cells into place, stepping one cell at a time with its colours blended in proportion, from the right when going forward and from the left when going back. With reduced motion, or when the area changed size, the new page appears at once. The new page is live from the first frame: clicks and keys already reach it.

use qframe::prelude::*;
use qframe::widgets::PageTransition;

let page = router.current().clone();
ui.add_with(PageTransition::new(page.clone()).slide(true).direction(router.direction()), |ui| {
    ui.page(page, |ui| {
        ui.add(Text::new("Deploys"));
    });
})
.fill();

Implementations§

Source§

impl<Msg: 'static> PageTransition<Msg>

Source

pub fn new(key: impl Into<String>) -> Self

A transition keyed by key, usually the router’s current page. Cross-fades by default.

Source

pub fn slide(self, slide: bool) -> Self

Slides the incoming page a few cells into place as it fades in.

Source

pub fn direction(self, direction: Navigation) -> Self

The way the navigation went, e.g. Router::direction; decides which side a sliding page comes from.

Trait Implementations§

Source§

impl<Msg: 'static> Container<Msg> for PageTransition<Msg>

Source§

fn set_children(&mut self, children: Vec<Node<Msg>>)

Receives the children built for this widget.
Source§

impl<Msg: 'static> Widget<Msg> for PageTransition<Msg>

Source§

fn measure(&self, cx: &mut MeasureCx<'_>, available: Size) -> Size

The size the widget wants when it may use up to available.
Source§

fn paint(&self, cx: &mut PaintCx<'_>, area: Rect)

Draws the widget into area.
Source§

fn children(&self) -> &[Node<Msg>]

Child nodes, for widgets that contain other widgets.
Source§

fn children_mut(&mut self) -> &mut [Node<Msg>]

Mutable child nodes, used to assign ids.
Source§

fn paint_overlay(&self, _cx: &mut PaintCx<'_>, _anchor: Rect)

Draws the widget’s overlay after the whole view was painted, when it asked for one with PaintCx::request_overlay. anchor is the area the widget was painted in.
Source§

fn event(&self, _cx: &mut EventCx<'_, Msg>, _event: &Event) -> bool

Handles input. Returns true when the event was used; unused key and scroll events bubble to the parent widget.
Source§

fn focusable(&self) -> bool

Whether the widget can take keyboard focus.

Auto Trait Implementations§

§

impl<Msg> !RefUnwindSafe for PageTransition<Msg>

§

impl<Msg> !Send for PageTransition<Msg>

§

impl<Msg> !Sync for PageTransition<Msg>

§

impl<Msg> !UnwindSafe for PageTransition<Msg>

§

impl<Msg> Freeze for PageTransition<Msg>
where Vec<Node<Msg>>: Freeze,

§

impl<Msg> Unpin for PageTransition<Msg>
where Vec<Node<Msg>>: Unpin,

§

impl<Msg> UnsafeUnpin for PageTransition<Msg>
where Vec<Node<Msg>>: UnsafeUnpin,

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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.