wl_output_listener Struct Reference
The wl_output interface

`#include <wayland-client-protocol.h>`

## Data Fields

void(* | geometry )(void *data, struct wl_output *wl_output, int32_t x, int32_t y, int32_t physical_width, int32_t physical_height, int32_t subpixel, const char *make, const char *model, int32_t transform)
void(* | mode )(void *data, struct wl_output *wl_output, uint32_t flags, int32_t width, int32_t height, int32_t refresh)
void(* | done )(void *data, struct wl_output *wl_output)
void(* | scale )(void *data, struct wl_output *wl_output, int32_t factor)

## Detailed Description

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

## Field Documentation

## done

void(* wl_output_listener::done) (void *data, struct wl_output *wl_output)

sent all information about output

This event is sent after all other properties have been sent after binding to the output object and after any other property changes done after that. This allows changes to the output properties to be seen as atomic, even if they happen via multiple events.

Since
  2

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

## geometry

void(* wl_output_listener::geometry) (void *data, struct wl_output *wl_output, int32_t x, int32_t y, int32_t physical_width, int32_t physical_height, int32_t subpixel, const char *make, const char *model, int32_t transform)

properties of the output

The geometry event describes geometric properties of the output. The event is sent when binding to the output object and whenever any of the properties change.

Parameters

  x | x position within the global compositor space
  y | y position within the global compositor space
  physical_width | width in millimeters of the output
  physical_height | height in millimeters of the output
  subpixel | subpixel orientation of the output
  make | textual description of the manufacturer
  model | textual description of the model
  transform | transform that maps framebuffer to output

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

## mode

void(* wl_output_listener::mode) (void *data, struct wl_output *wl_output, uint32_t flags, int32_t width, int32_t height, int32_t refresh)

advertise available modes for the output

The mode event describes an available mode for the output.

The event is sent when binding to the output object and there will always be one mode, the current mode. The event is sent again if an output changes mode, for the mode that is now current. In other words, the current mode is always the last mode that was received with the current flag set.

The size of a mode is given in physical hardware units of the output device. This is not necessarily the same as the output size in the global compositor space. For instance, the output may be scaled, as described in wl_output.scale, or transformed, as described in wl_output.transform.

Parameters

  flags | bitfield of mode flags
  width | width of the mode in hardware units
  height | height of the mode in hardware units
  refresh | vertical refresh rate in mHz

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

## scale

void(* wl_output_listener::scale) (void *data, struct wl_output *wl_output, int32_t factor)

output scaling properties

This event contains scaling geometry information that is not in the geometry event. It may be sent after binding the output object or if the output scale changes later. If it is not sent, the client should assume a scale of 1.

A scale larger than 1 means that the compositor will automatically scale surface buffers by this amount when rendering. This is used for very high resolution displays where applications rendering at the native resolution would be too small to be legible.

It is intended that scaling aware clients track the current output of a surface, and if it is on a scaled output it should use wl_surface.set_buffer_scale with the scale of the output. That way the compositor can avoid scaling the surface, and the client can supply a higher detail image.

Parameters

  factor | scaling factor of output

Since
  2

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

The documentation for this struct was generated from the following file:

- gen/wayland-client-protocol.h