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

◆ WL_OUTPUT_GEOMETRY_SINCE_VERSION

#define WL_OUTPUT_GEOMETRY_SINCE_VERSION   1

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

◆ WL_OUTPUT_MODE_SINCE_VERSION

#define WL_OUTPUT_MODE_SINCE_VERSION   1

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

◆ WL_OUTPUT_RELEASE_SINCE_VERSION

#define WL_OUTPUT_RELEASE_SINCE_VERSION   3

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

◆ WL_OUTPUT_SCALE_SINCE_VERSION

#define WL_OUTPUT_SCALE_SINCE_VERSION   2

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

5035  {
5036  /**
5037  * indicates this is the current mode
5038  */
5039  WL_OUTPUT_MODE_CURRENT = 0x1,
5040  /**
5041  * indicates this is the preferred mode
5042  */
5044 };

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

4944  {
4945  /**
4946  * unknown geometry
4947  */
4949  /**
4950  * no geometry
4951  */
4953  /**
4954  * horizontal RGB
4955  */
4957  /**
4958  * horizontal BGR
4959  */
4961  /**
4962  * vertical RGB
4963  */
4965  /**
4966  * vertical BGR
4967  */
4969 };

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

4990  {
4991  /**
4992  * no transform
4993  */
4995  /**
4996  * 90 degrees counter-clockwise
4997  */
4999  /**
5000  * 180 degrees counter-clockwise
5001  */
5003  /**
5004  * 270 degrees counter-clockwise
5005  */
5007  /**
5008  * 180 degree flip around a vertical axis
5009  */
5011  /**
5012  * flip and rotate 90 degrees counter-clockwise
5013  */
5015  /**
5016  * flip and rotate 180 degrees counter-clockwise
5017  */
5019  /**
5020  * flip and rotate 270 degrees counter-clockwise
5021  */
5023 };

Function Documentation

◆ wl_output_destroy()

static void wl_output_destroy ( struct wl_output *  wl_output)
inlinestatic

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

5201 {
5202  wl_proxy_destroy((struct wl_proxy *) wl_output);
5203 }

◆ wl_output_get_user_data()

static void* wl_output_get_user_data ( struct wl_output *  wl_output)
inlinestatic

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

5188 {
5189  return wl_proxy_get_user_data((struct wl_proxy *) wl_output);
5190 }

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

References WL_OUTPUT_RELEASE.

5213 {
5214  wl_proxy_marshal((struct wl_proxy *) wl_output,
5216 
5217  wl_proxy_destroy((struct wl_proxy *) wl_output);
5218 }
#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 5180 of file wayland-client-protocol.h.

5181 {
5182  wl_proxy_set_user_data((struct wl_proxy *) wl_output, user_data);
5183 }