SDL  2.0
The zxdg_shell_v6 interface

Data Structures

struct  zxdg_shell_v6_listener
 

Macros

#define ZXDG_SHELL_V6_PING_SINCE_VERSION   1
 
#define ZXDG_SHELL_V6_DESTROY_SINCE_VERSION   1
 
#define ZXDG_SHELL_V6_CREATE_POSITIONER_SINCE_VERSION   1
 
#define ZXDG_SHELL_V6_GET_XDG_SURFACE_SINCE_VERSION   1
 
#define ZXDG_SHELL_V6_PONG_SINCE_VERSION   1
 

Functions

static int zxdg_shell_v6_add_listener (struct zxdg_shell_v6 *zxdg_shell_v6, const struct zxdg_shell_v6_listener *listener, void *data)
 
static void zxdg_shell_v6_set_user_data (struct zxdg_shell_v6 *zxdg_shell_v6, void *user_data)
 
static voidzxdg_shell_v6_get_user_data (struct zxdg_shell_v6 *zxdg_shell_v6)
 
static void zxdg_shell_v6_destroy (struct zxdg_shell_v6 *zxdg_shell_v6)
 
static struct zxdg_positioner_v6 * zxdg_shell_v6_create_positioner (struct zxdg_shell_v6 *zxdg_shell_v6)
 
static struct zxdg_surface_v6 * zxdg_shell_v6_get_xdg_surface (struct zxdg_shell_v6 *zxdg_shell_v6, struct wl_surface *surface)
 
static void zxdg_shell_v6_pong (struct zxdg_shell_v6 *zxdg_shell_v6, uint32_t serial)
 

Detailed Description

xdg_shell allows clients to turn a wl_surface into a "real window" which can be dragged, resized, stacked, and moved around by the user. Everything about this interface is suited towards traditional desktop environments.

Macro Definition Documentation

◆ ZXDG_SHELL_V6_CREATE_POSITIONER_SINCE_VERSION

#define ZXDG_SHELL_V6_CREATE_POSITIONER_SINCE_VERSION   1

Definition at line 387 of file xdg-shell-unstable-v6-client-protocol.h.

◆ ZXDG_SHELL_V6_DESTROY_SINCE_VERSION

#define ZXDG_SHELL_V6_DESTROY_SINCE_VERSION   1

Definition at line 383 of file xdg-shell-unstable-v6-client-protocol.h.

◆ ZXDG_SHELL_V6_GET_XDG_SURFACE_SINCE_VERSION

#define ZXDG_SHELL_V6_GET_XDG_SURFACE_SINCE_VERSION   1

Definition at line 391 of file xdg-shell-unstable-v6-client-protocol.h.

◆ ZXDG_SHELL_V6_PING_SINCE_VERSION

#define ZXDG_SHELL_V6_PING_SINCE_VERSION   1

Definition at line 378 of file xdg-shell-unstable-v6-client-protocol.h.

◆ ZXDG_SHELL_V6_PONG_SINCE_VERSION

#define ZXDG_SHELL_V6_PONG_SINCE_VERSION   1

Definition at line 395 of file xdg-shell-unstable-v6-client-protocol.h.

Function Documentation

◆ zxdg_shell_v6_add_listener()

static int zxdg_shell_v6_add_listener ( struct zxdg_shell_v6 *  zxdg_shell_v6,
const struct zxdg_shell_v6_listener listener,
void data 
)
inlinestatic

Definition at line 363 of file xdg-shell-unstable-v6-client-protocol.h.

365 {
366  return wl_proxy_add_listener((struct wl_proxy *) zxdg_shell_v6,
367  (void (**)(void)) listener, data);
368 }
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: SDL_opengl.h:1974

◆ zxdg_shell_v6_create_positioner()

static struct zxdg_positioner_v6* zxdg_shell_v6_create_positioner ( struct zxdg_shell_v6 *  zxdg_shell_v6)
static

Create a positioner object. A positioner object is used to position surfaces relative to some parent surface. See the interface description and xdg_surface.get_popup for details.

Definition at line 443 of file xdg-shell-unstable-v6-client-protocol.h.

