Blender  V2.93
Classes | Macros | Functions | Variables
GHOST_SystemWayland.cpp File Reference
#include "GHOST_SystemWayland.h"
#include "GHOST_Event.h"
#include "GHOST_EventButton.h"
#include "GHOST_EventCursor.h"
#include "GHOST_EventDragnDrop.h"
#include "GHOST_EventKey.h"
#include "GHOST_EventWheel.h"
#include "GHOST_TimerManager.h"
#include "GHOST_WindowManager.h"
#include "GHOST_ContextEGL.h"
#include <EGL/egl.h>
#include <wayland-egl.h>
#include <algorithm>
#include <atomic>
#include <stdexcept>
#include <thread>
#include <unordered_map>
#include <unordered_set>
#include <pointer-constraints-client-protocol.h>
#include <relative-pointer-client-protocol.h>
#include <wayland-cursor.h>
#include <xkbcommon/xkbcommon.h>
#include <fcntl.h>
#include <linux/input-event-codes.h>
#include <sys/mman.h>
#include <unistd.h>
#include <cstring>

Go to the source code of this file.

Classes

struct  output_t
 
struct  buffer_t
 
struct  cursor_t
 
struct  data_offer_t
 
struct  data_source_t
 
struct  key_repeat_payload_t
 
struct  input_t
 
struct  display_t
 

Macros

#define GXMAP(k, x, y)
 

Functions

static void display_destroy (display_t *d)
 
static GHOST_TKey xkb_map_gkey (const xkb_keysym_t &sym)
 
Ghost Implementation

Wayland specific implementation of the GHOST_System interface.

static void set_cursor_buffer (input_t *input, wl_buffer *buffer)
 

Variables

static const int default_cursor_size = 24
 
static const std::unordered_map< GHOST_TStandardCursor, std::string > cursors
 
static constexpr const char * mime_text_plain = "text/plain"
 
static constexpr const char * mime_text_utf8 = "text/plain;charset=utf-8"
 
static constexpr const char * mime_text_uri = "text/uri-list"
 
static const std::unordered_map< std::string, GHOST_TDragnDropTypesmime_dnd
 
static const std::vector< std::string > mime_preference_order
 
static const std::vector< std::string > mime_send
 

Interface Callbacks

These callbacks are registered for Wayland interfaces and called when an event is received from the compositor.

static const zwp_relative_pointer_v1_listener relative_pointer_listener
 
static const struct wl_data_source_listener data_source_listener
 
static const struct wl_data_offer_listener data_offer_listener
 
static const struct wl_data_device_listener data_device_listener
 
const struct wl_buffer_listener cursor_buffer_listener
 
static const struct wl_pointer_listener pointer_listener
 
static const struct wl_keyboard_listener keyboard_listener
 
static const struct wl_seat_listener seat_listener
 
static const struct wl_output_listener output_listener
 
static const struct xdg_wm_base_listener shell_listener
 
static const struct wl_registry_listener registry_listener
 
static void relative_pointer_relative_motion (void *data, struct zwp_relative_pointer_v1 *, uint32_t, uint32_t, wl_fixed_t dx, wl_fixed_t dy, wl_fixed_t, wl_fixed_t)
 
static void dnd_events (const input_t *const input, const GHOST_TEventType event)
 
static std::string read_pipe (data_offer_t *data_offer, const std::string mime_receive)
 
static void data_source_target (void *, struct wl_data_source *, const char *)
 
static void data_source_send (void *data, struct wl_data_source *, const char *, int32_t fd)
 
static void data_source_cancelled (void *, struct wl_data_source *wl_data_source)
 
static void data_source_dnd_drop_performed (void *, struct wl_data_source *)
 
static void data_source_dnd_finished (void *, struct wl_data_source *)
 
static void data_source_action (void *, struct wl_data_source *, uint32_t)
 
static void data_offer_offer (void *data, struct wl_data_offer *, const char *mime_type)
 
static void data_offer_source_actions (void *data, struct wl_data_offer *, uint32_t source_actions)
 
static void data_offer_action (void *data, struct wl_data_offer *, uint32_t dnd_action)
 
static void data_device_data_offer (void *, struct wl_data_device *, struct wl_data_offer *id)
 
static void data_device_enter (void *data, struct wl_data_device *, uint32_t serial, struct wl_surface *, wl_fixed_t x, wl_fixed_t y, struct wl_data_offer *id)
 
static void data_device_leave (void *data, struct wl_data_device *)
 
