pub struct MemoryDndGuard { /* private fields */ }Expand description
Guard that removes the window’s attachment record on drop, so
ExternalDndHandle::detach is observable in tests via
MemoryExternalDndBackend::attached_windows.
Trait Implementations§
Source§impl Drop for MemoryDndGuard
impl Drop for MemoryDndGuard
Source§impl ExternalDndGuard for MemoryDndGuard
impl ExternalDndGuard for MemoryDndGuard
Source§fn begin_drag(
&self,
data: &OutboundDragData,
_image: Option<&DragImageData>,
) -> bool
fn begin_drag( &self, data: &OutboundDragData, _image: Option<&DragImageData>, ) -> bool
Start a native OS drag session (app → OS, “outbound”) for this window,
exporting
data and optionally drawing image as the drag cursor.
Called when an in-app drag escalates past the window boundary carrying
an OS-exportable payload. Read moreSource§fn set_scale_factor(&self, _scale: f64)
fn set_scale_factor(&self, _scale: f64)
Tell the backend this window’s HiDPI scale factor. Read more
Source§fn cancel_drag(&self)
fn cancel_drag(&self)
Cancel an in-flight outbound OS drag (the user pressed Escape). Read more
Source§fn run_pending_outbound_drag(&self)
fn run_pending_outbound_drag(&self)
Run a previously-requested blocking outbound drag for this window,
synchronously. Called by
ExternalDndHandle::run_pending_outbound_drag
from a teksilo-app event-loop turn AFTER Self::begin_drag returned
true and stashed the payload — so a blocking platform drag loop (Windows
OLE DoDragDrop) runs outside the dispatch that started it. When it
finishes, this MUST post ExternalDragEvent::DragEnded through the
captured poster. Default no-op: non-blocking backends (macOS / Wayland)
start the session directly in begin_drag and never stash.Auto Trait Implementations§
impl Freeze for MemoryDndGuard
impl RefUnwindSafe for MemoryDndGuard
impl Send for MemoryDndGuard
impl Sync for MemoryDndGuard
impl Unpin for MemoryDndGuard
impl UnsafeUnpin for MemoryDndGuard
impl UnwindSafe for MemoryDndGuard
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.