dnd: Add GdkDrop base class for GdkDragContext

Desktop / GNOME / GTK - Benjamin Otte [redhat.com] - 18 June 2018 21:49 EDT

The ultimate goal of this patch series is to split GdkDragContext into GdkDrop + GdkDrag classes for the destination and source side of a dnd operation.

The refactoring is meant to work something like this: 1. Introduce GdkDrop as a base class 2. Make all drop related code (like GdkEvent) use GdkDrop instead of GdkDragContext. Move/duplicate APIs to allow that. 3. Port all drop contexts in the backends from GdkDragContext to GdkDrop 4. Delete all APIs in GdkDragContext that aren't needed anymore. 5. Make GdkDragContext no longer a GdkDrop subclass 6. Rename GdkDragContext to GdkDrag

f247d268d4 dnd: Add GdkDrop base class for GdkDragContext
gdk/gdk.h | 1 +
gdk/gdkdnd.c | 30 ++++-
gdk/gdkdndprivate.h | 6 +-
gdk/gdkdrop.c | 242 +++++++++++++++++++++++++++++++++++++++
gdk/gdkdrop.h | 51 +++++++++
gdk/gdkdropprivate.h | 46 ++++++++
gdk/gdktypes.h | 1 +
gdk/meson.build | 2 +
testsuite/gtk/notify.c | 9 ++
testsuite/gtk/objects-finalize.c | 3 +-
10 files changed, 387 insertions(+), 4 deletions(-)

Upstream: git.gnome.org


  • Share