static void data_device_motion (void *data, struct wl_data_device *, uint32_t, wl_fixed_t x, wl_fixed_t y)
 
static void data_device_drop (void *data, struct wl_data_device *)
 
static void data_device_selection (void *data, struct wl_data_device *, struct wl_data_offer *id)
 
static void cursor_buffer_release (void *data, struct wl_buffer *wl_buffer)
 
static void pointer_enter (void *data, struct wl_pointer *, uint32_t serial, struct wl_surface *surface, wl_fixed_t surface_x, wl_fixed_t surface_y)
 
static void pointer_leave (void *data, struct wl_pointer *, uint32_t, struct wl_surface *surface)
 
static void pointer_motion (void *data, struct wl_pointer *, uint32_t, wl_fixed_t surface_x, wl_fixed_t surface_y)
 
static void pointer_button (void *data, struct wl_pointer *, uint32_t serial, uint32_t, uint32_t button, uint32_t state)
 
static void pointer_axis (void *data, struct wl_pointer *, uint32_t, uint32_t axis, wl_fixed_t value)
 
static void keyboard_keymap (void *data, struct wl_keyboard *, uint32_t format, int32_t fd, uint32_t size)
 
static void keyboard_enter (void *data, struct wl_keyboard *, uint32_t, struct wl_surface *surface, struct wl_array *)
 
static void keyboard_leave (void *data, struct wl_keyboard *, uint32_t, struct wl_surface *surface)
 
static xkb_keysym_t xkb_state_key_get_one_sym_without_modifiers (struct xkb_state *xkb_state, xkb_keycode_t key)
 
static void keyboard_key (void *data, struct wl_keyboard *, uint32_t serial, uint32_t, uint32_t key, uint32_t state)
 
static void keyboard_modifiers (void *data, struct wl_keyboard *, uint32_t, uint32_t mods_depressed, uint32_t mods_latched, uint32_t mods_locked, uint32_t group)
 
static void keyboard_repeat_info (void *data, struct wl_keyboard *, int32_t rate, int32_t delay)
 
static void seat_capabilities (void *data, struct wl_seat *wl_seat, uint32_t capabilities)
 
static void seat_name (void *data, struct wl_seat *, const char *name)
 
static void output_geometry (void *data, struct wl_output *, int32_t, int32_t, int32_t, int32_t, int32_t, const char *make, const char *model, int32_t transform)
 
static void output_mode (void *data, struct wl_output *, uint32_t, int32_t width, int32_t height, int32_t)
 
static void output_done (void *, struct wl_output *)
 
static void output_scale (void *data, struct wl_output *, int32_t factor)
 
static void shell_ping (void *, struct xdg_wm_base *xdg_wm_base, uint32_t serial)
 
static void global_add (void *data, struct wl_registry *wl_registry, uint32_t name, const char *interface, uint32_t)
 
static void global_remove (void *, struct wl_registry *, uint32_t)
 

Macro Definition Documentation

◆ GXMAP

#define GXMAP (   k,
  x,
  y 
)
Value:
case x: \
k = y; \
break
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y

Function Documentation

◆ cursor_buffer_release()

static void cursor_buffer_release ( void *  data,
struct wl_buffer *  wl_buffer 
)
static

Definition at line 787 of file GHOST_SystemWayland.cpp.

◆ data_device_data_offer()

static void data_device_data_offer ( void *  ,
struct wl_data_device *  ,
struct wl_data_offer *  id 
)
static

Definition at line 600 of file GHOST_SystemWayland.cpp.

References data_offer_listener, data_offer_t::id, and id.

◆ data_device_drop()

static void data_device_drop ( void *  data,
struct wl_data_device *   
)
static

◆ data_device_enter()

static void data_device_enter ( void *  data,
struct wl_data_device *  ,
uint32_t  serial,
struct wl_surface *  ,
wl_fixed_t  x,
wl_fixed_t  y,
struct wl_data_offer *  id 
)
static

◆ data_device_leave()

static void data_device_leave ( void *  data,
struct wl_data_device *   
)
static

◆ data_device_motion()

static void data_device_motion ( void *  data,
struct wl_data_device *  ,
uint32_t  ,
wl_fixed_t  x,
wl_fixed_t  y 
)
static

◆ data_device_selection()

static void data_device_selection ( void *  data,
struct wl_data_device *  ,
struct wl_data_offer *  id 
)
static

Definition at line 737 of file GHOST_SystemWayland.cpp.

