Commit fe1dd778 authored by David Reveman's avatar David Reveman Committed by Commit Bot

exo: Aura shell version 2.

Version 2 additions:

- set_parent request that can be used to provide an initial position
  relative to parent for shell surfaces.

- zaura_output extension to wl_output that provides detailed
  information about supported scale factors.

Test: compile
Bug: 
Change-Id: I00aebee4475a7004db84f6f0e2cb5d41d8a823da
Reviewed-on: https://chromium-review.googlesource.com/804354
Commit-Queue: David Reveman <reveman@chromium.org>
Reviewed-by: default avatarDaniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521077}
parent a93cf8bf
...@@ -16,6 +16,7 @@ extern "C" { ...@@ -16,6 +16,7 @@ extern "C" {
* @section page_ifaces_aura_shell Interfaces * @section page_ifaces_aura_shell Interfaces
* - @subpage page_iface_zaura_shell - aura_shell * - @subpage page_iface_zaura_shell - aura_shell
* - @subpage page_iface_zaura_surface - aura shell interface to a wl_surface * - @subpage page_iface_zaura_surface - aura shell interface to a wl_surface
* - @subpage page_iface_zaura_output - aura shell interface to a wl_output
* @section page_copyright_aura_shell Copyright * @section page_copyright_aura_shell Copyright
* <pre> * <pre>
* *
...@@ -41,7 +42,9 @@ extern "C" { ...@@ -41,7 +42,9 @@ extern "C" {
* DEALINGS IN THE SOFTWARE. * DEALINGS IN THE SOFTWARE.
* </pre> * </pre>
*/ */
struct wl_output;
struct wl_surface; struct wl_surface;
struct zaura_output;
struct zaura_shell; struct zaura_shell;
struct zaura_surface; struct zaura_surface;
...@@ -81,6 +84,22 @@ extern const struct wl_interface zaura_shell_interface; ...@@ -81,6 +84,22 @@ extern const struct wl_interface zaura_shell_interface;
* client to access aura shell specific functionality for surface. * client to access aura shell specific functionality for surface.
*/ */
extern const struct wl_interface zaura_surface_interface; extern const struct wl_interface zaura_surface_interface;
/**
* @page page_iface_zaura_output zaura_output
* @section page_iface_zaura_output_desc Description
*
* An additional interface to a wl_output object, which allows the
* client to access aura shell specific functionality for output.
* @section page_iface_zaura_output_api API
* See @ref iface_zaura_output.
*/
/**
* @defgroup iface_zaura_output The zaura_output interface
*
* An additional interface to a wl_output object, which allows the
* client to access aura shell specific functionality for output.
*/
extern const struct wl_interface zaura_output_interface;
#ifndef ZAURA_SHELL_ERROR_ENUM #ifndef ZAURA_SHELL_ERROR_ENUM
#define ZAURA_SHELL_ERROR_ENUM #define ZAURA_SHELL_ERROR_ENUM
...@@ -89,16 +108,25 @@ enum zaura_shell_error { ...@@ -89,16 +108,25 @@ enum zaura_shell_error {
* the surface already has an aura surface object associated * the surface already has an aura surface object associated
*/ */
ZAURA_SHELL_ERROR_AURA_SURFACE_EXISTS = 0, ZAURA_SHELL_ERROR_AURA_SURFACE_EXISTS = 0,
/**
* the output already has an aura output object associated
*/
ZAURA_SHELL_ERROR_AURA_OUTPUT_EXISTS = 1,
}; };
#endif /* ZAURA_SHELL_ERROR_ENUM */ #endif /* ZAURA_SHELL_ERROR_ENUM */
#define ZAURA_SHELL_GET_AURA_SURFACE 0 #define ZAURA_SHELL_GET_AURA_SURFACE 0
#define ZAURA_SHELL_GET_AURA_OUTPUT 1
/** /**
* @ingroup iface_zaura_shell * @ingroup iface_zaura_shell
*/ */
#define ZAURA_SHELL_GET_AURA_SURFACE_SINCE_VERSION 1 #define ZAURA_SHELL_GET_AURA_SURFACE_SINCE_VERSION 1
/**
* @ingroup iface_zaura_shell
*/
#define ZAURA_SHELL_GET_AURA_OUTPUT_SINCE_VERSION 2
/** @ingroup iface_zaura_shell */ /** @ingroup iface_zaura_shell */
static inline void static inline void
...@@ -146,6 +174,23 @@ zaura_shell_get_aura_surface(struct zaura_shell *zaura_shell, struct wl_surface ...@@ -146,6 +174,23 @@ zaura_shell_get_aura_surface(struct zaura_shell *zaura_shell, struct wl_surface
return (struct zaura_surface *) id; return (struct zaura_surface *) id;
} }
/**
* @ingroup iface_zaura_shell
*
* Instantiate an interface extension for the given wl_output to
* provide aura shell functionality.
*/
static inline struct zaura_output *
zaura_shell_get_aura_output(struct zaura_shell *zaura_shell, struct wl_output *output)
{
struct wl_proxy *id;
id = wl_proxy_marshal_constructor((struct wl_proxy *) zaura_shell,
ZAURA_SHELL_GET_AURA_OUTPUT, &zaura_output_interface, NULL, output);
return (struct zaura_output *) id;
}
#ifndef ZAURA_SURFACE_FRAME_TYPE_ENUM #ifndef ZAURA_SURFACE_FRAME_TYPE_ENUM
#define ZAURA_SURFACE_FRAME_TYPE_ENUM #define ZAURA_SURFACE_FRAME_TYPE_ENUM
/** /**
...@@ -171,12 +216,17 @@ enum zaura_surface_frame_type { ...@@ -171,12 +216,17 @@ enum zaura_surface_frame_type {
#endif /* ZAURA_SURFACE_FRAME_TYPE_ENUM */ #endif /* ZAURA_SURFACE_FRAME_TYPE_ENUM */
#define ZAURA_SURFACE_SET_FRAME 0 #define ZAURA_SURFACE_SET_FRAME 0
#define ZAURA_SURFACE_SET_PARENT 1
/** /**
* @ingroup iface_zaura_surface * @ingroup iface_zaura_surface
*/ */
#define ZAURA_SURFACE_SET_FRAME_SINCE_VERSION 1 #define ZAURA_SURFACE_SET_FRAME_SINCE_VERSION 1
/**
* @ingroup iface_zaura_surface
*/
#define ZAURA_SURFACE_SET_PARENT_SINCE_VERSION 2
/** @ingroup iface_zaura_surface */ /** @ingroup iface_zaura_surface */
static inline void static inline void
...@@ -217,6 +267,126 @@ zaura_surface_set_frame(struct zaura_surface *zaura_surface, uint32_t type) ...@@ -217,6 +267,126 @@ zaura_surface_set_frame(struct zaura_surface *zaura_surface, uint32_t type)
ZAURA_SURFACE_SET_FRAME, type); ZAURA_SURFACE_SET_FRAME, type);
} }
/**
* @ingroup iface_zaura_surface
*
* Set the "parent" of this surface. "x" and "y" arguments specify the
* initial position for surface relative to parent.
*/
static inline void
zaura_surface_set_parent(struct zaura_surface *zaura_surface, struct zaura_surface *parent, int32_t x, int32_t y)
{
wl_proxy_marshal((struct wl_proxy *) zaura_surface,
ZAURA_SURFACE_SET_PARENT, parent, x, y);
}
#ifndef ZAURA_OUTPUT_SCALE_PROPERTY_ENUM
#define ZAURA_OUTPUT_SCALE_PROPERTY_ENUM
/**
* @ingroup iface_zaura_output
* scale information
*
* These flags describe properties of an output scale.
* They are used in the flags bitfield of the scale event.
*/
enum zaura_output_scale_property {
/**
* indicates this is the current scale
*/
ZAURA_OUTPUT_SCALE_PROPERTY_CURRENT = 0x1,
/**
* indicates this is the preferred scale
*/
ZAURA_OUTPUT_SCALE_PROPERTY_PREFERRED = 0x2,
};
#endif /* ZAURA_OUTPUT_SCALE_PROPERTY_ENUM */
#ifndef ZAURA_OUTPUT_SCALE_FACTOR_ENUM
#define ZAURA_OUTPUT_SCALE_FACTOR_ENUM
enum zaura_output_scale_factor {
ZAURA_OUTPUT_SCALE_FACTOR_0500 = 500,
ZAURA_OUTPUT_SCALE_FACTOR_0600 = 600,
ZAURA_OUTPUT_SCALE_FACTOR_0625 = 625,
ZAURA_OUTPUT_SCALE_FACTOR_0750 = 750,
ZAURA_OUTPUT_SCALE_FACTOR_0800 = 800,
ZAURA_OUTPUT_SCALE_FACTOR_1000 = 1000,
ZAURA_OUTPUT_SCALE_FACTOR_1125 = 1125,
ZAURA_OUTPUT_SCALE_FACTOR_1200 = 1200,
ZAURA_OUTPUT_SCALE_FACTOR_1250 = 1250,
ZAURA_OUTPUT_SCALE_FACTOR_1500 = 1500,
ZAURA_OUTPUT_SCALE_FACTOR_1600 = 1600,
ZAURA_OUTPUT_SCALE_FACTOR_2000 = 2000,
};
#endif /* ZAURA_OUTPUT_SCALE_FACTOR_ENUM */
/**
* @ingroup iface_zaura_output
* @struct zaura_output_listener
*/
struct zaura_output_listener {
/**
* advertise available scales for the output
*
* The scale event describes an available scale for the output.
*
* The event is sent when binding to the output object and there
* will always be one scale, the current scale. The event is sent
* again if an output changes scale, for the scale that is now
* current. In other words, the current scale is always the last
* scale that was received with the current flag set.
* @param flags bitfield of scale flags
* @param scale output scale
*/
void (*scale)(void *data,
struct zaura_output *zaura_output,
uint32_t flags,
uint32_t scale);
};
/**
* @ingroup iface_zaura_output
*/
static inline int
zaura_output_add_listener(struct zaura_output *zaura_output,
const struct zaura_output_listener *listener, void *data)
{
return wl_proxy_add_listener((struct wl_proxy *) zaura_output,
(void (**)(void)) listener, data);
}
/**
* @ingroup iface_zaura_output
*/
#define ZAURA_OUTPUT_SCALE_SINCE_VERSION 1
/** @ingroup iface_zaura_output */
static inline void
zaura_output_set_user_data(struct zaura_output *zaura_output, void *user_data)
{
wl_proxy_set_user_data((struct wl_proxy *) zaura_output, user_data);
}
/** @ingroup iface_zaura_output */
static inline void *
zaura_output_get_user_data(struct zaura_output *zaura_output)
{
return wl_proxy_get_user_data((struct wl_proxy *) zaura_output);
}
static inline uint32_t
zaura_output_get_version(struct zaura_output *zaura_output)
{
return wl_proxy_get_version((struct wl_proxy *) zaura_output);
}
/** @ingroup iface_zaura_output */
static inline void
zaura_output_destroy(struct zaura_output *zaura_output)
{
wl_proxy_destroy((struct wl_proxy *) zaura_output);
}
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
......
...@@ -27,32 +27,52 @@ ...@@ -27,32 +27,52 @@
#include <stdint.h> #include <stdint.h>
#include "wayland-util.h" #include "wayland-util.h"
extern const struct wl_interface wl_output_interface;
extern const struct wl_interface wl_surface_interface; extern const struct wl_interface wl_surface_interface;
extern const struct wl_interface zaura_output_interface;
extern const struct wl_interface zaura_surface_interface; extern const struct wl_interface zaura_surface_interface;
static const struct wl_interface *types[] = { static const struct wl_interface *types[] = {
NULL,
NULL, NULL,
&zaura_surface_interface, &zaura_surface_interface,
&wl_surface_interface, &wl_surface_interface,
&zaura_output_interface,
&wl_output_interface,
&zaura_surface_interface,
NULL,
NULL,
}; };
static const struct wl_message zaura_shell_requests[] = { static const struct wl_message zaura_shell_requests[] = {
{ "get_aura_surface", "no", types + 1 }, { "get_aura_surface", "no", types + 2 },
{ "get_aura_output", "2no", types + 4 },
}; };
WL_EXPORT const struct wl_interface zaura_shell_interface = { WL_EXPORT const struct wl_interface zaura_shell_interface = {
"zaura_shell", 1, "zaura_shell", 2,
1, zaura_shell_requests, 2, zaura_shell_requests,
0, NULL, 0, NULL,
}; };
static const struct wl_message zaura_surface_requests[] = { static const struct wl_message zaura_surface_requests[] = {
{ "set_frame", "u", types + 0 }, { "set_frame", "u", types + 0 },
{ "set_parent", "2?oii", types + 6 },
}; };
WL_EXPORT const struct wl_interface zaura_surface_interface = { WL_EXPORT const struct wl_interface zaura_surface_interface = {
"zaura_surface", 1, "zaura_surface", 2,
1, zaura_surface_requests, 2, zaura_surface_requests,
0, NULL,
};
static const struct wl_message zaura_output_events[] = {
{ "scale", "uu", types + 0 },
};
WL_EXPORT const struct wl_interface zaura_output_interface = {
"zaura_output", 2,
0, NULL, 0, NULL,
1, zaura_output_events,
}; };
...@@ -19,6 +19,7 @@ struct wl_resource; ...@@ -19,6 +19,7 @@ struct wl_resource;
* @section page_ifaces_aura_shell Interfaces * @section page_ifaces_aura_shell Interfaces
* - @subpage page_iface_zaura_shell - aura_shell * - @subpage page_iface_zaura_shell - aura_shell
* - @subpage page_iface_zaura_surface - aura shell interface to a wl_surface * - @subpage page_iface_zaura_surface - aura shell interface to a wl_surface
* - @subpage page_iface_zaura_output - aura shell interface to a wl_output
* @section page_copyright_aura_shell Copyright * @section page_copyright_aura_shell Copyright
* <pre> * <pre>
* *
...@@ -44,7 +45,9 @@ struct wl_resource; ...@@ -44,7 +45,9 @@ struct wl_resource;
* DEALINGS IN THE SOFTWARE. * DEALINGS IN THE SOFTWARE.
* </pre> * </pre>
*/ */
struct wl_output;
struct wl_surface; struct wl_surface;
struct zaura_output;
struct zaura_shell; struct zaura_shell;
struct zaura_surface; struct zaura_surface;
...@@ -84,6 +87,22 @@ extern const struct wl_interface zaura_shell_interface; ...@@ -84,6 +87,22 @@ extern const struct wl_interface zaura_shell_interface;
* client to access aura shell specific functionality for surface. * client to access aura shell specific functionality for surface.
*/ */
extern const struct wl_interface zaura_surface_interface; extern const struct wl_interface zaura_surface_interface;
/**
* @page page_iface_zaura_output zaura_output
* @section page_iface_zaura_output_desc Description
*
* An additional interface to a wl_output object, which allows the
* client to access aura shell specific functionality for output.
* @section page_iface_zaura_output_api API
* See @ref iface_zaura_output.
*/
/**
* @defgroup iface_zaura_output The zaura_output interface
*
* An additional interface to a wl_output object, which allows the
* client to access aura shell specific functionality for output.
*/
extern const struct wl_interface zaura_output_interface;
#ifndef ZAURA_SHELL_ERROR_ENUM #ifndef ZAURA_SHELL_ERROR_ENUM
#define ZAURA_SHELL_ERROR_ENUM #define ZAURA_SHELL_ERROR_ENUM
...@@ -92,6 +111,10 @@ enum zaura_shell_error { ...@@ -92,6 +111,10 @@ enum zaura_shell_error {
* the surface already has an aura surface object associated * the surface already has an aura surface object associated
*/ */
ZAURA_SHELL_ERROR_AURA_SURFACE_EXISTS = 0, ZAURA_SHELL_ERROR_AURA_SURFACE_EXISTS = 0,
/**
* the output already has an aura output object associated
*/
ZAURA_SHELL_ERROR_AURA_OUTPUT_EXISTS = 1,
}; };
#endif /* ZAURA_SHELL_ERROR_ENUM */ #endif /* ZAURA_SHELL_ERROR_ENUM */
...@@ -114,6 +137,19 @@ struct zaura_shell_interface { ...@@ -114,6 +137,19 @@ struct zaura_shell_interface {
struct wl_resource *resource, struct wl_resource *resource,
uint32_t id, uint32_t id,
struct wl_resource *surface); struct wl_resource *surface);
/**
* extend output interface for aura shell
*
* Instantiate an interface extension for the given wl_output to
* provide aura shell functionality.
* @param id the new aura output interface id
* @param output the output
* @since 2
*/
void (*get_aura_output)(struct wl_client *client,
struct wl_resource *resource,
uint32_t id,
struct wl_resource *output);
}; };
...@@ -121,6 +157,10 @@ struct zaura_shell_interface { ...@@ -121,6 +157,10 @@ struct zaura_shell_interface {
* @ingroup iface_zaura_shell * @ingroup iface_zaura_shell
*/ */
#define ZAURA_SHELL_GET_AURA_SURFACE_SINCE_VERSION 1 #define ZAURA_SHELL_GET_AURA_SURFACE_SINCE_VERSION 1
/**
* @ingroup iface_zaura_shell
*/
#define ZAURA_SHELL_GET_AURA_OUTPUT_SINCE_VERSION 2
#ifndef ZAURA_SURFACE_FRAME_TYPE_ENUM #ifndef ZAURA_SURFACE_FRAME_TYPE_ENUM
#define ZAURA_SURFACE_FRAME_TYPE_ENUM #define ZAURA_SURFACE_FRAME_TYPE_ENUM
...@@ -160,6 +200,18 @@ struct zaura_surface_interface { ...@@ -160,6 +200,18 @@ struct zaura_surface_interface {
void (*set_frame)(struct wl_client *client, void (*set_frame)(struct wl_client *client,
struct wl_resource *resource, struct wl_resource *resource,
uint32_t type); uint32_t type);
/**
* set the parent of this surface
*
* Set the "parent" of this surface. "x" and "y" arguments
* specify the initial position for surface relative to parent.
* @since 2
*/
void (*set_parent)(struct wl_client *client,
struct wl_resource *resource,
struct wl_resource *parent,
int32_t x,
int32_t y);
}; };
...@@ -167,6 +219,70 @@ struct zaura_surface_interface { ...@@ -167,6 +219,70 @@ struct zaura_surface_interface {
* @ingroup iface_zaura_surface * @ingroup iface_zaura_surface
*/ */
#define ZAURA_SURFACE_SET_FRAME_SINCE_VERSION 1 #define ZAURA_SURFACE_SET_FRAME_SINCE_VERSION 1
/**
* @ingroup iface_zaura_surface
*/
#define ZAURA_SURFACE_SET_PARENT_SINCE_VERSION 2
#ifndef ZAURA_OUTPUT_SCALE_PROPERTY_ENUM
#define ZAURA_OUTPUT_SCALE_PROPERTY_ENUM
/**
* @ingroup iface_zaura_output
* scale information
*
* These flags describe properties of an output scale.
* They are used in the flags bitfield of the scale event.
*/
enum zaura_output_scale_property {
/**
* indicates this is the current scale
*/
ZAURA_OUTPUT_SCALE_PROPERTY_CURRENT = 0x1,
/**
* indicates this is the preferred scale
*/
ZAURA_OUTPUT_SCALE_PROPERTY_PREFERRED = 0x2,
};
#endif /* ZAURA_OUTPUT_SCALE_PROPERTY_ENUM */
#ifndef ZAURA_OUTPUT_SCALE_FACTOR_ENUM
#define ZAURA_OUTPUT_SCALE_FACTOR_ENUM
enum zaura_output_scale_factor {
ZAURA_OUTPUT_SCALE_FACTOR_0500 = 500,
ZAURA_OUTPUT_SCALE_FACTOR_0600 = 600,
ZAURA_OUTPUT_SCALE_FACTOR_0625 = 625,
ZAURA_OUTPUT_SCALE_FACTOR_0750 = 750,
ZAURA_OUTPUT_SCALE_FACTOR_0800 = 800,
ZAURA_OUTPUT_SCALE_FACTOR_1000 = 1000,
ZAURA_OUTPUT_SCALE_FACTOR_1125 = 1125,
ZAURA_OUTPUT_SCALE_FACTOR_1200 = 1200,
ZAURA_OUTPUT_SCALE_FACTOR_1250 = 1250,
ZAURA_OUTPUT_SCALE_FACTOR_1500 = 1500,
ZAURA_OUTPUT_SCALE_FACTOR_1600 = 1600,
ZAURA_OUTPUT_SCALE_FACTOR_2000 = 2000,
};
#endif /* ZAURA_OUTPUT_SCALE_FACTOR_ENUM */
#define ZAURA_OUTPUT_SCALE 0
/**
* @ingroup iface_zaura_output
*/
#define ZAURA_OUTPUT_SCALE_SINCE_VERSION 1
/**
* @ingroup iface_zaura_output
* Sends an scale event to the client owning the resource.
* @param resource_ The client's resource
* @param flags bitfield of scale flags
* @param scale output scale
*/
static inline void
zaura_output_send_scale(struct wl_resource *resource_, uint32_t flags, uint32_t scale)
{
wl_resource_post_event(resource_, ZAURA_OUTPUT_SCALE, flags, scale);
}
#ifdef __cplusplus #ifdef __cplusplus
} }
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
DEALINGS IN THE SOFTWARE. DEALINGS IN THE SOFTWARE.
</copyright> </copyright>
<interface name="zaura_shell" version="1"> <interface name="zaura_shell" version="2">
<description summary="aura_shell"> <description summary="aura_shell">
The global interface exposing aura shell capabilities is used to The global interface exposing aura shell capabilities is used to
instantiate an interface extension for a wl_surface object. instantiate an interface extension for a wl_surface object.
...@@ -35,6 +35,8 @@ ...@@ -35,6 +35,8 @@
<enum name="error"> <enum name="error">
<entry name="aura_surface_exists" value="0" <entry name="aura_surface_exists" value="0"
summary="the surface already has an aura surface object associated"/> summary="the surface already has an aura surface object associated"/>
<entry name="aura_output_exists" value="1"
summary="the output already has an aura output object associated"/>
</enum> </enum>
<request name="get_aura_surface"> <request name="get_aura_surface">
...@@ -50,9 +52,23 @@ ...@@ -50,9 +52,23 @@
<arg name="surface" type="object" interface="wl_surface" <arg name="surface" type="object" interface="wl_surface"
summary="the surface"/> summary="the surface"/>
</request> </request>
<!-- Version 2 additions -->
<request name="get_aura_output" since="2">
<description summary="extend output interface for aura shell">
Instantiate an interface extension for the given wl_output to
provide aura shell functionality.
</description>
<arg name="id" type="new_id" interface="zaura_output"
summary="the new aura output interface id"/>
<arg name="output" type="object" interface="wl_output"
summary="the output"/>
</request>
</interface> </interface>
<interface name="zaura_surface" version="1"> <interface name="zaura_surface" version="2">
<description summary="aura shell interface to a wl_surface"> <description summary="aura shell interface to a wl_surface">
An additional interface to a wl_surface object, which allows the An additional interface to a wl_surface object, which allows the
client to access aura shell specific functionality for surface. client to access aura shell specific functionality for surface.
...@@ -73,6 +89,67 @@ ...@@ -73,6 +89,67 @@
</description> </description>
<arg name="type" type="uint" summary="the new frame type"/> <arg name="type" type="uint" summary="the new frame type"/>
</request> </request>
<!-- Version 2 additions -->
<request name="set_parent" since="2">
<description summary="set the parent of this surface">
Set the "parent" of this surface. "x" and "y" arguments specify the
initial position for surface relative to parent.
</description>
<arg name="parent" type="object" interface="zaura_surface" allow-null="true"/>
<arg name="x" type="int"/>
<arg name="y" type="int"/>
</request>
</interface> </interface>
<interface name="zaura_output" version="2">
<description summary="aura shell interface to a wl_output">
An additional interface to a wl_output object, which allows the
client to access aura shell specific functionality for output.
</description>
<!-- Version 2 additions -->
<enum name="scale_property" bitfield="true">
<description summary="scale information">
These flags describe properties of an output scale.
They are used in the flags bitfield of the scale event.
</description>
<entry name="current" value="0x1"
summary="indicates this is the current scale"/>
<entry name="preferred" value="0x2"
summary="indicates this is the preferred scale"/>
</enum>
<enum name="scale_factor">
<entry name="0500" value="500"/>
<entry name="0600" value="600"/>
<entry name="0625" value="625"/>
<entry name="0750" value="750"/>
<entry name="0800" value="800"/>
<entry name="1000" value="1000"/>
<entry name="1125" value="1125"/>
<entry name="1200" value="1200"/>
<entry name="1250" value="1250"/>
<entry name="1500" value="1500"/>
<entry name="1600" value="1600"/>
<entry name="2000" value="2000"/>
</enum>
<event name="scale">
<description summary="advertise available scales for the output">
The scale event describes an available scale for the output.
The event is sent when binding to the output object and there
will always be one scale, the current scale. The event is sent
again if an output changes scale, for the scale that is now
current. In other words, the current scale is always the last
scale that was received with the current flag set.
</description>
<arg name="flags" type="uint" enum="scale_property" summary="bitfield of scale flags"/>
<arg name="scale" type="uint" enum="scale_factor" summary="output scale"/>
</event>
</interface>
</protocol> </protocol>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment