pub enum Event {
DataOffer {
id: Resource<WlDataOffer>,
},
Enter {
serial: u32,
surface: Resource<WlSurface>,
x: f64,
y: f64,
id: Option<Resource<WlDataOffer>>,
},
Leave,
Motion {
time: u32,
x: f64,
y: f64,
},
Drop,
Selection {
id: Option<Resource<WlDataOffer>>,
},
}
introduce a new wl_data_offer
The data_offer event introduces a new wl_data_offer object,
which will subsequently be used in either the
data_device.enter event (for drag-and-drop) or the
data_device.selection event (for selections). Immediately
following the data_device_data_offer event, the new data_offer
object will send out data_offer.offer events to describe the
mime types it offers.
Fields of DataOffer
initiate drag-and-drop session
This event is sent when an active drag-and-drop pointer enters
a surface owned by the client. The position of the pointer at
enter time is provided by the x and y arguments, in surface-local
coordinates.
Fields of Enter
end drag-and-drop session
This event is sent when the drag-and-drop pointer leaves the
surface and the session ends. The client must destroy the
wl_data_offer introduced at enter time at this point.
drag-and-drop session motion
This event is sent when the drag-and-drop pointer moves within
the currently focused surface. The new position of the pointer
is provided by the x and y arguments, in surface-local
coordinates.
Fields of Motion
end drag-and-drop session successfully
The event is sent when a drag-and-drop operation is ended
because the implicit grab is removed.
The drag-and-drop destination is expected to honor the last action
received through wl_data_offer.action, if the resulting action is
"copy" or "move", the destination can still perform
wl_data_offer.receive requests, and is expected to end all
transfers with a wl_data_offer.finish request.
If the resulting action is "ask", the action will not be considered
final. The drag-and-drop destination is expected to perform one last
wl_data_offer.set_actions request, or wl_data_offer.destroy in order
to cancel the operation.
advertise new selection
The selection event is sent out to notify the client of a new
wl_data_offer for the selection for this device. The
data_device.data_offer and the data_offer.offer events are
sent out immediately before this event to introduce the data
offer object. The selection event is sent to a client
immediately before receiving keyboard focus and when a new
selection is set while the client has keyboard focus. The
data_offer is valid until a new data_offer or NULL is received
or until the client loses keyboard focus. The client must
destroy the previous selection data_offer, if any, upon receiving
this event.
Fields of Selection
Wire representation of this MessageGroup
The wrapper type for ObjectMap allowing the mapping of Object and NewId arguments to the object map during parsing. Read more
Whether this message is a destructor Read more
The opcode of this message
Retrieve the child Object
associated with this message if any
Construct a message from its raw representation
Turn this message into its raw representation
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Convert Box<Trait>
(where Trait: Downcast
) to Box<Any>
. Box<Any>
can then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot generate &Any
's vtable from &Trait
's. Read more
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