◆ data_offer_action()

static void data_offer_action ( void *  data,
struct wl_data_offer *  ,
uint32_t  dnd_action 
)
static

Definition at line 587 of file GHOST_SystemWayland.cpp.

References data.

◆ data_offer_offer()

static void data_offer_offer ( void *  data,
struct wl_data_offer *  ,
const char *  mime_type 
)
static

Definition at line 573 of file GHOST_SystemWayland.cpp.

References data, and types.

◆ data_offer_source_actions()

static void data_offer_source_actions ( void *  data,
struct wl_data_offer *  ,
uint32_t  source_actions 
)
static

Definition at line 580 of file GHOST_SystemWayland.cpp.

References data.

◆ data_source_action()

static void data_source_action ( void *  ,
struct wl_data_source *  ,
uint32_t   
)
static

Notify the selected action.

This event indicates the action selected by the compositor after matching the source/destination side actions. Only one action (or none) will be offered here.

Definition at line 557 of file GHOST_SystemWayland.cpp.

◆ data_source_cancelled()

static void data_source_cancelled ( void *  ,
struct wl_data_source *  wl_data_source 
)
static

Definition at line 520 of file GHOST_SystemWayland.cpp.

◆ data_source_dnd_drop_performed()

static void data_source_dnd_drop_performed ( void *  ,
struct wl_data_source *   
)
static

The drag-and-drop operation physically finished.

The user performed the drop action. This event does not indicate acceptance, #wl_data_source.cancelled may still be emitted afterwards if the drop destination does not accept any mime type.

Definition at line 532 of file GHOST_SystemWayland.cpp.

◆ data_source_dnd_finished()

static void data_source_dnd_finished ( void *  ,
struct wl_data_source *   
)
static

The drag-and-drop operation concluded.

The drop destination finished interoperating with this data source, so the client is now free to destroy this data source and free all associated data.

Definition at line 545 of file GHOST_SystemWayland.cpp.

◆ data_source_send()

static void data_source_send ( void *  data,
struct wl_data_source *  ,
const char *  ,
int32_t  fd 
)
static

Definition at line 510 of file GHOST_SystemWayland.cpp.

References buffer, and data.

◆ data_source_target()

static void data_source_target ( void *  ,
struct wl_data_source *  ,
const char *   
)
static

A target accepts an offered mime type.

Sent when a target accepts pointer_focus or motion events. If a target does not accept any of the offered types, type is NULL.

Definition at line 503 of file GHOST_SystemWayland.cpp.

◆ display_destroy()

static void display_destroy ( display_t d)
static

◆ dnd_events()

static void dnd_events ( const input_t *const  input,
const GHOST_TEventType  event 
)
static

◆ global_add()

static void global_add ( void *  data,
struct wl_registry *  wl_registry,
uint32_t  name,
const char *  interface,
uint32_t   
)
static

◆ global_remove()

static void global_remove ( void *  ,
struct wl_registry *  ,
uint32_t   
)
static

Announce removal of global object.

Notify the client of removed global objects.

This event notifies the client that the global identified by name is no longer available. If the client bound to the global using the bind request, the client should now destroy that object.

Definition at line 1289 of file GHOST_SystemWayland.cpp.

◆ keyboard_enter()

static void keyboard_enter ( void *  data,
struct wl_keyboard *  ,
uint32_t  ,
struct wl_surface *  surface,
struct wl_array *   
)
static

Enter event.

Notification that this seat's keyboard focus is on a certain surface.

Definition at line 959 of file GHOST_SystemWayland.cpp.

References data, and surface.

◆ keyboard_key()

static void keyboard_key ( void *  data,
struct wl_keyboard *  ,
uint32_t  serial,
uint32_t  ,
uint32_t  key,
uint32_t  state 
)
static

◆ keyboard_keymap()

static void keyboard_keymap ( void *  data,
struct wl_keyboard *  ,
uint32_t  format,
int32_t  fd,
uint32_t  size 
)
static

Definition at line 923 of file GHOST_SystemWayland.cpp.

References data, size(), input_t::xkb_context, and input_t::xkb_state.

◆ keyboard_leave()

static void keyboard_leave ( void *  data,
struct wl_keyboard *  ,
uint32_t  ,
struct wl_surface *  surface 
)
static

Leave event.

Notification that this seat's keyboard focus is no longer on a certain surface.

Definition at line 976 of file GHOST_SystemWayland.cpp.

References data, and surface.

