#include <gdk/gdkdisplaymanager.h>
#include <gdk/gdkdrag.h>
#include <gdk/gdkdragsurface.h>
+#include <gdk/gdkdragsurfacesize.h>
#include <gdk/gdkdrawcontext.h>
#include <gdk/gdkdrop.h>
#include <gdk/gdkenums.h>
--- /dev/null
+/* GDK - The GIMP Drawing Kit
+ * Copyright (C) 2023 Red Hat
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "config.h"
+
+#include "gdkdragsurfacesizeprivate.h"
+
+/**
+ * GdkDragSurfaceSize:
+ *
+ * The `GdkDragSurfaceSize` struct contains information that is useful
+ * to compute the size of a drag surface.
+ */
+
+G_DEFINE_POINTER_TYPE (GdkDragSurfaceSize, gdk_drag_surface_size)
+
+void
+gdk_drag_surface_size_init (GdkDragSurfaceSize *size)
+{
+ *size = (GdkDragSurfaceSize) { 0 };
+}
+
+/**
+ * gdk_drag_surface_size_set_size:
+ * @size: a `GdkDragSurfaceSize`
+ * @width: the width
+ * @height: the height
+ *
+ * Sets the size the drag surface prefers to be resized to.
+ */
+void
+gdk_drag_surface_size_set_size (GdkDragSurfaceSize *size,
+ int width,
+ int height)
+{
+ size->width = width;
+ size->height = height;
+}
--- /dev/null
+/* GDK - The GIMP Drawing Kit
+ * Copyright (C) 2023 Red Hat
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#pragma once
+
+#if !defined(__GDK_H_INSIDE__) && !defined(GTK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
+#include <gdk/gdktypes.h>
+#include <gdk/gdkversionmacros.h>
+
+G_BEGIN_DECLS
+
+typedef struct _GdkDragSurfaceSize GdkDragSurfaceSize;
+
+#define GDK_TYPE_DRAG_SURFACE_SIZE (gdk_drag_surface_size_get_type ())
+
+GDK_AVAILABLE_IN_4_12
+GType gdk_drag_surface_size_get_type (void);
+
+GDK_AVAILABLE_IN_4_12
+void gdk_drag_surface_size_set_size (GdkDragSurfaceSize *size,
+ int width,
+ int height);
+
+G_END_DECLS
--- /dev/null
+/* GDK - The GIMP Drawing Kit
+ * Copyright (C) 2023 Red Hat
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#pragma once
+
+#include "gdkdragsurfacesize.h"
+
+struct _GdkDragSurfaceSize
+{
+ int width;
+ int height;
+};
+
+void gdk_drag_surface_size_init (GdkDragSurfaceSize *size);
'gdkdisplay.c',
'gdkdisplaymanager.c',
'gdkdrag.c',
+ 'gdkdragsurface.c',
+ 'gdkdragsurfacesize.c',
'gdkdrawcontext.c',
'gdkdrop.c',
'gdkevents.c',
'gdktoplevellayout.c',
'gdktoplevelsize.c',
'gdktoplevel.c',
- 'gdkdragsurface.c',
'loaders/gdkpng.c',
'loaders/gdktiff.c',
'loaders/gdkjpeg.c',
'gdkdisplay.h',
'gdkdisplaymanager.h',
'gdkdrag.h',
+ 'gdkdragsurfacesize.h',
'gdkdrawcontext.h',
'gdkdrop.h',
'gdkenums.h',