Class WlDataDeviceResource
- All Implemented Interfaces:
WaylandObject
There is one wl_data_device per seat which can be obtained from the global wl_data_device_manager singleton.
A wl_data_device provides access to inter-client data transfer mechanisms such as copy-and-paste and drag-and-drop.
-
Field Summary
FieldsFields inherited from class org.freedesktop.wayland.server.Resource
wlResourcePtr
-
Constructor Summary
ConstructorsConstructorDescriptionWlDataDeviceResource
(MemorySegment pointer) WlDataDeviceResource
(Client client, int version, int id, WlDataDeviceRequests implementation) -
Method Summary
Modifier and TypeMethodDescriptionvoid
dataOffer
(int id) introduce a new wl_data_offervoid
drop()
end drag-and-drop session successfullyvoid
enter
(int serial, WlSurfaceResource surface, Fixed x, Fixed y, WlDataOfferResource id) initiate drag-and-drop sessionvoid
leave()
end drag-and-drop sessionvoid
drag-and-drop session motionvoid
advertise new selectionMethods inherited from class org.freedesktop.wayland.server.Resource
addDestroyListener, destroy, equals, getClient, getId, getImplementation, getPointer, getVersion, hashCode, postError, postEvent, postEvent, register, unregister
-
Field Details
-
INTERFACE_NAME
- See Also:
-
-
Constructor Details
-
WlDataDeviceResource
public WlDataDeviceResource(Client client, int version, int id, WlDataDeviceRequests implementation) -
WlDataDeviceResource
-
-
Method Details
-
dataOffer
public void dataOffer(int id) introduce a new wl_data_offerThe 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.
- Parameters:
id
- the new data_offer object
-
enter
public void enter(int serial, @Nonnull WlSurfaceResource surface, @Nonnull Fixed x, @Nonnull Fixed y, @Nullable WlDataOfferResource id) initiate drag-and-drop sessionThis 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.
- Parameters:
serial
- serial number of the enter eventsurface
- client surface enteredx
- surface-local x coordinatey
- surface-local y coordinateid
- source data_offer object
-
leave
public void leave()end drag-and-drop sessionThis 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.
-
motion
drag-and-drop session motionThis 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.
- Parameters:
time
- timestamp with millisecond granularityx
- surface-local x coordinatey
- surface-local y coordinate
-
drop
public void drop()end drag-and-drop session successfullyThe 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.
-
selection
advertise new selectionThe 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. Switching surface with keyboard focus within the same client doesn't mean a new selection will be sent. The client must destroy the previous selection data_offer, if any, upon receiving this event.
- Parameters:
id
- selection data_offer object
-