◆ keyboard_modifiers()

static void keyboard_modifiers ( void *  data,
struct wl_keyboard *  ,
uint32_t  ,
uint32_t  mods_depressed,
uint32_t  mods_latched,
uint32_t  mods_locked,
uint32_t  group 
)
static

Definition at line 1091 of file GHOST_SystemWayland.cpp.

References data.

◆ keyboard_repeat_info()

static void keyboard_repeat_info ( void *  data,
struct wl_keyboard *  ,
int32_t  rate,
int32_t  delay 
)
static

Definition at line 1108 of file GHOST_SystemWayland.cpp.

◆ output_done()

static void output_done ( void *  ,
struct wl_output *   
)
static

Sent all information about output.

This event is sent after all other properties have been sent after binding to the output object and after any other property changes done after that. This allows changes to the output properties to be seen as atomic, even if they happen via multiple events.

Definition at line 1196 of file GHOST_SystemWayland.cpp.

◆ output_geometry()

static void output_geometry ( void *  data,
struct wl_output *  ,
int32_t  ,
int32_t  ,
int32_t  ,
int32_t  ,
int32_t  ,
const char *  make,
const char *  model,
int32_t  transform 
)
static

Definition at line 1159 of file GHOST_SystemWayland.cpp.

References data, make(), output, and transform().

Referenced by compute_geometry().

◆ output_mode()

static void output_mode ( void *  data,
struct wl_output *  ,
uint32_t  ,
int32_t  width,
int32_t  height,
int32_t   
)
static

Definition at line 1176 of file GHOST_SystemWayland.cpp.

References data, height, output, and width.

◆ output_scale()

static void output_scale ( void *  data,
struct wl_output *  ,
int32_t  factor 
)
static

Definition at line 1200 of file GHOST_SystemWayland.cpp.

◆ pointer_axis()

static void pointer_axis ( void *  data,
struct wl_pointer *  ,
uint32_t  ,
uint32_t  axis,
wl_fixed_t  value 
)
static

◆ pointer_button()

static void pointer_button ( void *  data,
struct wl_pointer *  ,
uint32_t  serial,
uint32_t  ,
uint32_t  button,
uint32_t  state 
)
static

◆ pointer_enter()

static void pointer_enter ( void *  data,
struct wl_pointer *  ,
uint32_t  serial,
struct wl_surface *  surface,
wl_fixed_t  surface_x,
wl_fixed_t  surface_y 
)
static

◆ pointer_leave()

static void pointer_leave ( void *  data,
struct wl_pointer *  ,
uint32_t  ,
struct wl_surface *  surface 
)
static

Definition at line 824 of file GHOST_SystemWayland.cpp.

References data, and surface.

◆ pointer_motion()

static void pointer_motion ( void *  data,
struct wl_pointer *  ,
uint32_t  ,
wl_fixed_t  surface_x,
wl_fixed_t  surface_y 
)
static

◆ read_pipe()

static std::string read_pipe ( data_offer_t data_offer,
const std::string  mime_receive 
)
static

Definition at line 478 of file GHOST_SystemWayland.cpp.

References buffer, data, data_offer_t::id, data_offer_t::in_use, and len.

Referenced by data_device_drop().

◆ relative_pointer_relative_motion()

static void relative_pointer_relative_motion ( void *  data,
struct zwp_relative_pointer_v1 *  ,
uint32_t  ,
uint32_t  ,
wl_fixed_t  dx,
wl_fixed_t  dy,
wl_fixed_t  ,
wl_fixed_t   
)
static

◆ seat_capabilities()

static void seat_capabilities ( void *  data,
struct wl_seat *  wl_seat,
uint32_t  capabilities 
)
static

◆ seat_name()

static void seat_name ( void *  data,
struct wl_seat *  ,
const char *  name 
)
static

Definition at line 1149 of file GHOST_SystemWayland.cpp.

◆ set_cursor_buffer()

static void set_cursor_buffer ( input_t input,
wl_buffer *  buffer 
)
static

◆ shell_ping()

static void shell_ping ( void *  ,
struct xdg_wm_base *  xdg_wm_base,
uint32_t  serial 
)
static

Definition at line 1212 of file GHOST_SystemWayland.cpp.

◆ xkb_map_gkey()

static GHOST_TKey xkb_map_gkey ( const xkb_keysym_t &  sym)
static

◆ xkb_state_key_get_one_sym_without_modifiers()

