Skip to main content

DragSim

Struct DragSim 

Source
pub struct DragSim<T: Clone + 'static> { /* private fields */ }
Expand description

Headless driver for one provider’s drag world. Every method takes the VirtualDom so the underlying signal operations run inside its runtime; call rerender between actions and markup assertions.

Implementations§

Source§

impl<T: Clone + PartialEq + 'static> DragSim<T>

Source

pub fn place(&self, dom: &VirtualDom, zone: ZoneId, rect: Rect)

Give a zone its client rect - the headless stand-in for layout.

§Panics

Panics when no zone with this id is registered.

Source

pub fn window_key(&self) -> Option<WindowKey>

The key this sim’s provider joined its world under, when it did.

Source

pub fn place_in( &self, dom: &VirtualDom, window: WindowKey, zone: ZoneId, rect: Rect, )

Self::place for a zone living in another joined window’s registry - rect is in that window’s client px.

§Panics

Panics when this sim’s provider joined no world, the window is unknown, or the zone isn’t registered there.

Source

pub fn pick_up(&mut self, dom: &VirtualDom, payload: T)

Begin a pointer drag carrying payload, from no particular zone.

Source

pub fn pick_up_from( &mut self, dom: &VirtualDom, payload: T, from: Option<ZoneId>, )

Begin a pointer drag, reporting from as the source zone (arrives in DropOutcome::from).

Source

pub fn move_to(&mut self, dom: &VirtualDom, point: Point)

Move the pointer: updates the tracked position and enters/leaves zones by hit-testing the placed rects - the same logic the pointer gesture runs per pointermove.

Source

pub fn release(&mut self, dom: &VirtualDom) -> Option<ZoneId>

Release at the current pointer position. Returns the zone that received the drop, or None when the drag cancelled (no acceptable zone under the pointer or within the provider’s configured recovery radius).

Source

pub fn release_as( &mut self, dom: &VirtualDom, effect: DropEffect, ) -> Option<ZoneId>

Self::release with an explicit effect - simulate the Ctrl-held copy drop with DropEffect::Copy.

Source

pub fn cancel(&mut self, dom: &VirtualDom)

Abort the drag, as Escape or a pointer cancel would.

Source

pub fn completions(&self, dom: &VirtualDom) -> Vec<bool>

Exactly-once source completion results observed by the simulated source (true for delivered, false for cancelled).

Source

pub fn over(&self, dom: &VirtualDom) -> Option<ZoneId>

The zone currently hovered.

Source

pub fn dragging(&self, dom: &VirtualDom) -> bool

Is a drag in flight?

Source

pub fn payload(&self, dom: &VirtualDom) -> Option<T>

The in-flight payload, if any.

Source

pub fn announcement(&self, dom: &VirtualDom) -> String

The latest screen-reader announcement.

Trait Implementations§

Source§

impl<T: Clone + 'static> Clone for DragSim<T>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: Clone + 'static> Copy for DragSim<T>

Auto Trait Implementations§

§

impl<T> !RefUnwindSafe for DragSim<T>

§

impl<T> !Send for DragSim<T>

§

impl<T> !Sync for DragSim<T>

§

impl<T> !UnwindSafe for DragSim<T>

§

impl<T> Freeze for DragSim<T>
where DndContext<T>: Freeze, ZoneRegistry<T>: Freeze, Option<SettleFlag<T>>: Freeze, Option<JoinedWindow<T>>: Freeze,

§

impl<T> Unpin for DragSim<T>
where DndContext<T>: Unpin, ZoneRegistry<T>: Unpin, Option<SettleFlag<T>>: Unpin, Option<JoinedWindow<T>>: Unpin,

§

impl<T> UnsafeUnpin for DragSim<T>

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> InitializeFromFunction<T> for T

Source§

fn initialize_from_function(f: fn() -> T) -> T

Create an instance of this type from an initialization function
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<Ret> SpawnIfAsync<(), Ret> for Ret

Source§

fn spawn(self) -> Ret

Spawn the value into the dioxus runtime if it is an async block
Source§

impl<T, O> SuperFrom<T> for O
where O: From<T>,

Source§

fn super_from(input: T) -> O

Convert from a type to another type.
Source§

impl<T, O, M> SuperInto<O, M> for T
where O: SuperFrom<T, M>,

Source§

fn super_into(self) -> O

Convert from a type to another type.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 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, <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<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more