SDL  2.0
The wl_output interface

Data Structures

struct  wl_output_listener
 

Macros

#define WL_OUTPUT_GEOMETRY_SINCE_VERSION   1
 
#define WL_OUTPUT_MODE_SINCE_VERSION   1
 
#define WL_OUTPUT_DONE_SINCE_VERSION   2
 
#define WL_OUTPUT_SCALE_SINCE_VERSION   2
 
#define WL_OUTPUT_RELEASE_SINCE_VERSION   3
 

Enumerations

enum  wl_output_subpixel {
  WL_OUTPUT_SUBPIXEL_UNKNOWN = 0,
  WL_OUTPUT_SUBPIXEL_NONE = 1,
  WL_OUTPUT_SUBPIXEL_HORIZONTAL_RGB = 2,
  WL_OUTPUT_SUBPIXEL_HORIZONTAL_BGR = 3,
  WL_OUTPUT_SUBPIXEL_VERTICAL_RGB = 4,
  WL_OUTPUT_SUBPIXEL_VERTICAL_BGR = 5
}
 
enum  wl_output_transform {
  WL_OUTPUT_TRANSFORM_NORMAL = 0,
  WL_OUTPUT_TRANSFORM_90 = 1,
  WL_OUTPUT_TRANSFORM_180 = 2,
  WL_OUTPUT_TRANSFORM_270 = 3,
  WL_OUTPUT_TRANSFORM_FLIPPED = 4,
  WL_OUTPUT_TRANSFORM_FLIPPED_90 = 5,
  WL_OUTPUT_TRANSFORM_FLIPPED_180 = 6,
  WL_OUTPUT_TRANSFORM_FLIPPED_270 = 7
}
 
enum  wl_output_mode {
  WL_OUTPUT_MODE_CURRENT = 0x1,
  WL_OUTPUT_MODE_PREFERRED = 0x2
}
 

Functions

static int wl_output_add_listener (struct wl_output *wl_output, const struct wl_output_listener *listener, void *data)
 
static void wl_output_set_user_data (struct wl_output *wl_output, void *user_data)
 
static voidwl_output_get_user_data (struct wl_output *wl_output)
 
static void wl_output_destroy (struct wl_output *wl_output)
 
static void wl_output_release (struct wl_output *wl_output)
 

Detailed Description

An output describes part of the compositor geometry. The compositor works in the 'compositor coordinate system' and an output corresponds to a rectangular area in that space that is actually visible. This typically corresponds to a monitor that displays part of the compositor space. This object is published as global during start up, or when a monitor is hotplugged.

Macro Definition Documentation

§ WL_OUTPUT_DONE_SINCE_VERSION

#define WL_OUTPUT_DONE_SINCE_VERSION   2

Definition at line 5172 of file wayland-client-protocol.h.

§ WL_OUTPUT_GEOMETRY_SINCE_VERSION

#define WL_OUTPUT_GEOMETRY_SINCE_VERSION   1

Definition at line 5164 of file wayland-client-protocol.h.

§ WL_OUTPUT_MODE_SINCE_VERSION

#define WL_OUTPUT_MODE_SINCE_VERSION   1

Definition at line 5168 of file wayland-client-protocol.h.

§ WL_OUTPUT_RELEASE_SINCE_VERSION

#define WL_OUTPUT_RELEASE_SINCE_VERSION   3

Definition at line 5181 of file wayland-client-protocol.h.

§ WL_OUTPUT_SCALE_SINCE_VERSION

#define WL_OUTPUT_SCALE_SINCE_VERSION   2

Definition at line 5176 of file wayland-client-protocol.h.

Enumeration Type Documentation

§ wl_output_mode

mode information

These flags describe properties of an output mode. They are used in the flags bitfield of the mode event.

Enumerator
WL_OUTPUT_MODE_CURRENT 

indicates this is the current mode

WL_OUTPUT_MODE_PREFERRED 

indicates this is the preferred mode

Definition at line 5040 of file wayland-client-protocol.h.

5040  {
5041  /**
5042  * indicates this is the current mode
5043  */
5044  WL_OUTPUT_MODE_CURRENT = 0x1,
5045  /**
5046  * indicates this is the preferred mode
5047  */
5049 };

§ wl_output_subpixel

subpixel geometry information

This enumeration describes how the physical pixels on an output are laid out.

Enumerator
WL_OUTPUT_SUBPIXEL_UNKNOWN 

unknown geometry

WL_OUTPUT_SUBPIXEL_NONE 

no geometry