static xkb_keysym_t xkb_state_key_get_one_sym_without_modifiers ( struct xkb_state *  xkb_state,
xkb_keycode_t  key 
)
static

A version of #xkb_state_key_get_one_sym which returns the key without any modifiers pressed. Needed because GHOST_TKey uses these values as key-codes.

Definition at line 990 of file GHOST_SystemWayland.cpp.

Referenced by keyboard_key().

Variable Documentation

◆ cursor_buffer_listener

const struct wl_buffer_listener cursor_buffer_listener
Initial value:
= {
}
static void cursor_buffer_release(void *data, struct wl_buffer *wl_buffer)

Definition at line 787 of file GHOST_SystemWayland.cpp.

Referenced by GHOST_SystemWayland::setCustomCursorShape().

◆ cursors

const std::unordered_map<GHOST_TStandardCursor, std::string> cursors
static

◆ data_device_listener

const struct wl_data_device_listener data_device_listener
static
Initial value:
= {
}
static void data_device_drop(void *data, struct wl_data_device *)
static void data_device_leave(void *data, struct wl_data_device *)
static void data_device_enter(void *data, struct wl_data_device *, uint32_t serial, struct wl_surface *, wl_fixed_t x, wl_fixed_t y, struct wl_data_offer *id)
static void data_device_motion(void *data, struct wl_data_device *, uint32_t, wl_fixed_t x, wl_fixed_t y)
static void data_device_data_offer(void *, struct wl_data_device *, struct wl_data_offer *id)
static void data_device_selection(void *data, struct wl_data_device *, struct wl_data_offer *id)

Definition at line 737 of file GHOST_SystemWayland.cpp.

Referenced by GHOST_SystemWayland::GHOST_SystemWayland().

◆ data_offer_listener

const struct wl_data_offer_listener data_offer_listener
static
Initial value:
= {
}
static void data_offer_action(void *data, struct wl_data_offer *, uint32_t dnd_action)
static void data_offer_offer(void *data, struct wl_data_offer *, const char *mime_type)
static void data_offer_source_actions(void *data, struct wl_data_offer *, uint32_t source_actions)

Definition at line 587 of file GHOST_SystemWayland.cpp.

Referenced by data_device_data_offer().

◆ data_source_listener

const struct wl_data_source_listener data_source_listener
static
Initial value:
= {
}
static void data_source_action(void *, struct wl_data_source *, uint32_t)
static void data_source_dnd_drop_performed(void *, struct wl_data_source *)
static void data_source_cancelled(void *, struct wl_data_source *wl_data_source)
static void data_source_send(void *data, struct wl_data_source *, const char *, int32_t fd)
static void data_source_dnd_finished(void *, struct wl_data_source *)
static void data_source_target(void *, struct wl_data_source *, const char *)

Definition at line 557 of file GHOST_SystemWayland.cpp.

Referenced by GHOST_SystemWayland::putClipboard().

◆ default_cursor_size

const int default_cursor_size = 24
static

Definition at line 357 of file GHOST_SystemWayland.cpp.

Referenced by GHOST_SystemWayland::GHOST_SystemWayland().

◆ keyboard_listener

const struct wl_keyboard_listener keyboard_listener
static
Initial value:
= {
}
static void keyboard_repeat_info(void *data, struct wl_keyboard *, int32_t rate, int32_t delay)
static void keyboard_key(void *data, struct wl_keyboard *, uint32_t serial, uint32_t, uint32_t key, uint32_t state)
static void keyboard_modifiers(void *data, struct wl_keyboard *, uint32_t, uint32_t mods_depressed, uint32_t mods_latched, uint32_t mods_locked, uint32_t group)
static void keyboard_keymap(void *data, struct wl_keyboard *, uint32_t format, int32_t fd, uint32_t size)
static void keyboard_enter(void *data, struct wl_keyboard *, uint32_t, struct wl_surface *surface, struct wl_array *)
static void keyboard_leave(void *data, struct wl_keyboard *, uint32_t, struct wl_surface *surface)

Definition at line 1108 of file GHOST_SystemWayland.cpp.

Referenced by seat_capabilities().

◆ mime_dnd

const std::unordered_map<std::string, GHOST_TDragnDropTypes> mime_dnd
static
Initial value:
= {
}
static constexpr const char * mime_text_utf8
static constexpr const char * mime_text_uri
static constexpr const char * mime_text_plain
@ GHOST_kDragnDropTypeFilenames
Definition: GHOST_Types.h:479
@ GHOST_kDragnDropTypeString
Definition: GHOST_Types.h:480

