Struct wayland_server::protocol::wl_data_offer::WlDataOffer
source · [−]pub struct WlDataOffer(_);
Implementations
sourceimpl WlDataOffer
impl WlDataOffer
sourcepub fn offer(&self, mime_type: String)
pub fn offer(&self, mime_type: String)
advertise offered mime type
Sent immediately after creating the wl_data_offer object. One event per offered mime type.
sourcepub fn source_actions(&self, source_actions: DndAction)
pub fn source_actions(&self, source_actions: DndAction)
notify the source-side available actions
This event indicates the actions offered by the data source. It will be sent right after wl_data_device.enter, or anytime the source side changes its offered actions through wl_data_source.set_actions.
Only available since version 3 of the interface.
sourcepub fn action(&self, dnd_action: DndAction)
pub fn action(&self, dnd_action: DndAction)
notify the selected action
This event indicates the action selected by the compositor after matching the source/destination side actions. Only one action (or none) will be offered here.
This event can be emitted multiple times during the drag-and-drop operation in response to destination side action changes through wl_data_offer.set_actions.
This event will no longer be emitted after wl_data_device.drop happened on the drag-and-drop destination, the client must honor the last action received, or the last preferred one set through wl_data_offer.set_actions when handling an “ask” action.
Compositors may also change the selected action on the fly, mainly in response to keyboard modifier changes during the drag-and-drop operation.
The most recent action received is always the valid one. Prior to receiving wl_data_device.drop, the chosen action may change (e.g. due to keyboard modifiers being pressed). At the time of receiving wl_data_device.drop the drag-and-drop destination must honor the last action received.
Action changes may still happen after wl_data_device.drop, especially on “ask” actions, where the drag-and-drop destination may choose another action afterwards. Action changes happening at this stage are always the result of inter-client negotiation, the compositor shall no longer be able to induce a different action.
Upon “ask” actions, it is expected that the drag-and-drop destination may potentially choose a different action and/or mime type, based on wl_data_offer.source_actions and finally chosen by the user (e.g. popping up a menu with the available options). The final wl_data_offer.set_actions and wl_data_offer.accept requests must happen before the call to wl_data_offer.finish.
Only available since version 3 of the interface.
Trait Implementations
sourceimpl AsRef<Resource<WlDataOffer>> for WlDataOffer
impl AsRef<Resource<WlDataOffer>> for WlDataOffer
sourceimpl Clone for WlDataOffer
impl Clone for WlDataOffer
sourcefn clone(&self) -> WlDataOffer
fn clone(&self) -> WlDataOffer
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for WlDataOffer
impl Debug for WlDataOffer
sourceimpl From<Resource<WlDataOffer>> for WlDataOffer
impl From<Resource<WlDataOffer>> for WlDataOffer
sourceimpl From<WlDataOffer> for Resource<WlDataOffer>
impl From<WlDataOffer> for Resource<WlDataOffer>
sourcefn from(value: WlDataOffer) -> Self
fn from(value: WlDataOffer) -> Self
Converts to this type from the input type.
sourceimpl Interface for WlDataOffer
impl Interface for WlDataOffer
sourcefn c_interface() -> *const wl_interface
fn c_interface() -> *const wl_interface
Pointer to the C representation of this interface
sourceimpl PartialEq<WlDataOffer> for WlDataOffer
impl PartialEq<WlDataOffer> for WlDataOffer
sourcefn eq(&self, other: &WlDataOffer) -> bool
fn eq(&self, other: &WlDataOffer) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
impl Eq for WlDataOffer
impl StructuralEq for WlDataOffer
impl StructuralPartialEq for WlDataOffer
Auto Trait Implementations
impl !RefUnwindSafe for WlDataOffer
impl Send for WlDataOffer
impl Sync for WlDataOffer
impl Unpin for WlDataOffer
impl !UnwindSafe for WlDataOffer
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
sourcefn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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
. Read more
sourcefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
sourcefn 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. Read more
sourcefn 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. Read more