Trait libbismuth::prelude::SwipeableExt

source ·
pub trait SwipeableExt: IsA<Swipeable> + Sealed + 'static {
    // Provided methods
    fn cancel_progress(&self) -> f64 { ... }
    fn distance(&self) -> f64 { ... }
    fn progress(&self) -> f64 { ... }
    fn snap_points(&self) -> Vec<f64> { ... }
    fn swipe_area(
        &self,
        navigation_direction: NavigationDirection,
        is_drag: bool,
    ) -> Rectangle { ... }
}
Expand description

Trait containing all Swipeable methods.

§Implementors

Album, Carousel, Lapel, Swipeable

Provided Methods§

source

fn cancel_progress(&self) -> f64

Gets the progress @self will snap back to after the gesture is canceled.

§Returns

the cancel progress, unitless

source

fn distance(&self) -> f64

Gets the swipe distance of @self.

This corresponds to how many pixels 1 unit represents.

§Returns

the swipe distance in pixels

source

fn progress(&self) -> f64

Gets the current progress of @self.

§Returns

the current progress, unitless

source

fn snap_points(&self) -> Vec<f64>

Gets the snap points of @self.

Each snap point represents a progress value that is considered acceptable to end the swipe on.

§Returns

the snap points

source

fn swipe_area( &self, navigation_direction: NavigationDirection, is_drag: bool, ) -> Rectangle

Gets the area @self can start a swipe from for the given direction and gesture type.

This can be used to restrict swipes to only be possible from a certain area, for example, to only allow edge swipes, or to have a draggable element and ignore swipes elsewhere.

If not implemented, the default implementation returns the allocation of @self, allowing swipes from anywhere.

the direction of the swipe

§is_drag

whether the swipe is caused by a dragging gesture

§Returns
§rect

a pointer to a rectangle to store the swipe area

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<O: IsA<Swipeable>> SwipeableExt for O