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 5184 of file wayland-client-protocol.h.

◆ WL_OUTPUT_GEOMETRY_SINCE_VERSION

#define WL_OUTPUT_GEOMETRY_SINCE_VERSION   1

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

◆ WL_OUTPUT_MODE_SINCE_VERSION

#define WL_OUTPUT_MODE_SINCE_VERSION   1

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

◆ WL_OUTPUT_RELEASE_SINCE_VERSION

#define WL_OUTPUT_RELEASE_SINCE_VERSION   3

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

◆ WL_OUTPUT_SCALE_SINCE_VERSION

#define WL_OUTPUT_SCALE_SINCE_VERSION   2

Definition at line 5188 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 5052 of file wayland-client-protocol.h.

5052  {
5053  /**
5054  * indicates this is the current mode
5055  */
5056  WL_OUTPUT_MODE_CURRENT = 0x1,
5057  /**
5058  * indicates this is the preferred mode
5059  */
5061 };

◆ 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 4961 of file wayland-client-protocol.h.

4961  {
4962  /**
4963  * unknown geometry
4964  */
4966  /**
4967  * no geometry
4968  */
4970  /**
4971  * horizontal RGB
4972  */
4974  /**
4975  * horizontal BGR
4976  */
4978  /**
4979  * vertical RGB
4980  */
4982  /**
4983  * vertical BGR
4984  */
4986 };

◆ 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 5007 of file wayland-client-protocol.h.

5007  {
5008  /**
5009  * no transform
5010  */
5012  /**
5013  * 90 degrees counter-clockwise
5014  */
5016  /**
5017  * 180 degrees counter-clockwise
5018  */
5020  /**
5021  * 270 degrees counter-clockwise
5022  */
5024  /**
5025  * 180 degree flip around a vertical axis
5026  */
5028  /**
5029  * flip and rotate 90 degrees counter-clockwise
5030  */
5032  /**
5033  * flip and rotate 180 degrees counter-clockwise
5034  */
5036  /**
5037  * flip and rotate 270 degrees counter-clockwise
5038  */
5040 };

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 5164 of file wayland-client-protocol.h.

5166 {
5167  return wl_proxy_add_listener((struct wl_proxy *) wl_output,
5168  (void (**)(void)) listener, data);
5169 }
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 5217 of file wayland-client-protocol.h.

5218 {
5219  wl_proxy_destroy((struct wl_proxy *) wl_output);
5220 }

◆ wl_output_get_user_data()

static void* wl_output_get_user_data ( struct wl_output *  wl_output)
inlinestatic

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

5205 {
5206  return wl_proxy_get_user_data((struct wl_proxy *) wl_output);
5207 }

◆ 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 5229 of file wayland-client-protocol.h.

References WL_OUTPUT_RELEASE.

5230 {
5231  wl_proxy_marshal((struct wl_proxy *) wl_output,
5233 
5234  wl_proxy_destroy((struct wl_proxy *) wl_output);
5235 }
#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 5197 of file wayland-client-protocol.h.

5198 {
5199  wl_proxy_set_user_data((struct wl_proxy *) wl_output, user_data);
5200 }