summaryrefslogtreecommitdiff
path: root/gdk/wayland
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2023-02-02 18:03:29 +0100
committerCarlos Garnacho <carlosg@gnome.org>2023-02-03 16:00:01 +0100
commitaf00beb772f1a140867951c5dce371f79aa81cc3 (patch)
treed17a2c9e43ce96d092f75282db5860ca44431661 /gdk/wayland
parente5cd9354d5337c545b0a20955772c89954e45ba1 (diff)
downloadgtk+-af00beb772f1a140867951c5dce371f79aa81cc3.tar.gz
gdk/wayland: Move struct declarations to header
These will be used from outside the main file, after we are done splitting it.
Diffstat (limited to 'gdk/wayland')
-rw-r--r--gdk/wayland/gdkdevice-wayland-private.h202
-rw-r--r--gdk/wayland/gdkseat-wayland.c198
2 files changed, 202 insertions, 198 deletions
diff --git a/gdk/wayland/gdkdevice-wayland-private.h b/gdk/wayland/gdkdevice-wayland-private.h
index c159462d86..e9c0f9517c 100644
--- a/gdk/wayland/gdkdevice-wayland-private.h
+++ b/gdk/wayland/gdkdevice-wayland-private.h
@@ -2,8 +2,12 @@
#define __GDK_DEVICE_WAYLAND_PRIVATE_H__
#include "gdkwaylanddevice.h"
+#include "gdkwaylandseat.h"
#include <gdk/gdkdeviceprivate.h>
+#include <gdk/gdkkeysprivate.h>
+
+#include <xkbcommon/xkbcommon.h>
struct _GdkWaylandDevice
{
@@ -15,6 +19,204 @@ struct _GdkWaylandDeviceClass
GdkDeviceClass parent_class;
};
+typedef struct _GdkWaylandTouchData GdkWaylandTouchData;
+typedef struct _GdkWaylandPointerFrameData GdkWaylandPointerFrameData;
+typedef struct _GdkWaylandPointerData GdkWaylandPointerData;
+typedef struct _GdkWaylandTabletPadGroupData GdkWaylandTabletPadGroupData;
+typedef struct _GdkWaylandTabletPadData GdkWaylandTabletPadData;
+typedef struct _GdkWaylandTabletData GdkWaylandTabletData;
+typedef struct _GdkWaylandTabletToolData GdkWaylandTabletToolData;
+
+struct _GdkWaylandTouchData
+{
+ uint32_t id;
+ double x;
+ double y;
+ GdkSurface *surface;
+ uint32_t touch_down_serial;
+ guint initial_touch : 1;
+};
+
+struct _GdkWaylandPointerFrameData
+{
+ GdkEvent *event;
+
+ /* Specific to the scroll event */
+ double delta_x, delta_y;
+ int32_t value120_x, value120_y;
+ gint8 is_scroll_stop;
+ enum wl_pointer_axis_source source;
+};
+
+struct _GdkWaylandPointerData {
+ GdkSurface *focus;
+
+ double surface_x, surface_y;
+
+ GdkModifierType button_modifiers;
+
+ uint32_t time;
+ uint32_t enter_serial;
+ uint32_t press_serial;
+
+ GdkSurface *grab_surface;
+ uint32_t grab_time;
+
+ struct wl_surface *pointer_surface;
+ guint cursor_is_default: 1;
+ GdkCursor *cursor;
+ guint cursor_timeout_id;
+ guint cursor_image_index;
+ guint cursor_image_delay;
+ guint touchpad_event_sequence;
+
+ guint current_output_scale;
+ GSList *pointer_surface_outputs;
+
+ /* Accumulated event data for a pointer frame */
+ GdkWaylandPointerFrameData frame;
+};
+
+struct _GdkWaylandTabletPadGroupData
+{
+ GdkWaylandTabletPadData *pad;
+ struct zwp_tablet_pad_group_v2 *wp_tablet_pad_group;
+ GList *rings;
+ GList *strips;
+ GList *buttons;
+
+ guint mode_switch_serial;
+ guint n_modes;
+ guint current_mode;
+
+ struct {
+ guint source;
+ gboolean is_stop;
+ double value;
+ } axis_tmp_info;
+};
+
+struct _GdkWaylandTabletPadData
+{
+ GdkSeat *seat;
+ struct zwp_tablet_pad_v2 *wp_tablet_pad;
+ GdkDevice *device;
+
+ GdkWaylandTabletData *current_tablet;
+
+ guint enter_serial;
+ uint32_t n_buttons;
+ char *path;
+
+ GList *rings;
+ GList *strips;
+ GList *mode_groups;
+};
+
+struct _GdkWaylandTabletToolData
+{
+ GdkSeat *seat;
+ struct zwp_tablet_tool_v2 *wp_tablet_tool;
+ GdkAxisFlags axes;
+ GdkDeviceToolType type;
+ guint64 hardware_serial;
+ guint64 hardware_id_wacom;
+
+ GdkDeviceTool *tool;
+ GdkWaylandTabletData *current_tablet;
+};
+
+struct _GdkWaylandTabletData
+{
+ struct zwp_tablet_v2 *wp_tablet;
+ char *name;
+ char *path;
+ uint32_t vid;
+ uint32_t pid;
+
+ GdkDevice *logical_device;
+ GdkDevice *stylus_device;
+ GdkSeat *seat;
+ GdkWaylandPointerData pointer_info;
+
+ GList *pads;
+
+ GdkWaylandTabletToolData *current_tool;
+
+ int axis_indices[GDK_AXIS_LAST];
+ double axes[GDK_AXIS_LAST];
+};
+
+struct _GdkWaylandSeat
+{
+ GdkSeat parent_instance;
+
+ guint32 id;
+ struct wl_seat *wl_seat;
+ struct wl_pointer *wl_pointer;
+ struct wl_keyboard *wl_keyboard;
+ struct wl_touch *wl_touch;
+ struct zwp_pointer_gesture_swipe_v1 *wp_pointer_gesture_swipe;
+ struct zwp_pointer_gesture_pinch_v1 *wp_pointer_gesture_pinch;
+ struct zwp_pointer_gesture_hold_v1 *wp_pointer_gesture_hold;
+ struct zwp_tablet_seat_v2 *wp_tablet_seat;
+
+ GdkDisplay *display;
+
+ GdkDevice *logical_pointer;
+ GdkDevice *logical_keyboard;
+ GdkDevice *pointer;
+ GdkDevice *wheel_scrolling;
+ GdkDevice *finger_scrolling;
+ GdkDevice *continuous_scrolling;
+ GdkDevice *keyboard;
+ GdkDevice *logical_touch;
+ GdkDevice *touch;
+ GdkCursor *cursor;
+ GdkKeymap *keymap;
+
+ GHashTable *touches;
+ GList *tablets;
+ GList *tablet_tools;
+ GList *tablet_pads;
+
+ GdkWaylandPointerData pointer_info;
+ GdkWaylandPointerData touch_info;
+
+ GdkModifierType key_modifiers;
+ GdkSurface *keyboard_focus;
+ GdkSurface *grab_surface;
+ uint32_t grab_time;
+ gboolean have_server_repeat;
+ uint32_t server_repeat_rate;
+ uint32_t server_repeat_delay;
+
+ struct wl_data_offer *pending_offer;
+ GdkContentFormatsBuilder *pending_builder;
+ GdkDragAction pending_source_actions;
+ GdkDragAction pending_action;
+
+ struct wl_callback *repeat_callback;
+ guint32 repeat_timer;
+ guint32 repeat_key;
+ guint32 repeat_count;
+ gint64 repeat_deadline;
+ uint32_t keyboard_time;
+ uint32_t keyboard_key_serial;
+
+ GdkClipboard *clipboard;
+ GdkClipboard *primary_clipboard;
+ struct wl_data_device *data_device;
+ GdkDrag *drag;
+ GdkDrop *drop;
+
+ /* Some tracking on gesture events */
+ guint gesture_n_fingers;
+ double gesture_scale;
+
+ GdkCursor *grab_cursor;
+};
+
void gdk_wayland_device_query_state (GdkDevice *device,
GdkSurface *surface,
double *win_x,
diff --git a/gdk/wayland/gdkseat-wayland.c b/gdk/wayland/gdkseat-wayland.c
index ee6532ff50..8c8f25534e 100644
--- a/gdk/wayland/gdkseat-wayland.c
+++ b/gdk/wayland/gdkseat-wayland.c
@@ -92,204 +92,6 @@
typedef struct _GdkWaylandDevicePad GdkWaylandDevicePad;
typedef struct _GdkWaylandDevicePadClass GdkWaylandDevicePadClass;
-typedef struct _GdkWaylandTouchData GdkWaylandTouchData;
-typedef struct _GdkWaylandPointerFrameData GdkWaylandPointerFrameData;
-typedef struct _GdkWaylandPointerData GdkWaylandPointerData;
-typedef struct _GdkWaylandTabletData GdkWaylandTabletData;
-typedef struct _GdkWaylandTabletToolData GdkWaylandTabletToolData;
-typedef struct _GdkWaylandTabletPadGroupData GdkWaylandTabletPadGroupData;
-typedef struct _GdkWaylandTabletPadData GdkWaylandTabletPadData;
-
-struct _GdkWaylandTouchData
-{
- uint32_t id;
- double x;
- double y;
- GdkSurface *surface;
- uint32_t touch_down_serial;
- guint initial_touch : 1;
-};
-
-struct _GdkWaylandPointerFrameData
-{
- GdkEvent *event;
-
- /* Specific to the scroll event */
- double delta_x, delta_y;
- int32_t value120_x, value120_y;
- gint8 is_scroll_stop;
- enum wl_pointer_axis_source source;
-};
-
-struct _GdkWaylandPointerData {
- GdkSurface *focus;
-
- double surface_x, surface_y;
-
- GdkModifierType button_modifiers;
-
- uint32_t time;
- uint32_t enter_serial;
- uint32_t press_serial;
-
- GdkSurface *grab_surface;
- uint32_t grab_time;
-
- struct wl_surface *pointer_surface;
- guint cursor_is_default: 1;
- GdkCursor *cursor;
- guint cursor_timeout_id;
- guint cursor_image_index;
- guint cursor_image_delay;
- guint touchpad_event_sequence;
-
- guint current_output_scale;
- GSList *pointer_surface_outputs;
-
- /* Accumulated event data for a pointer frame */
- GdkWaylandPointerFrameData frame;
-};
-
-struct _GdkWaylandTabletToolData
-{
- GdkSeat *seat;
- struct zwp_tablet_tool_v2 *wp_tablet_tool;
- GdkAxisFlags axes;
- GdkDeviceToolType type;
- guint64 hardware_serial;
- guint64 hardware_id_wacom;
-
- GdkDeviceTool *tool;
- GdkWaylandTabletData *current_tablet;
-};
-
-struct _GdkWaylandTabletPadGroupData
-{
- GdkWaylandTabletPadData *pad;
- struct zwp_tablet_pad_group_v2 *wp_tablet_pad_group;
- GList *rings;
- GList *strips;
- GList *buttons;
-
- guint mode_switch_serial;
- guint n_modes;
- guint current_mode;
-
- struct {
- guint source;
- gboolean is_stop;
- double value;
- } axis_tmp_info;
-};
-
-struct _GdkWaylandTabletPadData
-{
- GdkSeat *seat;
- struct zwp_tablet_pad_v2 *wp_tablet_pad;
- GdkDevice *device;
-
- GdkWaylandTabletData *current_tablet;
-
- guint enter_serial;
- uint32_t n_buttons;
- char *path;
-
- GList *rings;
- GList *strips;
- GList *mode_groups;
-};
-
-struct _GdkWaylandTabletData
-{
- struct zwp_tablet_v2 *wp_tablet;
- char *name;
- char *path;
- uint32_t vid;
- uint32_t pid;
-
- GdkDevice *logical_device;
- GdkDevice *stylus_device;
- GdkSeat *seat;
- GdkWaylandPointerData pointer_info;
-
- GList *pads;
-
- GdkWaylandTabletToolData *current_tool;
-
- int axis_indices[GDK_AXIS_LAST];
- double axes[GDK_AXIS_LAST];
-};
-
-struct _GdkWaylandSeat
-{
- GdkSeat parent_instance;
-
- guint32 id;
- struct wl_seat *wl_seat;
- struct wl_pointer *wl_pointer;
- struct wl_keyboard *wl_keyboard;
- struct wl_touch *wl_touch;
- struct zwp_pointer_gesture_swipe_v1 *wp_pointer_gesture_swipe;
- struct zwp_pointer_gesture_pinch_v1 *wp_pointer_gesture_pinch;
- struct zwp_pointer_gesture_hold_v1 *wp_pointer_gesture_hold;
- struct zwp_tablet_seat_v2 *wp_tablet_seat;
-
- GdkDisplay *display;
-
- GdkDevice *logical_pointer;
- GdkDevice *logical_keyboard;
- GdkDevice *pointer;
- GdkDevice *wheel_scrolling;
- GdkDevice *finger_scrolling;
- GdkDevice *continuous_scrolling;
- GdkDevice *keyboard;
- GdkDevice *logical_touch;
- GdkDevice *touch;
- GdkCursor *cursor;
- GdkKeymap *keymap;
-
- GHashTable *touches;
- GList *tablets;
- GList *tablet_tools;
- GList *tablet_pads;
-
- GdkWaylandPointerData pointer_info;
- GdkWaylandPointerData touch_info;
-
- GdkModifierType key_modifiers;
- GdkSurface *keyboard_focus;
- GdkSurface *grab_surface;
- uint32_t grab_time;
- gboolean have_server_repeat;
- uint32_t server_repeat_rate;
- uint32_t server_repeat_delay;
-
- struct wl_data_offer *pending_offer;
- GdkContentFormatsBuilder *pending_builder;
- GdkDragAction pending_source_actions;
- GdkDragAction pending_action;
-
- struct wl_callback *repeat_callback;
- guint32 repeat_timer;
- guint32 repeat_key;
- guint32 repeat_count;
- gint64 repeat_deadline;
- uint32_t keyboard_time;
- uint32_t keyboard_key_serial;
-
- GdkClipboard *clipboard;
- GdkClipboard *primary_clipboard;
- struct wl_data_device *data_device;
- GdkDrag *drag;
- GdkDrop *drop;
-
- /* Some tracking on gesture events */
- guint gesture_n_fingers;
- double gesture_scale;
-
- GdkCursor *grab_cursor;
-};
-
G_DEFINE_TYPE (GdkWaylandSeat, gdk_wayland_seat, GDK_TYPE_SEAT)
typedef struct