pub enum DragModifier {
LockAxis {
horizontal: bool,
vertical: bool,
},
Snap {
x: f64,
y: f64,
},
KeepInside,
}Expand description
A single constraint on a proposed drag position.
Variants§
LockAxis
Zero out movement on locked axes. horizontal: false freezes X.
Snap
Snap each axis to a grid step; a step <= 0 leaves that axis alone.
KeepInside
Clamp so the element (its ModifierCtx::element size) stays inside
ModifierCtx::container. No-op when either rect is missing. If the
element is larger than the container on an axis, it pins to the
container’s origin on that axis.
Implementations§
Source§impl DragModifier
impl DragModifier
Sourcepub fn apply(self, p: Point, ctx: &ModifierCtx) -> Point
pub fn apply(self, p: Point, ctx: &ModifierCtx) -> Point
Apply this modifier to a proposed top-left position.
Trait Implementations§
Source§impl Clone for DragModifier
impl Clone for DragModifier
Source§fn clone(&self) -> DragModifier
fn clone(&self) -> DragModifier
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for DragModifier
Source§impl Debug for DragModifier
impl Debug for DragModifier
Source§impl PartialEq for DragModifier
impl PartialEq for DragModifier
impl StructuralPartialEq for DragModifier
Auto Trait Implementations§
impl Freeze for DragModifier
impl RefUnwindSafe for DragModifier
impl Send for DragModifier
impl Sync for DragModifier
impl Unpin for DragModifier
impl UnsafeUnpin for DragModifier
impl UnwindSafe for DragModifier
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DependencyElement for T
Source§impl<T> InitializeFromFunction<T> for T
impl<T> InitializeFromFunction<T> for T
Source§fn initialize_from_function(f: fn() -> T) -> T
fn initialize_from_function(f: fn() -> T) -> T
Create an instance of this type from an initialization function
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<Ret> SpawnIfAsync<(), Ret> for Ret
impl<Ret> SpawnIfAsync<(), Ret> for Ret
Source§impl<T, O> SuperFrom<T> for Owhere
O: From<T>,
impl<T, O> SuperFrom<T> for Owhere
O: From<T>,
Source§fn super_from(input: T) -> O
fn super_from(input: T) -> O
Convert from a type to another type.
Source§impl<T, O, M> SuperInto<O, M> for Twhere
O: SuperFrom<T, M>,
impl<T, O, M> SuperInto<O, M> for Twhere
O: SuperFrom<T, M>,
Source§fn super_into(self) -> O
fn super_into(self) -> O
Convert from a type to another type.