SDL  2.0
The zxdg_shell_v6 interface

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. More...

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 402 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 398 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 406 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 393 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 410 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 378 of file xdg-shell-unstable-v6-client-protocol.h.

380 {
381  return wl_proxy_add_listener((struct wl_proxy *) zxdg_shell_v6,
382  (void (**)(void)) listener, data);
383 }

◆ zxdg_shell_v6_create_positioner()

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

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 456 of file xdg-shell-unstable-v6-client-protocol.h.

457 {
458  struct wl_proxy *id;
459 
460  id = wl_proxy_marshal_flags((struct wl_proxy *) zxdg_shell_v6,
461  ZXDG_SHELL_V6_CREATE_POSITIONER, &zxdg_positioner_v6_interface, wl_proxy_get_version((struct wl_proxy *) zxdg_shell_v6), 0, NULL);
462 
463  return (struct zxdg_positioner_v6 *) id;
464 }

References NULL, zxdg_positioner_v6_interface, and ZXDG_SHELL_V6_CREATE_POSITIONER.

◆ 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 442 of file xdg-shell-unstable-v6-client-protocol.h.

443 {
444  wl_proxy_marshal_flags((struct wl_proxy *) zxdg_shell_v6,
445  ZXDG_SHELL_V6_DESTROY, NULL, wl_proxy_get_version((struct wl_proxy *) zxdg_shell_v6), WL_MARSHAL_FLAG_DESTROY);
446 }

References NULL, and ZXDG_SHELL_V6_DESTROY.

◆ 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 421 of file xdg-shell-unstable-v6-client-protocol.h.

422 {
423  return wl_proxy_get_user_data((struct wl_proxy *) zxdg_shell_v6);
424 }

◆ 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 
)
inlinestatic

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 482 of file xdg-shell-unstable-v6-client-protocol.h.

483 {
484  struct wl_proxy *id;
485 
486  id = wl_proxy_marshal_flags((struct wl_proxy *) zxdg_shell_v6,
487  ZXDG_SHELL_V6_GET_XDG_SURFACE, &zxdg_surface_v6_interface, wl_proxy_get_version((struct wl_proxy *) zxdg_shell_v6), 0, NULL, surface);
488 
489  return (struct zxdg_surface_v6 *) id;
490 }

References NULL, ZXDG_SHELL_V6_GET_XDG_SURFACE, and 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 499 of file xdg-shell-unstable-v6-client-protocol.h.

500 {
501  wl_proxy_marshal_flags((struct wl_proxy *) zxdg_shell_v6,
502  ZXDG_SHELL_V6_PONG, NULL, wl_proxy_get_version((struct wl_proxy *) zxdg_shell_v6), 0, serial);
503 }

References NULL, and ZXDG_SHELL_V6_PONG.

◆ 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 414 of file xdg-shell-unstable-v6-client-protocol.h.

415 {
416  wl_proxy_set_user_data((struct wl_proxy *) zxdg_shell_v6, user_data);
417 }
NULL
#define NULL
Definition: begin_code.h:167
surface
EGLSurface surface
Definition: eglext.h:248
data
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: SDL_opengl.h:1974
ZXDG_SHELL_V6_CREATE_POSITIONER
#define ZXDG_SHELL_V6_CREATE_POSITIONER
Definition: xdg-shell-unstable-v6-client-protocol.h:386
ZXDG_SHELL_V6_PONG
#define ZXDG_SHELL_V6_PONG
Definition: xdg-shell-unstable-v6-client-protocol.h:388
ZXDG_SHELL_V6_GET_XDG_SURFACE
#define ZXDG_SHELL_V6_GET_XDG_SURFACE
Definition: xdg-shell-unstable-v6-client-protocol.h:387
id
GLuint id
Definition: SDL_opengl_glext.h:528
zxdg_surface_v6_interface
const struct wl_interface zxdg_surface_v6_interface
Definition: xdg-shell-unstable-v6-protocol.c:113
ZXDG_SHELL_V6_DESTROY
#define ZXDG_SHELL_V6_DESTROY
Definition: xdg-shell-unstable-v6-client-protocol.h:385
zxdg_positioner_v6_interface
const struct wl_interface zxdg_positioner_v6_interface
Definition: xdg-shell-unstable-v6-protocol.c:95