References NULL, zxdg_positioner_v6_interface, and ZXDG_SHELL_V6_CREATE_POSITIONER.

444 {
445  struct wl_proxy *id;
446 
447  id = wl_proxy_marshal_constructor((struct wl_proxy *) zxdg_shell_v6,
449 
450  return (struct zxdg_positioner_v6 *) id;
451 }
GLuint id
const struct wl_interface zxdg_positioner_v6_interface
#define ZXDG_SHELL_V6_CREATE_POSITIONER
#define NULL
Definition: begin_code.h:164

◆ zxdg_shell_v6_destroy()

static void zxdg_shell_v6_destroy ( struct zxdg_shell_v6 *  zxdg_shell_v6)
inlinestatic

Destroy this xdg_shell object.

Destroying a bound xdg_shell object while there are surfaces still alive created by this xdg_shell object instance is illegal and will result in a protocol error.

Definition at line 427 of file xdg-shell-unstable-v6-client-protocol.h.

References ZXDG_SHELL_V6_DESTROY.

428 {
429  wl_proxy_marshal((struct wl_proxy *) zxdg_shell_v6,
431 
432  wl_proxy_destroy((struct wl_proxy *) zxdg_shell_v6);
433 }

◆ zxdg_shell_v6_get_user_data()

static void* zxdg_shell_v6_get_user_data ( struct zxdg_shell_v6 *  zxdg_shell_v6)
inlinestatic

Definition at line 406 of file xdg-shell-unstable-v6-client-protocol.h.

407 {
408  return wl_proxy_get_user_data((struct wl_proxy *) zxdg_shell_v6);
409 }

◆ zxdg_shell_v6_get_xdg_surface()

static struct zxdg_surface_v6* zxdg_shell_v6_get_xdg_surface ( struct zxdg_shell_v6 *  zxdg_shell_v6,
struct wl_surface *  surface 
)
static

This creates an xdg_surface for the given surface. While xdg_surface itself is not a role, the corresponding surface may only be assigned a role extending xdg_surface, such as xdg_toplevel or xdg_popup.

This creates an xdg_surface for the given surface. An xdg_surface is used as basis to define a role to a given surface, such as xdg_toplevel or xdg_popup. It also manages functionality shared between xdg_surface based surface roles.

See the documentation of xdg_surface for more details about what an xdg_surface is and how it is used.

Definition at line 469 of file xdg-shell-unstable-v6-client-protocol.h.

References NULL, ZXDG_SHELL_V6_GET_XDG_SURFACE, and zxdg_surface_v6_interface.

470 {
471  struct wl_proxy *id;
472 
473  id = wl_proxy_marshal_constructor((struct wl_proxy *) zxdg_shell_v6,
475 
476  return (struct zxdg_surface_v6 *) id;
477 }
GLuint id
EGLSurface surface
Definition: eglext.h:248
#define ZXDG_SHELL_V6_GET_XDG_SURFACE
#define NULL
Definition: begin_code.h:164
const struct wl_interface zxdg_surface_v6_interface

◆ zxdg_shell_v6_pong()

static void zxdg_shell_v6_pong ( struct zxdg_shell_v6 *  zxdg_shell_v6,
uint32_t  serial 
)
inlinestatic

A client must respond to a ping event with a pong request or the client may be deemed unresponsive. See xdg_shell.ping.

Definition at line 486 of file xdg-shell-unstable-v6-client-protocol.h.

References ZXDG_SHELL_V6_PONG.

487 {
488  wl_proxy_marshal((struct wl_proxy *) zxdg_shell_v6,
489  ZXDG_SHELL_V6_PONG, serial);
490 }

◆ zxdg_shell_v6_set_user_data()

static void zxdg_shell_v6_set_user_data ( struct zxdg_shell_v6 *  zxdg_shell_v6,
void user_data 
)
inlinestatic

Definition at line 399 of file xdg-shell-unstable-v6-client-protocol.h.

400 {
401  wl_proxy_set_user_data((struct wl_proxy *) zxdg_shell_v6, user_data);
402 }