xdg-output-unstable-v1-client-protocol

xdg-output-unstable-v1-client-protocol

Functions

Types and Values

Description

Functions

zxdg_output_manager_v1_set_user_data ()

void
zxdg_output_manager_v1_set_user_data (struct zxdg_output_manager_v1 *zxdg_output_manager_v1,
                                      void *user_data);

zxdg_output_manager_v1_get_user_data ()

void *
zxdg_output_manager_v1_get_user_data (struct zxdg_output_manager_v1 *zxdg_output_manager_v1);

zxdg_output_manager_v1_get_version ()

uint32_t
zxdg_output_manager_v1_get_version (struct zxdg_output_manager_v1 *zxdg_output_manager_v1);

zxdg_output_manager_v1_destroy ()

void
zxdg_output_manager_v1_destroy (struct zxdg_output_manager_v1 *zxdg_output_manager_v1);

zxdg_output_manager_v1_get_xdg_output ()

struct zxdg_output_v1 *
zxdg_output_manager_v1_get_xdg_output (struct zxdg_output_manager_v1 *zxdg_output_manager_v1,
                                       struct wl_output *output);

zxdg_output_v1_add_listener ()

int
zxdg_output_v1_add_listener (struct zxdg_output_v1 *zxdg_output_v1,
                             const struct zxdg_output_v1_listener *listener,
                             void *data);

zxdg_output_v1_set_user_data ()

void
zxdg_output_v1_set_user_data (struct zxdg_output_v1 *zxdg_output_v1,
                              void *user_data);

zxdg_output_v1_get_user_data ()

void *
zxdg_output_v1_get_user_data (struct zxdg_output_v1 *zxdg_output_v1);

zxdg_output_v1_get_version ()

uint32_t
zxdg_output_v1_get_version (struct zxdg_output_v1 *zxdg_output_v1);

zxdg_output_v1_destroy ()

void
zxdg_output_v1_destroy (struct zxdg_output_v1 *zxdg_output_v1);

Types and Values

ZXDG_OUTPUT_MANAGER_V1_DESTROY

#define             ZXDG_OUTPUT_MANAGER_V1_DESTROY

ZXDG_OUTPUT_MANAGER_V1_GET_XDG_OUTPUT

#define             ZXDG_OUTPUT_MANAGER_V1_GET_XDG_OUTPUT

ZXDG_OUTPUT_MANAGER_V1_DESTROY_SINCE_VERSION

#define             ZXDG_OUTPUT_MANAGER_V1_DESTROY_SINCE_VERSION

ZXDG_OUTPUT_MANAGER_V1_GET_XDG_OUTPUT_SINCE_VERSION

#define             ZXDG_OUTPUT_MANAGER_V1_GET_XDG_OUTPUT_SINCE_VERSION

struct zxdg_output_v1_listener

