GType _gdk_macos_drag_surface_get_type (void);
GdkMacosSurface *_gdk_macos_drag_surface_new (GdkMacosDisplay *display,
- GdkFrameClock *frame_clock,
int x,
int y,
int width,
#include "gdkmacosdisplay-private.h"
#include "gdkmacosutils-private.h"
+#include "gdk/gdkframeclockidleprivate.h"
+
struct _GdkMacosDragSurface
{
GdkMacosSurface parent_instance;
GdkMacosSurface *
_gdk_macos_drag_surface_new (GdkMacosDisplay *display,
- GdkFrameClock *frame_clock,
int x,
int y,
int width,
{
GDK_BEGIN_MACOS_ALLOC_POOL;
+ GdkFrameClock *frame_clock;
GdkMacosWindow *window;
GdkMacosSurface *self;
NSScreen *screen;
[window setBackgroundColor:[NSColor clearColor]];
[window setDecorated:NO];
+ frame_clock = _gdk_frame_clock_idle_new ();
+
self = g_object_new (GDK_TYPE_MACOS_DRAG_SURFACE,
"display", display,
"frame-clock", frame_clock,
"native", window,
NULL);
+ g_object_unref (frame_clock);
+
GDK_END_MACOS_ALLOC_POOL;
return g_steal_pointer (&self);
gdk_macos_device_query_state (device, surface, NULL, &px, &py, NULL);
_gdk_macos_surface_get_root_coords (GDK_MACOS_SURFACE (surface), &sx, &sy);
- drag_surface = _gdk_macos_surface_new (GDK_MACOS_DISPLAY (surface->display),
- GDK_SURFACE_DRAG,
- NULL,
- sx, sy, 1, 1);
+ drag_surface = _gdk_macos_drag_surface_new (GDK_MACOS_DISPLAY (surface->display),
+ sx, sy, 1, 1);
drag = g_object_new (GDK_TYPE_MACOS_DRAG,
"drag-surface", drag_surface,
"surface", surface,
break;
case GDK_SURFACE_DRAG:
- ret = _gdk_macos_drag_surface_new (display, frame_clock, x, y, width, height);
- break;
-
default:
g_warn_if_reached ();
ret = NULL;