diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2023-02-02 18:03:29 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2023-02-03 16:00:01 +0100 |
commit | af00beb772f1a140867951c5dce371f79aa81cc3 (patch) | |
tree | d17a2c9e43ce96d092f75282db5860ca44431661 /gdk/wayland | |
parent | e5cd9354d5337c545b0a20955772c89954e45ba1 (diff) | |
download | gtk+-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.h | 202 | ||||
-rw-r--r-- | gdk/wayland/gdkseat-wayland.c | 198 |
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 |