struct zxdg_output_v1_listener {
	/**
	 * position of the output within the global compositor space
	 *
	 * The position event describes the location of the wl_output
	 * within the global compositor space.
	 *
	 * The logical_position event is sent after creating an xdg_output
	 * (see xdg_output_manager.get_xdg_output) and whenever the
	 * location of the output changes within the global compositor
	 * space.
	 * @param x x position within the global compositor space
	 * @param y y position within the global compositor space
	 */
	void (*logical_position)(void *data,
				 struct zxdg_output_v1 *zxdg_output_v1,
				 int32_t x,
				 int32_t y);
	/**
	 * size of the output in the global compositor space
	 *
	 * The logical_size event describes the size of the output in the
	 * global compositor space.
	 *
	 * For example, a surface without any buffer scale, transformation
	 * nor rotation set, with the size matching the logical_size will
	 * have the same size as the corresponding output when displayed.
	 *
	 * Most regular Wayland clients should not pay attention to the
	 * logical size and would rather rely on xdg_shell interfaces.
	 *
	 * Some clients such as Xwayland, however, need this to configure
	 * their surfaces in the global compositor space as the compositor
	 * may apply a different scale from what is advertised by the
	 * output scaling property (to achieve fractional scaling, for
	 * example).
	 *
	 * For example, for a wl_output mode 3840×2160 and a scale factor
	 * 2:
	 *
	 * - A compositor not scaling the surface buffers will advertise a
	 * logical size of 3840×2160,
	 *
	 * - A compositor automatically scaling the surface buffers will
	 * advertise a logical size of 1920×1080,
	 *
	 * - A compositor using a fractional scale of 1.5 will advertise a
	 * logical size to 2560×1620.
	 *
	 * For example, for a wl_output mode 1920×1080 and a 90 degree
	 * rotation, the compositor will advertise a logical size of
	 * 1080x1920.
	 *
	 * The logical_size event is sent after creating an xdg_output (see
	 * xdg_output_manager.get_xdg_output) and whenever the logical size
	 * of the output changes, either as a result of a change in the
	 * applied scale or because of a change in the corresponding output
	 * mode(see wl_output.mode) or transform (see wl_output.transform).
	 * @param width width in global compositor space
	 * @param height height in global compositor space
	 */
	void (*logical_size)(void *data,
			     struct zxdg_output_v1 *zxdg_output_v1,
			     int32_t width,
			     int32_t height);
	/**
	 * all information about the output have been sent
	 *
	 * This event is sent after all other properties of an xdg_output
	 * have been sent.
	 *
	 * This allows changes to the xdg_output properties to be seen as
	 * atomic, even if they happen via multiple events.
	 */
	void (*done)(void *data,
		     struct zxdg_output_v1 *zxdg_output_v1);
	/**
	 * name of this output
	 *
	 * Many compositors will assign names to their outputs, show them
	 * to the user, allow them to be configured by name, etc. The
	 * client may wish to know this name as well to offer the user
	 * similar behaviors.
	 *
	 * The naming convention is compositor defined, but limited to
	 * alphanumeric characters and dashes (-). Each name is unique
	 * among all wl_output globals, but if a wl_output global is
	 * destroyed the same name may be reused later. The names will also
	 * remain consistent across sessions with the same hardware and
	 * software configuration.
	 *
	 * Examples of names include 'HDMI-A-1', 'WL-1', 'X11-1', etc.
	 * However, do not assume that the name is a reflection of an
	 * underlying DRM connector, X11 connection, etc.
	 *
	 * The name event is sent after creating an xdg_output (see
	 * xdg_output_manager.get_xdg_output). This event is only sent once
	 * per xdg_output, and the name does not change over the lifetime
	 * of the wl_output global.
	 * @param name output name
	 * @since 2
	 */
	void (*name)(void *data,
		     struct zxdg_output_v1 *zxdg_output_v1,
		     const char *name);
	/**
	 * human-readable description of this output
	 *
	 * Many compositors can produce human-readable descriptions of
	 * their outputs. The client may wish to know this description as
	 * well, to communicate the user for various purposes.
	 *
	 * The description is a UTF-8 string with no convention defined for
	 * its contents. Examples might include 'Foocorp 11" Display' or
	 * 'Virtual X11 output via :1'.
	 *
	 * The description event is sent after creating an xdg_output (see
	 * xdg_output_manager.get_xdg_output). This event is only sent once
	 * per xdg_output, and the description does not change over the
	 * lifetime of the wl_output global. The description is optional,
	 * and may not be sent at all.
	 * @param description output description
	 * @since 2
	 */
	void (*description)(void *data,
			    struct zxdg_output_v1 *zxdg_output_v1,
			    const char *description);
};

ZXDG_OUTPUT_V1_DESTROY

#define             ZXDG_OUTPUT_V1_DESTROY

ZXDG_OUTPUT_V1_LOGICAL_POSITION_SINCE_VERSION

#define             ZXDG_OUTPUT_V1_LOGICAL_POSITION_SINCE_VERSION

ZXDG_OUTPUT_V1_LOGICAL_SIZE_SINCE_VERSION

#define             ZXDG_OUTPUT_V1_LOGICAL_SIZE_SINCE_VERSION

ZXDG_OUTPUT_V1_DONE_SINCE_VERSION

#define             ZXDG_OUTPUT_V1_DONE_SINCE_VERSION

ZXDG_OUTPUT_V1_NAME_SINCE_VERSION

#define             ZXDG_OUTPUT_V1_NAME_SINCE_VERSION

ZXDG_OUTPUT_V1_DESCRIPTION_SINCE_VERSION

#define             ZXDG_OUTPUT_V1_DESCRIPTION_SINCE_VERSION

ZXDG_OUTPUT_V1_DESTROY_SINCE_VERSION

#define             ZXDG_OUTPUT_V1_DESTROY_SINCE_VERSION

struct wl_output

struct wl_output;

struct zxdg_output_manager_v1

struct zxdg_output_manager_v1;

struct zxdg_output_v1

struct zxdg_output_v1;