1*bb4ee6a4SAndroid Build Coastguard Worker<?xml version="1.0" encoding="UTF-8"?> 2*bb4ee6a4SAndroid Build Coastguard Worker<protocol name="aura_shell"> 3*bb4ee6a4SAndroid Build Coastguard Worker <copyright> 4*bb4ee6a4SAndroid Build Coastguard Worker Copyright 2017 The Chromium Authors. 5*bb4ee6a4SAndroid Build Coastguard Worker Permission is hereby granted, free of charge, to any person obtaining a 6*bb4ee6a4SAndroid Build Coastguard Worker copy of this software and associated documentation files (the "Software"), 7*bb4ee6a4SAndroid Build Coastguard Worker to deal in the Software without restriction, including without limitation 8*bb4ee6a4SAndroid Build Coastguard Worker the rights to use, copy, modify, merge, publish, distribute, sublicense, 9*bb4ee6a4SAndroid Build Coastguard Worker and/or sell copies of the Software, and to permit persons to whom the 10*bb4ee6a4SAndroid Build Coastguard Worker Software is furnished to do so, subject to the following conditions: 11*bb4ee6a4SAndroid Build Coastguard Worker The above copyright notice and this permission notice (including the next 12*bb4ee6a4SAndroid Build Coastguard Worker paragraph) shall be included in all copies or substantial portions of the 13*bb4ee6a4SAndroid Build Coastguard Worker Software. 14*bb4ee6a4SAndroid Build Coastguard Worker THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15*bb4ee6a4SAndroid Build Coastguard Worker IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16*bb4ee6a4SAndroid Build Coastguard Worker FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17*bb4ee6a4SAndroid Build Coastguard Worker THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18*bb4ee6a4SAndroid Build Coastguard Worker LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19*bb4ee6a4SAndroid Build Coastguard Worker FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20*bb4ee6a4SAndroid Build Coastguard Worker DEALINGS IN THE SOFTWARE. 21*bb4ee6a4SAndroid Build Coastguard Worker </copyright> 22*bb4ee6a4SAndroid Build Coastguard Worker <interface name="zaura_shell" version="6"> 23*bb4ee6a4SAndroid Build Coastguard Worker <description summary="aura_shell"> 24*bb4ee6a4SAndroid Build Coastguard Worker The global interface exposing aura shell capabilities is used to 25*bb4ee6a4SAndroid Build Coastguard Worker instantiate an interface extension for a wl_surface object. 26*bb4ee6a4SAndroid Build Coastguard Worker This extended interface will then allow the client to use aura shell 27*bb4ee6a4SAndroid Build Coastguard Worker specific functionality. 28*bb4ee6a4SAndroid Build Coastguard Worker </description> 29*bb4ee6a4SAndroid Build Coastguard Worker <enum name="error"> 30*bb4ee6a4SAndroid Build Coastguard Worker <entry name="aura_surface_exists" value="0" 31*bb4ee6a4SAndroid Build Coastguard Worker summary="the surface already has an aura surface object associated"/> 32*bb4ee6a4SAndroid Build Coastguard Worker <entry name="aura_output_exists" value="1" 33*bb4ee6a4SAndroid Build Coastguard Worker summary="the output already has an aura output object associated"/> 34*bb4ee6a4SAndroid Build Coastguard Worker </enum> 35*bb4ee6a4SAndroid Build Coastguard Worker <request name="get_aura_surface"> 36*bb4ee6a4SAndroid Build Coastguard Worker <description summary="extend surface interface for aura shell"> 37*bb4ee6a4SAndroid Build Coastguard Worker Instantiate an interface extension for the given wl_surface to 38*bb4ee6a4SAndroid Build Coastguard Worker provide aura shell functionality. If the given wl_surface is not 39*bb4ee6a4SAndroid Build Coastguard Worker associated with a shell surface, the shell_surface_missing protocol 40*bb4ee6a4SAndroid Build Coastguard Worker error is raised. 41*bb4ee6a4SAndroid Build Coastguard Worker </description> 42*bb4ee6a4SAndroid Build Coastguard Worker <arg name="id" type="new_id" interface="zaura_surface" 43*bb4ee6a4SAndroid Build Coastguard Worker summary="the new aura surface interface id"/> 44*bb4ee6a4SAndroid Build Coastguard Worker <arg name="surface" type="object" interface="wl_surface" 45*bb4ee6a4SAndroid Build Coastguard Worker summary="the surface"/> 46*bb4ee6a4SAndroid Build Coastguard Worker </request> 47*bb4ee6a4SAndroid Build Coastguard Worker <!-- Version 2 additions --> 48*bb4ee6a4SAndroid Build Coastguard Worker <request name="get_aura_output" since="2"> 49*bb4ee6a4SAndroid Build Coastguard Worker <description summary="extend output interface for aura shell"> 50*bb4ee6a4SAndroid Build Coastguard Worker Instantiate an interface extension for the given wl_output to 51*bb4ee6a4SAndroid Build Coastguard Worker provide aura shell functionality. 52*bb4ee6a4SAndroid Build Coastguard Worker </description> 53*bb4ee6a4SAndroid Build Coastguard Worker <arg name="id" type="new_id" interface="zaura_output" 54*bb4ee6a4SAndroid Build Coastguard Worker summary="the new aura output interface id"/> 55*bb4ee6a4SAndroid Build Coastguard Worker <arg name="output" type="object" interface="wl_output" 56*bb4ee6a4SAndroid Build Coastguard Worker summary="the output"/> 57*bb4ee6a4SAndroid Build Coastguard Worker </request> 58*bb4ee6a4SAndroid Build Coastguard Worker </interface> 59*bb4ee6a4SAndroid Build Coastguard Worker <interface name="zaura_surface" version="5"> 60*bb4ee6a4SAndroid Build Coastguard Worker <description summary="aura shell interface to a wl_surface"> 61*bb4ee6a4SAndroid Build Coastguard Worker An additional interface to a wl_surface object, which allows the 62*bb4ee6a4SAndroid Build Coastguard Worker client to access aura shell specific functionality for surface. 63*bb4ee6a4SAndroid Build Coastguard Worker </description> 64*bb4ee6a4SAndroid Build Coastguard Worker <enum name="frame_type"> 65*bb4ee6a4SAndroid Build Coastguard Worker <description summary="different frame types"> 66*bb4ee6a4SAndroid Build Coastguard Worker Frame types that can be used to decorate a surface. 67*bb4ee6a4SAndroid Build Coastguard Worker </description> 68*bb4ee6a4SAndroid Build Coastguard Worker <entry name="none" value="0" summary="no frame"/> 69*bb4ee6a4SAndroid Build Coastguard Worker <entry name="normal" value="1" summary="caption with shadow" /> 70*bb4ee6a4SAndroid Build Coastguard Worker <entry name="shadow" value="2" summary="shadow only"/> 71*bb4ee6a4SAndroid Build Coastguard Worker </enum> 72*bb4ee6a4SAndroid Build Coastguard Worker <request name="set_frame"> 73*bb4ee6a4SAndroid Build Coastguard Worker <description summary="request a frame for surface"> 74*bb4ee6a4SAndroid Build Coastguard Worker Suggests a surface should use a specific frame. 75*bb4ee6a4SAndroid Build Coastguard Worker </description> 76*bb4ee6a4SAndroid Build Coastguard Worker <arg name="type" type="uint" summary="the new frame type"/> 77*bb4ee6a4SAndroid Build Coastguard Worker </request> 78*bb4ee6a4SAndroid Build Coastguard Worker <!-- Version 2 additions --> 79*bb4ee6a4SAndroid Build Coastguard Worker <request name="set_parent" since="2"> 80*bb4ee6a4SAndroid Build Coastguard Worker <description summary="set the parent of this surface"> 81*bb4ee6a4SAndroid Build Coastguard Worker Set the "parent" of this surface. "x" and "y" arguments specify the 82*bb4ee6a4SAndroid Build Coastguard Worker initial position for surface relative to parent. 83*bb4ee6a4SAndroid Build Coastguard Worker </description> 84*bb4ee6a4SAndroid Build Coastguard Worker <arg name="parent" type="object" interface="zaura_surface" allow-null="true"/> 85*bb4ee6a4SAndroid Build Coastguard Worker <arg name="x" type="int"/> 86*bb4ee6a4SAndroid Build Coastguard Worker <arg name="y" type="int"/> 87*bb4ee6a4SAndroid Build Coastguard Worker </request> 88*bb4ee6a4SAndroid Build Coastguard Worker <!-- Version 3 additions --> 89*bb4ee6a4SAndroid Build Coastguard Worker <request name="set_frame_colors" since="3"> 90*bb4ee6a4SAndroid Build Coastguard Worker <description summary="set the frame colors of this surface"> 91*bb4ee6a4SAndroid Build Coastguard Worker Set the frame colors. 92*bb4ee6a4SAndroid Build Coastguard Worker </description> 93*bb4ee6a4SAndroid Build Coastguard Worker <arg name="active_color" type="uint" summary="32 bit ARGB color value, not premultiplied"/> 94*bb4ee6a4SAndroid Build Coastguard Worker <arg name="inactive_color" type="uint" summary="32 bit ARGB color value, not premultiplied"/> 95*bb4ee6a4SAndroid Build Coastguard Worker </request> 96*bb4ee6a4SAndroid Build Coastguard Worker <!-- Version 4 additions --> 97*bb4ee6a4SAndroid Build Coastguard Worker <request name="set_startup_id" since="4"> 98*bb4ee6a4SAndroid Build Coastguard Worker <description summary="set the startup ID of this surface"> 99*bb4ee6a4SAndroid Build Coastguard Worker Set the startup ID. 100*bb4ee6a4SAndroid Build Coastguard Worker </description> 101*bb4ee6a4SAndroid Build Coastguard Worker <arg name="startup_id" type="string" allow-null="true"/> 102*bb4ee6a4SAndroid Build Coastguard Worker </request> 103*bb4ee6a4SAndroid Build Coastguard Worker <!-- Version 5 additions --> 104*bb4ee6a4SAndroid Build Coastguard Worker <request name="set_application_id" since="5"> 105*bb4ee6a4SAndroid Build Coastguard Worker <description summary="set the application ID of this surface"> 106*bb4ee6a4SAndroid Build Coastguard Worker Set the application ID. 107*bb4ee6a4SAndroid Build Coastguard Worker </description> 108*bb4ee6a4SAndroid Build Coastguard Worker <arg name="application_id" type="string" allow-null="true"/> 109*bb4ee6a4SAndroid Build Coastguard Worker </request> 110*bb4ee6a4SAndroid Build Coastguard Worker </interface> 111*bb4ee6a4SAndroid Build Coastguard Worker <interface name="zaura_output" version="6"> 112*bb4ee6a4SAndroid Build Coastguard Worker <description summary="aura shell interface to a wl_output"> 113*bb4ee6a4SAndroid Build Coastguard Worker An additional interface to a wl_output object, which allows the 114*bb4ee6a4SAndroid Build Coastguard Worker client to access aura shell specific functionality for output. 115*bb4ee6a4SAndroid Build Coastguard Worker </description> 116*bb4ee6a4SAndroid Build Coastguard Worker <!-- Version 2 additions --> 117*bb4ee6a4SAndroid Build Coastguard Worker <enum name="scale_property" bitfield="true"> 118*bb4ee6a4SAndroid Build Coastguard Worker <description summary="scale information"> 119*bb4ee6a4SAndroid Build Coastguard Worker These flags describe properties of an output scale. 120*bb4ee6a4SAndroid Build Coastguard Worker They are used in the flags bitfield of the scale event. 121*bb4ee6a4SAndroid Build Coastguard Worker </description> 122*bb4ee6a4SAndroid Build Coastguard Worker <entry name="current" value="0x1" 123*bb4ee6a4SAndroid Build Coastguard Worker summary="indicates this is the current scale"/> 124*bb4ee6a4SAndroid Build Coastguard Worker <entry name="preferred" value="0x2" 125*bb4ee6a4SAndroid Build Coastguard Worker summary="indicates this is the preferred scale"/> 126*bb4ee6a4SAndroid Build Coastguard Worker </enum> 127*bb4ee6a4SAndroid Build Coastguard Worker <enum name="scale_factor"> 128*bb4ee6a4SAndroid Build Coastguard Worker <entry name="0400" value="400"/> 129*bb4ee6a4SAndroid Build Coastguard Worker <entry name="0500" value="500"/> 130*bb4ee6a4SAndroid Build Coastguard Worker <entry name="0550" value="550"/> 131*bb4ee6a4SAndroid Build Coastguard Worker <entry name="0600" value="600"/> 132*bb4ee6a4SAndroid Build Coastguard Worker <entry name="0625" value="625"/> 133*bb4ee6a4SAndroid Build Coastguard Worker <entry name="0650" value="650"/> 134*bb4ee6a4SAndroid Build Coastguard Worker <entry name="0700" value="700"/> 135*bb4ee6a4SAndroid Build Coastguard Worker <entry name="0750" value="750"/> 136*bb4ee6a4SAndroid Build Coastguard Worker <entry name="0800" value="800"/> 137*bb4ee6a4SAndroid Build Coastguard Worker <entry name="0850" value="850"/> 138*bb4ee6a4SAndroid Build Coastguard Worker <entry name="0900" value="900"/> 139*bb4ee6a4SAndroid Build Coastguard Worker <entry name="0950" value="950"/> 140*bb4ee6a4SAndroid Build Coastguard Worker <entry name="1000" value="1000"/> 141*bb4ee6a4SAndroid Build Coastguard Worker <entry name="1050" value="1050"/> 142*bb4ee6a4SAndroid Build Coastguard Worker <entry name="1100" value="1100"/> 143*bb4ee6a4SAndroid Build Coastguard Worker <entry name="1150" value="1150"/> 144*bb4ee6a4SAndroid Build Coastguard Worker <entry name="1125" value="1125"/> 145*bb4ee6a4SAndroid Build Coastguard Worker <entry name="1200" value="1200"/> 146*bb4ee6a4SAndroid Build Coastguard Worker <entry name="1250" value="1250"/> 147*bb4ee6a4SAndroid Build Coastguard Worker <entry name="1300" value="1300"/> 148*bb4ee6a4SAndroid Build Coastguard Worker <entry name="1400" value="1400"/> 149*bb4ee6a4SAndroid Build Coastguard Worker <entry name="1450" value="1450"/> 150*bb4ee6a4SAndroid Build Coastguard Worker <entry name="1500" value="1500"/> 151*bb4ee6a4SAndroid Build Coastguard Worker <entry name="1600" value="1600"/> 152*bb4ee6a4SAndroid Build Coastguard Worker <entry name="1750" value="1750"/> 153*bb4ee6a4SAndroid Build Coastguard Worker <entry name="1800" value="1800"/> 154*bb4ee6a4SAndroid Build Coastguard Worker <entry name="2000" value="2000"/> 155*bb4ee6a4SAndroid Build Coastguard Worker <entry name="2200" value="2200"/> 156*bb4ee6a4SAndroid Build Coastguard Worker <entry name="2250" value="2250"/> 157*bb4ee6a4SAndroid Build Coastguard Worker <entry name="2500" value="2500"/> 158*bb4ee6a4SAndroid Build Coastguard Worker <entry name="2750" value="2750"/> 159*bb4ee6a4SAndroid Build Coastguard Worker <entry name="3000" value="3000"/> 160*bb4ee6a4SAndroid Build Coastguard Worker <entry name="3500" value="3500"/> 161*bb4ee6a4SAndroid Build Coastguard Worker <entry name="4000" value="4000"/> 162*bb4ee6a4SAndroid Build Coastguard Worker <entry name="4500" value="4500"/> 163*bb4ee6a4SAndroid Build Coastguard Worker <entry name="5000" value="5000"/> 164*bb4ee6a4SAndroid Build Coastguard Worker </enum> 165*bb4ee6a4SAndroid Build Coastguard Worker <event name="scale" since="2"> 166*bb4ee6a4SAndroid Build Coastguard Worker <description summary="advertise available scales for the output"> 167*bb4ee6a4SAndroid Build Coastguard Worker The scale event describes an available scale for the output. 168*bb4ee6a4SAndroid Build Coastguard Worker The event is sent when binding to the output object and there 169*bb4ee6a4SAndroid Build Coastguard Worker will always be one scale, the current scale. The event is sent 170*bb4ee6a4SAndroid Build Coastguard Worker again if an output changes scale, for the scale that is now 171*bb4ee6a4SAndroid Build Coastguard Worker current. In other words, the current scale is always the last 172*bb4ee6a4SAndroid Build Coastguard Worker scale that was received with the current flag set. 173*bb4ee6a4SAndroid Build Coastguard Worker </description> 174*bb4ee6a4SAndroid Build Coastguard Worker <arg name="flags" type="uint" enum="scale_property" summary="bitfield of scale flags"/> 175*bb4ee6a4SAndroid Build Coastguard Worker <arg name="scale" type="uint" enum="scale_factor" summary="output scale"/> 176*bb4ee6a4SAndroid Build Coastguard Worker </event> 177*bb4ee6a4SAndroid Build Coastguard Worker <!-- Version 5 additions --> 178*bb4ee6a4SAndroid Build Coastguard Worker <enum name="connection_type"> 179*bb4ee6a4SAndroid Build Coastguard Worker <entry name="unknown" value="0"/> 180*bb4ee6a4SAndroid Build Coastguard Worker <entry name="internal" value="1"/> 181*bb4ee6a4SAndroid Build Coastguard Worker </enum> 182*bb4ee6a4SAndroid Build Coastguard Worker <event name="connection" since="5"> 183*bb4ee6a4SAndroid Build Coastguard Worker <description summary="advertise connection for the output"> 184*bb4ee6a4SAndroid Build Coastguard Worker The connection event describes how the output is connected. 185*bb4ee6a4SAndroid Build Coastguard Worker The event is sent when binding to the output object. 186*bb4ee6a4SAndroid Build Coastguard Worker </description> 187*bb4ee6a4SAndroid Build Coastguard Worker <arg name="connection" type="uint" enum="connection_type" summary="output connection"/> 188*bb4ee6a4SAndroid Build Coastguard Worker </event> 189*bb4ee6a4SAndroid Build Coastguard Worker <event name="device_scale_factor" since="5"> 190*bb4ee6a4SAndroid Build Coastguard Worker <description summary="advertise device scale factor for the output"> 191*bb4ee6a4SAndroid Build Coastguard Worker This event describes the device specific scale factor for the output. 192*bb4ee6a4SAndroid Build Coastguard Worker The device specific scale factor is not expected the change during 193*bb4ee6a4SAndroid Build Coastguard Worker the lifetime of the output. And it is not limited to an integer value 194*bb4ee6a4SAndroid Build Coastguard Worker like the scale factor provided by wl_output interface. The exact 195*bb4ee6a4SAndroid Build Coastguard Worker contents scale used by the compositor can be determined by combining 196*bb4ee6a4SAndroid Build Coastguard Worker this device scale factor with the current output scale. 197*bb4ee6a4SAndroid Build Coastguard Worker The event is sent when binding to the output object. 198*bb4ee6a4SAndroid Build Coastguard Worker </description> 199*bb4ee6a4SAndroid Build Coastguard Worker <arg name="scale" type="uint" enum="scale_factor" summary="output device scale factor"/> 200*bb4ee6a4SAndroid Build Coastguard Worker </event> 201*bb4ee6a4SAndroid Build Coastguard Worker </interface> 202*bb4ee6a4SAndroid Build Coastguard Worker</protocol> 203