WL_OUTPUT_SUBPIXEL_HORIZONTAL_RGB 

horizontal RGB

WL_OUTPUT_SUBPIXEL_HORIZONTAL_BGR 

horizontal BGR

WL_OUTPUT_SUBPIXEL_VERTICAL_RGB 

vertical RGB

WL_OUTPUT_SUBPIXEL_VERTICAL_BGR 

vertical BGR

Definition at line 4949 of file wayland-client-protocol.h.

4949  {
4950  /**
4951  * unknown geometry
4952  */
4954  /**
4955  * no geometry
4956  */
4958  /**
4959  * horizontal RGB
4960  */
4962  /**
4963  * horizontal BGR
4964  */
4966  /**
4967  * vertical RGB
4968  */
4970  /**
4971  * vertical BGR
4972  */
4974 };

§ wl_output_transform

transform from framebuffer to output

This describes the transform that a compositor will apply to a surface to compensate for the rotation or mirroring of an output device.

The flipped values correspond to an initial flip around a vertical axis followed by rotation.

The purpose is mainly to allow clients to render accordingly and tell the compositor, so that for fullscreen surfaces, the compositor will still be able to scan out directly from client surfaces.

Enumerator
WL_OUTPUT_TRANSFORM_NORMAL 

no transform

WL_OUTPUT_TRANSFORM_90 

90 degrees counter-clockwise

WL_OUTPUT_TRANSFORM_180 

180 degrees counter-clockwise

WL_OUTPUT_TRANSFORM_270 

270 degrees counter-clockwise

WL_OUTPUT_TRANSFORM_FLIPPED 

180 degree flip around a vertical axis

WL_OUTPUT_TRANSFORM_FLIPPED_90 

flip and rotate 90 degrees counter-clockwise

WL_OUTPUT_TRANSFORM_FLIPPED_180 

flip and rotate 180 degrees counter-clockwise

WL_OUTPUT_TRANSFORM_FLIPPED_270 

flip and rotate 270 degrees counter-clockwise

Definition at line 4995 of file wayland-client-protocol.h.

4995  {
4996  /**
4997  * no transform
4998  */
5000  /**
5001  * 90 degrees counter-clockwise
5002  */
5004  /**
5005  * 180 degrees counter-clockwise
5006  */
5008  /**
5009  * 270 degrees counter-clockwise
5010  */
5012  /**
5013  * 180 degree flip around a vertical axis
5014  */
5016  /**
5017  * flip and rotate 90 degrees counter-clockwise
5018  */
5020  /**
5021  * flip and rotate 180 degrees counter-clockwise
5022  */
5024  /**
5025  * flip and rotate 270 degrees counter-clockwise
5026  */
5028 };

Function Documentation

§ wl_output_add_listener()

static int wl_output_add_listener ( struct wl_output *  wl_output,
const struct wl_output_listener listener,
void data 
)
inlinestatic

Definition at line 5152 of file wayland-client-protocol.h.

5154 {
5155  return wl_proxy_add_listener((struct wl_proxy *) wl_output,
5156  (void (**)(void)) listener, data);
5157 }
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: SDL_opengl.h:1974

§ wl_output_destroy()

static void wl_output_destroy ( struct wl_output *  wl_output)
inlinestatic

Definition at line 5205 of file wayland-client-protocol.h.

5206 {
5207  wl_proxy_destroy((struct wl_proxy *) wl_output);
5208 }

§ wl_output_get_user_data()

static void* wl_output_get_user_data ( struct wl_output *  wl_output)
inlinestatic

Definition at line 5192 of file wayland-client-protocol.h.

5193 {
5194  return wl_proxy_get_user_data((struct wl_proxy *) wl_output);
5195 }

§ wl_output_release()

static void wl_output_release ( struct wl_output *  wl_output)
inlinestatic

Using this request a client can tell the server that it is not going to use the output object anymore.

Definition at line 5217 of file wayland-client-protocol.h.

References WL_OUTPUT_RELEASE.

5218 {
5219  wl_proxy_marshal((struct wl_proxy *) wl_output,
5221 
5222  wl_proxy_destroy((struct wl_proxy *) wl_output);
5223 }
#define WL_OUTPUT_RELEASE

§ wl_output_set_user_data()

static void wl_output_set_user_data ( struct wl_output *  wl_output,
void user_data 
)
inlinestatic

Definition at line 5185 of file wayland-client-protocol.h.

5186 {
5187  wl_proxy_set_user_data((struct wl_proxy *) wl_output, user_data);
5188 }