| <?xml version="1.0" encoding="UTF-8"?> |
| <protocol name="aura_shell"> |
| |
| <copyright> |
| Copyright 2017 The Chromium Authors. |
| |
| Permission is hereby granted, free of charge, to any person obtaining a |
| copy of this software and associated documentation files (the "Software"), |
| to deal in the Software without restriction, including without limitation |
| the rights to use, copy, modify, merge, publish, distribute, sublicense, |
| and/or sell copies of the Software, and to permit persons to whom the |
| Software is furnished to do so, subject to the following conditions: |
| |
| The above copyright notice and this permission notice (including the next |
| paragraph) shall be included in all copies or substantial portions of the |
| Software. |
| |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
| THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
| FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
| DEALINGS IN THE SOFTWARE. |
| </copyright> |
| |
| <interface name="zaura_shell" version="3"> |
| <description summary="aura_shell"> |
| The global interface exposing aura shell capabilities is used to |
| instantiate an interface extension for a wl_surface object. |
| This extended interface will then allow the client to use aura shell |
| specific functionality. |
| </description> |
| |
| <enum name="error"> |
| <entry name="aura_surface_exists" value="0" |
| 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> |
| |
| <request name="get_aura_surface"> |
| <description summary="extend surface interface for aura shell"> |
| Instantiate an interface extension for the given wl_surface to |
| provide aura shell functionality. If the given wl_surface is not |
| associated with a shell surface, the shell_surface_missing protocol |
| error is raised. |
| </description> |
| |
| <arg name="id" type="new_id" interface="zaura_surface" |
| summary="the new aura surface interface id"/> |
| <arg name="surface" type="object" interface="wl_surface" |
| summary="the surface"/> |
| </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 name="zaura_surface" version="3"> |
| <description summary="aura shell interface to a wl_surface"> |
| An additional interface to a wl_surface object, which allows the |
| client to access aura shell specific functionality for surface. |
| </description> |
| |
| <enum name="frame_type"> |
| <description summary="different frame types"> |
| Frame types that can be used to decorate a surface. |
| </description> |
| <entry name="none" value="0" summary="no frame"/> |
| <entry name="normal" value="1" summary="caption with shadow" /> |
| <entry name="shadow" value="2" summary="shadow only"/> |
| </enum> |
| |
| <request name="set_frame"> |
| <description summary="request a frame for surface"> |
| Suggests a surface should use a specific frame. |
| </description> |
| <arg name="type" type="uint" summary="the new frame type"/> |
| </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> |
| |
| <!-- Version 3 additions --> |
| |
| <request name="set_frame_colors" since="3"> |
| <description summary="set the frame colors of this surface"> |
| Set the frame colors. |
| </description> |
| <arg name="active_color" type="uint" summary="32 bit ARGB color value, not premultiplied"/> |
| <arg name="inactive_color" type="uint" summary="32 bit ARGB color value, not premultiplied"/> |
| </request> |
| </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> |