<?xml version="1.0" encoding="UTF-8"?>
<protocol name="wayland">

  <copyright>
    Copyright © 2008-2011 Kristian Høgsberg
    Copyright © 2010-2011 Intel Corporation

    Permission to use, copy, modify, distribute, and sell this
    software and its documentation for any purpose is hereby granted
    without fee, provided that\n the above copyright notice appear in
    all copies and that both that copyright notice and this permission
    notice appear in supporting documentation, and that the name of
    the copyright holders not be used in advertising or publicity
    pertaining to distribution of the software without specific,
    written prior permission.  The copyright holders make no
    representations about the suitability of this software for any
    purpose.  It is provided "as is" without express or implied
    warranty.

    THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
    SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
    SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
    AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
    ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
    THIS SOFTWARE.
  </copyright>

  <!-- The core global object. This is a special singleton object.
       It is used for internal wayland protocol features. -->
  <interface name="wl_display" version="1">
    <request name="bind">
      <arg name="name" type="uint"/>
      <arg name="interface" type="string"/>
      <arg name="version" type="uint"/>
      <arg name="id" type="new_id" interface="wl_object"/>
    </request>

    <!-- sync is an just an echo, which will reply with a key event.
         Since requests are handled in-order, this can be used as a
         barrier to ensure all previous requests have been handled.
         The key argument can be used to correlate between multiple
         sync invocations. -->
    <request name="sync">
      <arg name="callback" type="new_id" interface="wl_callback"/>
    </request>

    <!-- A fatal error has occurred. -->
    <event name="error">
      <arg name="object_id" type="object" interface="wl_object"/>
      <arg name="code" type="uint"/>
      <arg name="message" type="string"/>
    </event>

    <enum name="error">
      <entry name="invalid_object" value="0"/>
      <entry name="invalid_method" value="1"/>
      <entry name="no_memory" value="2"/>
    </enum>

    <!-- Notify the client of global objects. These are objects that
         are created by the server. Globals are published on the
         initial client connection sequence, upon device hotplugs,
         device disconnects, reconfiguration or other events.  The
         server will always announce an object before the object sends
         out events. -->
    <event name="global">
      <arg name="name" type="uint"/>
      <arg name="interface" type="string"/>
      <arg name="version" type="uint"/>
    </event>

    <!-- Notify the client of removed global objects. -->
    <event name="global_remove">
      <arg name="name" type="uint" />
    </event>

    <!-- Server has deleted the id and client can now reuse it. -->
    <event name="delete_id">
      <arg name="id" type="uint" />
    </event>
  </interface>

  <interface name="wl_callback" version="1">
    <event name="done">
      <arg name="time" type="uint"/>
    </event>
  </interface>

  <!-- A compositor. This object is a global.  The compositor is in
       charge of combining the contents of multiple surfaces into one
       displayable output. -->
  <interface name="wl_compositor" version="1">
    <!-- Factory request for a surface objects. A surface is akin to a
         window. -->
    <request name="create_surface">
      <arg name="id" type="new_id" interface="wl_surface"/>
    </request>
  </interface>

  <!-- Shared memory support -->
  <interface name="wl_shm" version="1">
    <enum name="error">
      <entry name="invalid_format" value="0"/>
      <entry name="invalid_stride" value="1"/>
      <entry name="invalid_fd" value="2"/>
    </enum>

    <enum name="format">
      <entry name="argb32" value="0"/>
      <entry name="premultiplied_argb32" value="1"/>
      <entry name="xrgb32" value="2"/>
    </enum>

    <!-- Transfer a shm buffer to the server.  The allocated buffer
         would include at least stride * height bytes starting at the
         beginning of fd.  The file descriptor is transferred over the
         socket using AF_UNIX magical features. width, height, stride
         and format describe the respective properties of the pixel
         data contained in the buffer. -->
    <request name="create_buffer">
      <arg name="id" type="new_id" interface="wl_buffer"/>
      <arg name="fd" type="fd"/>
      <arg name="width" type="int"/>
      <arg name="height" type="int"/>
      <arg name="stride" type="uint"/>
      <arg name="format" type="uint"/>
    </request>

    <event name="format">
      <arg name="format" type="uint"/>
    </event>
  </interface>


  <!-- A pixel buffer. Created using the drm, shm or similar objects.
       It has a size, visual and contents, but not a location on the
       screen. -->
  <interface name="wl_buffer" version="1">
    <!-- Notify the server that the specified area of the buffers
         contents have changed.  To describe a more complicated area
         of damage, break down the region into rectangles and use this
         request several times.
    -->
    <request name="damage">
      <arg name="x" type="int"/>
      <arg name="y" type="int"/>
      <arg name="width" type="int"/>
      <arg name="height" type="int"/>
    </request>

    <!-- Destroy a buffer.  This will invalidate the object id. -->
    <request name="destroy" type="destructor"/>

    <!-- Sent when an attached buffer is no longer used by the compositor. -->
    <event name="release"/>
  </interface>


  <interface name="wl_data_offer" version="1">
    <!-- Indicate that the client can accept the given mime-type, or
         NULL for not accepted.  Use for feedback during drag and
         drop. -->
    <request name="accept">
      <arg name="time" type="uint"/>
      <arg name="type" type="string"/>
    </request>

    <request name="receive">
      <arg name="mime_type" type="string"/>
      <arg name="fd" type="fd"/>
    </request>

    <request name="destroy" type="destructor"/>

    <!-- Sent immediately after creating the wl_data_offer object.  One
         event per offered mime type. -->
    <event name="offer">
      <arg name="type" type="string"/>
    </event>
  </interface>

  <interface name="wl_data_source" version="1">
    <!-- Add an offered mime type.  Can be called several times to
         offer multiple types. -->
    <request name="offer">
      <arg name="type" type="string"/>
    </request>

    <!-- Destroy the selection. -->
    <request name="destroy" type="destructor"/>

    <!-- Sent when a target accepts pointer_focus or motion events.
         If a target does not accept any of the offered types, type is
         NULL -->
    <event name="target">
      <arg name="mime_type" type="string"/>
    </event>

    <!-- Request for data from another client.  Send the data in the
         specified mime-type over the passed fd, the close it. -->
    <event name="send">
      <arg name="mime_type" type="string"/>
      <arg name="fd" type="fd"/>
    </event>

    <!-- Another selection became active. -->
    <event name="cancelled"/>
  </interface>

  <interface name="wl_data_device" version="1">
    <request name="start_drag">
      <arg name="source" type="object" interface="wl_data_source"/>
      <arg name="surface" type="object" interface="wl_surface"/>
      <arg name="time" type="uint"/>
    </request>

    <request name="attach">
      <arg name="time" type="uint"/>
      <arg name="buffer" type="object" interface="wl_buffer"/>
      <arg name="x" type="int"/>
      <arg name="y" type="int"/>
    </request>

    <request name="set_selection">
      <arg name="source" type="object" interface="wl_data_source"/>
      <arg name="time" type="uint"/>
    </request>

    <event name="data_offer">
      <arg name="id" type="new_id" interface="wl_data_offer"/>
    </event>

    <event name="enter">
      <arg name="time" type="uint"/>
      <arg name="surface" type="object" interface="wl_surface"/>
      <arg name="x" type="int"/>
      <arg name="y" type="int"/>
      <arg name="id" type="object" interface="wl_data_offer"/>
    </event>

    <event name="leave"/>

    <event name="motion">
      <arg name="time" type="uint"/>
      <arg name="x" type="int"/>
      <arg name="y" type="int"/>
    </event>

    <event name="drop"/>

    <event name="selection">
      <arg name="id" type="object" interface="wl_data_offer"/>
    </event>
  </interface>

  <interface name="wl_data_device_manager" version="1">
    <request name="create_data_source">
      <arg name="id" type="new_id" interface="wl_data_source"/>
    </request>

    <request name="get_data_device">
      <arg name="id" type="new_id" interface="wl_data_device"/>
      <arg name="input_device" type="object" interface="wl_input_device"/>
    </request>
  </interface>

  <interface name="wl_shell" version="1">
    <request name="move">
      <arg name="surface" type="object" interface="wl_surface"/>
      <arg name="input_device" type="object" interface="wl_input_device"/>
      <arg name="time" type="uint"/>
    </request>

    <enum name="resize">
      <entry name="none" value="0"/>
      <entry name="top" value="1"/>
      <entry name="bottom" value="2"/>
      <entry name="left" value="4"/>
      <entry name="top_left" value="5"/>
      <entry name="bottom_left" value="6"/>
      <entry name="right" value="8"/>
      <entry name="top_right" value="9"/>
      <entry name="bottom_right" value="10"/>
    </enum>

    <request name="resize">
      <arg name="surface" type="object" interface="wl_surface"/>
      <arg name="input_device" type="object" interface="wl_input_device"/>
      <arg name="time" type="uint"/>
      <!-- edges is an enum, need to get the values in here -->
      <arg name="edges" type="uint"/>
    </request>

    <!-- Make the surface visible as a toplevel window. -->
    <request name="set_toplevel">
      <arg name="surface" type="object" interface="wl_surface"/>
    </request>

    <!-- Map the surface relative to an existing surface. The x and y
         arguments specify the locations of the upper left corner of
         the surface relative to the upper left corner of the parent
         surface.  The flags argument controls overflow/clipping
         behaviour when the surface would intersect a screen edge,
         panel or such.  And possibly whether the offset only
         determines the initial position or if the surface is locked
         to that relative position during moves. -->
    <request name="set_transient">
      <arg name="surface" type="object" interface="wl_surface"/>
      <arg name="parent" type="object" interface="wl_surface"/>
      <arg name="x" type="int"/>
      <arg name="y" type="int"/>
      <arg name="flags" type="uint"/>
    </request>

    <!-- Map the surface as a fullscreen surface.  There are a number
         of options here: on which output? if the surface size doesn't
         match the output size, do we scale, change resolution, or add
         black borders? is that something the client controls?  what
         about transient surfaces, do they float on top of the
         fullscreen? what if there's already a fullscreen surface on
         the output, maybe you can only go fullscreen if you're
         active?  -->
    <request name="set_fullscreen">
      <arg name="surface" type="object" interface="wl_surface"/>
    </request>

    <!-- The configure event asks the client to resize its surface.
         The size is a hint, in the sense that the client is free to
         ignore it if it doesn't resize, pick a smaller size (to
         satisfy aspect ration or resize in steps of NxM pixels).  The
         client is free to dismiss all but the last configure event it
         received. -->
    <event name="configure">
      <arg name="time" type="uint"/>
      <arg name="edges" type="uint"/>
      <arg name="surface" type="object" interface="wl_surface"/>
      <arg name="width" type="int"/>
      <arg name="height" type="int"/>
    </event>
  </interface>


  <!-- A surface. This is an image that is displayed on the screen.
       It has a location, size and pixel contents. Similar to a window. -->
  <interface name="wl_surface" version="1">
    <!-- Deletes the surface and invalidates its object id. -->
    <request name="destroy" type="destructor"/>

    <!-- Copy the contents of a buffer into this surface. The x and y
         arguments specify the location of the new buffers upper left
         corner, relative to the old buffers upper left corner. -->
    <request name="attach">
      <arg name="buffer" type="object" interface="wl_buffer"/>
      <arg name="x" type="int"/>
      <arg name="y" type="int"/>
    </request>

    <!-- After attaching a new buffer, this request is used to
         describe the regions where the new buffer is different from
         the previous buffer and needs to be repainted.  Coordinates
         are relative to the new buffer. -->
    <request name="damage">
      <arg name="x" type="int"/>
      <arg name="y" type="int"/>
      <arg name="width" type="int"/>
      <arg name="height" type="int"/>
    </request>

    <!-- Request notification when the next frame is displayed.
         Useful for throttling redrawing operations, and driving
         animations.  The notification will only be posted for one
         frame unless requested again. -->
    <request name="frame">
      <arg name="callback" type="new_id" interface="wl_callback"/>
    </request>

  </interface>


  <!-- A group of keyboards and pointer devices (mice, for
       example). This object is published as a global during start up,
       or when such a device is hot plugged.  A input_device group
       typically has a pointer and maintains a keyboard_focus and a
       pointer_focus.  -->
  <interface name="wl_input_device" version="1">
    <!-- Set the pointer's image.  This request only takes effect if
         the pointer focus for this device is one of the requesting
         clients surfaces.  -->
    <request name="attach">
      <arg name="time" type="uint"/>
      <arg name="buffer" type="object" interface="wl_buffer"/>
      <arg name="hotspot_x" type="int"/>
      <arg name="hotspot_y" type="int"/>
    </request>

    <!-- Notification of pointer location change.
         x,y are the absolute location on the screen.
         surface_[xy] are the location relative to the focused surface. -->
    <event name="motion">
      <arg name="time" type="uint"/>
      <arg name="x" type="int"/>
      <arg name="y" type="int"/>
      <arg name="surface_x" type="int"/>
      <arg name="surface_y" type="int"/>
    </event>

    <!-- Mouse button click and release notifications.  The location
         of the click is given by the last motion or pointer_focus
         event. -->
    <event name="button">
      <arg name="time" type="uint"/>
      <arg name="button" type="uint"/>
      <arg name="state" type="uint"/>
    </event>

    <!-- Keyboard press. -->
    <event name="key">
      <arg name="time" type="uint"/>
      <arg name="key" type="uint"/>
      <arg name="state" type="uint"/>
    </event>

    <!-- Notification that this input device's pointer is focused on
         certain surface. When an input_device enters a surface, the
         pointer image is undefined and a client should respond to
         this event by setting an apropriate pointer image. -->
    <event name="pointer_focus">
      <arg name="time" type="uint"/>
      <arg name="surface" type="object" interface="wl_surface"/>
      <arg name="x" type="int"/>
      <arg name="y" type="int"/>
      <arg name="surface_x" type="int"/>
      <arg name="surface_y" type="int"/>
    </event>

    <event name="keyboard_focus">
      <arg name="time" type="uint"/>
      <arg name="surface" type="object" interface="wl_surface"/>
      <arg name="keys" type="array"/>
    </event>

    <event name="touch_down">
      <arg name="time" type="uint"/>
      <arg name="id" type="int" />
      <arg name="x" type="int" />
      <arg name="y" type="int" />
    </event>

    <event name="touch_up">
      <arg name="time" type="uint"/>
      <arg name="id" type="int" />
    </event>

    <event name="touch_motion">
      <arg name="time" type="uint"/>
      <arg name="id" type="int" />
      <arg name="x" type="int" />
      <arg name="y" type="int" />
    </event>

    <!-- Indicates the end of a contact point list. -->
    <event name="touch_frame"/>

    <!-- Sent if the compositor decides the touch stream is a global
         gesture. No further events are sent to the clients from that
         particular gesture. -->
    <event name="touch_cancel"/>
  </interface>


  <!-- An output describes part of the compositor geometry.  The
       compositor work in the 'compositor coordinate system' and an
       output corresponds to rectangular area in that space that is
       actually visible.  This typically corresponds to a monitor that
       displays part of the compositor space.  This object is
       published as global during start up, or when a screen is hot
       plugged.  -->
  <interface name="wl_output" version="1">

    <enum name="subpixel">
      <entry name="unknown" value="0"/>
      <entry name="none" value="1"/>
      <entry name="horizontal_rgb" value="2"/>
      <entry name="horizontal_bgr" value="3"/>
      <entry name="vertical_rgb" value="4"/>
      <entry name="vertical_bgr" value="5"/>
    </enum>

    <event name="geometry">
      <arg name="x" type="int"/>
      <arg name="y" type="int"/>
      <arg name="physical_width" type="int"/>
      <arg name="physical_height" type="int"/>
      <arg name="subpixel" type="int"/>
      <arg name="make" type="string"/>
      <arg name="model" type="string"/>
    </event>

    <!-- Values for the flags bitfield of the mode event. -->
    <enum name="mode">
      <entry name="current" value="0x1"/>
      <entry name="preferred" value="0x2"/>
    </enum>
      
    <event name="mode">
      <arg name="flags" type="uint"/>
      <arg name="width" type="int"/>
      <arg name="height" type="int"/>
      <arg name="refresh" type="int"/>
    </event>
  </interface>

</protocol>
