wayland: Implement the dropping part of DnD

All destination-side events are emitted, and updates to the drop context
are notified through the currently handled wl_data_offer.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
This commit is contained in:
Carlos Garnacho
2014-08-21 20:20:37 +02:00
parent f48b3cce02
commit 9b0b88d16b
3 changed files with 255 additions and 5 deletions

View File

@ -92,6 +92,24 @@ void _gdk_wayland_window_register_dnd (GdkWindow *window);
GdkDragContext *_gdk_wayland_window_drag_begin (GdkWindow *window,
GdkDevice *device,
GList *targets);
GdkDragContext * _gdk_wayland_drop_context_new (GdkDevice *device,
struct wl_data_device *data_device);
void _gdk_wayland_drag_context_set_source_window (GdkDragContext *context,
GdkWindow *window);
void _gdk_wayland_drag_context_set_dest_window (GdkDragContext *context,
GdkWindow *dest_window,
uint32_t serial);
void _gdk_wayland_drag_context_emit_event (GdkDragContext *context,
GdkEventType type,
guint32 time_);
void _gdk_wayland_drag_context_set_coords (GdkDragContext *context,
gdouble x,
gdouble y);
void gdk_wayland_drag_context_set_action (GdkDragContext *context,
GdkDragAction action);
void gdk_wayland_drop_context_update_targets (GdkDragContext *context);
void _gdk_wayland_display_create_window_impl (GdkDisplay *display,
GdkWindow *window,