Struct wayland_client::protocol::wl_data_device::Implementation
[−]
[src]
pub struct Implementation<ID> { pub data_offer: fn(_: &mut EventQueueHandle, _: &mut ID, _: &WlDataDevice, _: WlDataOffer), pub enter: fn(_: &mut EventQueueHandle, _: &mut ID, _: &WlDataDevice, _: u32, _: &WlSurface, _: f64, _: f64, _: Option<&WlDataOffer>), pub leave: fn(_: &mut EventQueueHandle, _: &mut ID, _: &WlDataDevice), pub motion: fn(_: &mut EventQueueHandle, _: &mut ID, _: &WlDataDevice, _: u32, _: f64, _: f64), pub drop: fn(_: &mut EventQueueHandle, _: &mut ID, _: &WlDataDevice), pub selection: fn(_: &mut EventQueueHandle, _: &mut ID, _: &WlDataDevice, _: Option<&WlDataOffer>), }
Fields
data_offer: fn(_: &mut EventQueueHandle, _: &mut ID, _: &WlDataDevice, _: 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.
Arguments: event_queue_handle, interface_data, wl_data_device, id
enter: fn(_: &mut EventQueueHandle, _: &mut ID, _: &WlDataDevice, _: u32, _: &WlSurface, _: f64, _: f64, _: Option<&WlDataOffer>)
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.
Arguments: event_queue_handle, interface_data, wl_data_device, serial, surface, x, y, id
leave: fn(_: &mut EventQueueHandle, _: &mut ID, _: &WlDataDevice)
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.
Arguments: event_queue_handle, interface_data, wl_data_device
motion: fn(_: &mut EventQueueHandle, _: &mut ID, _: &WlDataDevice, _: u32, _: f64, _: f64)
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.
Arguments: event_queue_handle, interface_data, wl_data_device, time, x, y
drop: fn(_: &mut EventQueueHandle, _: &mut ID, _: &WlDataDevice)
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.
Arguments: event_queue_handle, interface_data, wl_data_device
selection: fn(_: &mut EventQueueHandle, _: &mut ID, _: &WlDataDevice, _: Option<&WlDataOffer>)
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.
Arguments: event_queue_handle, interface_data, wl_data_device, id
Trait Implementations
impl<ID> Copy for Implementation<ID>
[src]
impl<ID> Clone for Implementation<ID>
[src]
fn clone(&self) -> Implementation<ID>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more