pub trait SwipeableExt: IsA<Swipeable> + '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
BottomSheet
, Carousel
, Flap
, Leaflet
, NavigationView
, OverlaySplitView
, Swipeable
Provided Methods§
sourcefn cancel_progress(&self) -> f64
fn cancel_progress(&self) -> f64
Gets the progress @self will snap back to after the gesture is canceled.
§Returns
the cancel progress, unitless
sourcefn distance(&self) -> f64
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
sourcefn snap_points(&self) -> Vec<f64>
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
sourcefn swipe_area(
&self,
navigation_direction: NavigationDirection,
is_drag: bool,
) -> Rectangle
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.
§navigation_direction
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
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.