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 void * | zxdg_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
| ) |  |

inline static

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

{
return wl_proxy_add_listener((struct wl_proxy *) zxdg_shell_v6,
(void (**)(void)) listener, data);
}
data
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.

{
struct wl_proxy *id;
id = wl_proxy_marshal_constructor((struct wl_proxy *) zxdg_shell_v6,
ZXDG_SHELL_V6_CREATE_POSITIONER, &zxdg_positioner_v6_interface, NULL);
return (struct zxdg_positioner_v6 *) id;
}
id
GLuint id
Definition: SDL_opengl_glext.h:528
zxdg_positioner_v6_interface
const struct wl_interface zxdg_positioner_v6_interface
Definition: xdg-shell-unstable-v6-protocol.c:95
ZXDG_SHELL_V6_CREATE_POSITIONER
#define ZXDG_SHELL_V6_CREATE_POSITIONER
Definition: xdg-shell-unstable-v6-client-protocol.h:371
NULL
#define NULL
Definition: begin_code.h:164

## zxdg_shell_v6_destroy()

static void zxdg_shell_v6_destroy | ( | struct zxdg_shell_v6 * | zxdg_shell_v6 | ) |

inline static

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.

{
wl_proxy_marshal((struct wl_proxy *) zxdg_shell_v6,
ZXDG_SHELL_V6_DESTROY);
wl_proxy_destroy((struct wl_proxy *) zxdg_shell_v6);
}
ZXDG_SHELL_V6_DESTROY
#define ZXDG_SHELL_V6_DESTROY
Definition: xdg-shell-unstable-v6-client-protocol.h:370

## zxdg_shell_v6_get_user_data()

static void* zxdg_shell_v6_get_user_data | ( | struct zxdg_shell_v6 * | zxdg_shell_v6 | ) |

inline static

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

{
return wl_proxy_get_user_data((struct wl_proxy *) zxdg_shell_v6);
}

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

{
struct wl_proxy *id;
id = wl_proxy_marshal_constructor((struct wl_proxy *) zxdg_shell_v6,
ZXDG_SHELL_V6_GET_XDG_SURFACE, &zxdg_surface_v6_interface, NULL, surface);
return (struct zxdg_surface_v6 *) id;
}
id
GLuint id
Definition: SDL_opengl_glext.h:528
surface
EGLSurface surface
Definition: eglext.h:248
ZXDG_SHELL_V6_GET_XDG_SURFACE
#define ZXDG_SHELL_V6_GET_XDG_SURFACE
Definition: xdg-shell-unstable-v6-client-protocol.h:372
NULL
#define NULL
Definition: begin_code.h:164
zxdg_surface_v6_interface
const struct wl_interface zxdg_surface_v6_interface
Definition: xdg-shell-unstable-v6-protocol.c:113

## zxdg_shell_v6_pong()

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

inline static

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.

{
wl_proxy_marshal((struct wl_proxy *) zxdg_shell_v6,
ZXDG_SHELL_V6_PONG, serial);
}
ZXDG_SHELL_V6_PONG
#define ZXDG_SHELL_V6_PONG
Definition: xdg-shell-unstable-v6-client-protocol.h:373

## zxdg_shell_v6_set_user_data()

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

inline static

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

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