Definition at line 404 of file GHOST_SystemWayland.cpp.

Referenced by dnd_events().

◆ mime_preference_order

const std::vector<std::string> mime_preference_order
static
Initial value:

Definition at line 410 of file GHOST_SystemWayland.cpp.

Referenced by data_device_drop(), data_device_enter(), and dnd_events().

◆ mime_send

const std::vector<std::string> mime_send
static
Initial value:
= {
"UTF8_STRING",
"COMPOUND_TEXT",
"TEXT",
"STRING",
"text/plain;charset=utf-8",
"text/plain",
}

Definition at line 416 of file GHOST_SystemWayland.cpp.

Referenced by GHOST_SystemWayland::putClipboard().

◆ mime_text_plain

constexpr const char* mime_text_plain = "text/plain"
staticconstexpr

Definition at line 400 of file GHOST_SystemWayland.cpp.

Referenced by data_device_drop().

◆ mime_text_uri

constexpr const char* mime_text_uri = "text/uri-list"
staticconstexpr

Definition at line 402 of file GHOST_SystemWayland.cpp.

Referenced by data_device_drop().

◆ mime_text_utf8

constexpr const char* mime_text_utf8 = "text/plain;charset=utf-8"
staticconstexpr

Definition at line 401 of file GHOST_SystemWayland.cpp.

Referenced by data_device_drop().

◆ output_listener

const struct wl_output_listener output_listener
static
Initial value:
= {
}
static void output_done(void *, struct wl_output *)
static void output_mode(void *data, struct wl_output *, uint32_t, int32_t width, int32_t height, int32_t)
static void output_geometry(void *data, struct wl_output *, int32_t, int32_t, int32_t, int32_t, int32_t, const char *make, const char *model, int32_t transform)
static void output_scale(void *data, struct wl_output *, int32_t factor)

Definition at line 1200 of file GHOST_SystemWayland.cpp.

Referenced by global_add().

◆ pointer_listener

const struct wl_pointer_listener pointer_listener
static
Initial value:
= {
}
static void pointer_motion(void *data, struct wl_pointer *, uint32_t, wl_fixed_t surface_x, wl_fixed_t surface_y)
static void pointer_button(void *data, struct wl_pointer *, uint32_t serial, uint32_t, uint32_t button, uint32_t state)
static void pointer_leave(void *data, struct wl_pointer *, uint32_t, struct wl_surface *surface)
static void pointer_axis(void *data, struct wl_pointer *, uint32_t, uint32_t axis, wl_fixed_t value)
static void pointer_enter(void *data, struct wl_pointer *, uint32_t serial, struct wl_surface *surface, wl_fixed_t surface_x, wl_fixed_t surface_y)

Definition at line 899 of file GHOST_SystemWayland.cpp.

Referenced by seat_capabilities().

◆ registry_listener

const struct wl_registry_listener registry_listener
static
Initial value:
= {
}
static void global_remove(void *, struct wl_registry *, uint32_t)
static void global_add(void *data, struct wl_registry *wl_registry, uint32_t name, const char *interface, uint32_t)

Definition at line 1289 of file GHOST_SystemWayland.cpp.

Referenced by GHOST_SystemWayland::GHOST_SystemWayland().

◆ relative_pointer_listener

const zwp_relative_pointer_v1_listener relative_pointer_listener
static
Initial value:
= {
}
static void relative_pointer_relative_motion(void *data, struct zwp_relative_pointer_v1 *, uint32_t, uint32_t, wl_fixed_t dx, wl_fixed_t dy, wl_fixed_t, wl_fixed_t)

Definition at line 458 of file GHOST_SystemWayland.cpp.

Referenced by GHOST_SystemWayland::setCursorGrab().

◆ seat_listener

const struct wl_seat_listener seat_listener
static
Initial value:
= {
}
static void seat_capabilities(void *data, struct wl_seat *wl_seat, uint32_t capabilities)
static void seat_name(void *data, struct wl_seat *, const char *name)

Definition at line 1149 of file GHOST_SystemWayland.cpp.

Referenced by global_add().

◆ shell_listener

const struct xdg_wm_base_listener shell_listener
static
Initial value:
= {
}
static void shell_ping(void *, struct xdg_wm_base *xdg_wm_base, uint32_t serial)

Definition at line 1212 of file GHOST_SystemWayland.cpp.

Referenced by global_add().