[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

wayland-protocols: Changes to 'upstream-unstable'



 Makefile.am                                                      |    1 
 README                                                           |   14 
 configure.ac                                                     |    7 
 stable/presentation-time/presentation-time.xml                   |   55 +-
 stable/viewporter/README                                         |    7 
 stable/viewporter/viewporter.xml                                 |  189 ++++++++++
 unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml       |   19 -
 unstable/input-method/input-method-unstable-v1.xml               |   40 +-
 unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml               |   18 
 unstable/pointer-constraints/pointer-constraints-unstable-v1.xml |   16 
 unstable/pointer-gestures/pointer-gestures-unstable-v1.xml       |    9 
 unstable/relative-pointer/relative-pointer-unstable-v1.xml       |    8 
 unstable/tablet/tablet-unstable-v1.xml                           |   30 -
 13 files changed, 308 insertions(+), 105 deletions(-)

New commits:
commit 65d09ef404fb26cb513f4f836e904f415c425a8f
Author: Jonas Ådahl <jadahl@gmail.com>
Date:   Mon May 23 11:33:48 2016 +0800

    configure.ac: Bump version to 1.4
    
    Signed-off-by: Jonas Ådahl <jadahl@gmail.com>

diff --git a/configure.ac b/configure.ac
index 3d45a4b..d3febaf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
 AC_PREREQ([2.64])
 
 m4_define([wayland_protocols_major_version], [1])
-m4_define([wayland_protocols_minor_version], [3])
+m4_define([wayland_protocols_minor_version], [4])
 m4_define([wayland_protocols_version],
           [wayland_protocols_major_version.wayland_protocols_minor_version])
 

commit 83bdaa5cff369cc631d0191eb75a6a798976c638
Author: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Date:   Tue Apr 19 14:54:04 2016 +0300

    stable/viewporter: add more error cases
    
    Rather than silenty doing things, make them explicit and error if
    anything is not quite right. Suggested by Daniel Stone.
    
    Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
    Reviewed-by: Daniel Stone <daniels@collabora.com>
    [Pekka: updated copyright years]
    Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
    Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
    Acked-by: Bryce Harrington <bryce@osg.samsung.com>

diff --git a/stable/viewporter/viewporter.xml b/stable/viewporter/viewporter.xml
index ef9b35c..5d006c0 100644
--- a/stable/viewporter/viewporter.xml
+++ b/stable/viewporter/viewporter.xml
@@ -2,7 +2,7 @@
 <protocol name="viewporter">
 
   <copyright>
-    Copyright © 2013-2014 Collabora, Ltd.
+    Copyright © 2013-2016 Collabora, Ltd.
 
     Permission is hereby granted, free of charge, to any person obtaining a
     copy of this software and associated documentation files (the "Software"),
@@ -88,11 +88,13 @@
       has no content and therefore no size. Otherwise, the size is always
       at least 1x1 in surface local coordinates.
 
-      If the source rectangle is set, it defines what area of the
-      wl_buffer is taken as the source. If the source rectangle is set and
-      the destination size is not set, the surface size becomes the source
-      rectangle size rounded up to the nearest integer. If the source size
-      is already exactly integers, this results in cropping without scaling.
+      If the source rectangle is set, it defines what area of the wl_buffer is
+      taken as the source. If the source rectangle is set and the destination
+      size is not set, then src_width and src_height must be integers, and the
+      surface size becomes the source rectangle size. This results in cropping
+      without scaling. If src_width or src_height are not integers and
+      destination size is not set, the bad_size protocol error is raised when
+      the surface state is applied.
 
       The coordinate transformations from buffer pixel coordinates up to
       the surface-local coordinates happen in the following order:
@@ -104,9 +106,11 @@
       i.e. in the coordinates that would be the surface-local coordinates
       if the crop and scale was not applied.
 
-      If the source rectangle is partially or completely outside of the
-      wl_buffer, then the surface contents are undefined (not void), and
-      the surface size is still dst_width, dst_height.
+      If src_x or src_y are negative, the bad_value protocol error is raised.
+      Otherwise, if the source rectangle is partially or completely outside of
+      the non-NULL wl_buffer, then the out_of_buffer protocol error is raised
+      when the surface state is applied. A NULL wl_buffer does not raise the
+      out_of_buffer error.
 
       The x, y arguments of wl_surface.attach are applied as normal to
       the surface. They indicate how many pixels to remove from the
@@ -115,7 +119,8 @@
       and dst_height are.
 
       If the wl_surface associated with the wp_viewport is destroyed,
-      the wp_viewport object becomes inert.
+      all wp_viewport requests except 'destroy' raise the protocol error
+      no_surface.
 
       If the wp_viewport object is destroyed, the crop and scale
       state is removed from the wl_surface. The change will be applied
@@ -131,7 +136,13 @@
 
     <enum name="error">
       <entry name="bad_value" value="0"
-             summary="negative or zero values in width or height"/>
+	     summary="negative or zero values in width or height"/>
+      <entry name="bad_size" value="1"
+	     summary="destination size is not integer"/>
+      <entry name="out_of_buffer" value="2"
+	     summary="source rectangle extends outside of the content area"/>
+      <entry name="no_surface" value="3"
+	     summary="the wl_surface was destroyed"/>
     </enum>
 
     <request name="set_source">
@@ -140,9 +151,9 @@
 	wp_viewport for the description, and relation to the wl_buffer
 	size.
 
-	If width is -1.0 and height is -1.0, the source rectangle is unset
-	instead. Any other pair of values for width and height that
-	contains zero or negative values raises the bad_value protocol
+	If all of x, y, width and height are -1.0, the source rectangle is
+	unset instead. Any other set of values where width or height are zero
+	or negative, or x or y are negative, raise the bad_value protocol
 	error.
 
 	The crop and scale state is double-buffered state, and will be
@@ -168,11 +179,6 @@
 
 	The crop and scale state is double-buffered state, and will be
 	applied on the next wl_surface.commit.
-
-	Arguments x and y do not exist here, use the x and y arguments to
-	wl_surface.attach. The x, y, width, and height define the
-	surface-local coordinate system irrespective of the attached
-	wl_buffer size.
       </description>
 
       <arg name="width" type="int" summary="surface width"/>

commit 39bc7207b44c8d09066dc931ecd43b546f0ed304
Author: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Date:   Tue Apr 19 13:41:13 2016 +0300

    stable/viewporter: rephrase a wp_viewport paragraph
    
    Cc: Yong Bakos <ybakos@humanoriented.com>
    Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
    Reviewed-by: Daniel Stone <daniels@collabora.com>
    [Pekka: s/culled/ignored/]
    Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
    Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
    Acked-by: Bryce Harrington <bryce@osg.samsung.com>

diff --git a/stable/viewporter/viewporter.xml b/stable/viewporter/viewporter.xml
index 7d299eb..ef9b35c 100644
--- a/stable/viewporter/viewporter.xml
+++ b/stable/viewporter/viewporter.xml
@@ -68,11 +68,12 @@
       client to specify the cropping and scaling of the surface
       contents.
 
-      This interface allows to define the source rectangle (src_x,
-      src_y, src_width, src_height) from where to take the wl_buffer
-      contents, and scale that to destination size (dst_width,
-      dst_height). This state is double-buffered, and is applied on the
-      next wl_surface.commit.
+      This interface works with two concepts: the source rectangle (src_x,
+      src_y, src_width, src_height), and the destination size (dst_width,
+      dst_height). The contents of the source rectangle are scaled to the
+      destination size, and content outside the source rectangle is ignored.
+      This state is double-buffered, and is applied on the next
+      wl_surface.commit.
 
       The two parts of crop and scale state are independent: the source
       rectangle, and the destination size. Initially both are unset, that

commit af6402c41ee3050313de9f9f999c7f53de07ed11
Author: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Date:   Fri Apr 15 14:29:06 2016 +0300

    stable/viewporter: rename and build
    
    Rename interfaces and the protocol to follow the policy.
    
    Reset interface versions.
    
    Replace "surface coordinates" with "surface local coordinates".
    
    Hook up to build and install.
    
    Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
    Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
    Reviewed-by: Daniel Stone <daniels@collabora.com>
    Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
    Acked-by: Bryce Harrington <bryce@osg.samsung.com>

diff --git a/Makefile.am b/Makefile.am
index 033789f..71d2632 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,6 +12,7 @@ unstable_protocols =								\
 
 stable_protocols =								\
 	stable/presentation-time/presentation-time.xml				\
+	stable/viewporter/viewporter.xml					\
 	$(NULL)
 
 nobase_dist_pkgdata_DATA =							\
diff --git a/stable/viewporter/viewporter.xml b/stable/viewporter/viewporter.xml
index e4322bd..7d299eb 100644
--- a/stable/viewporter/viewporter.xml
+++ b/stable/viewporter/viewporter.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<protocol name="scaler">
+<protocol name="viewporter">
 
   <copyright>
     Copyright © 2013-2014 Collabora, Ltd.
@@ -24,7 +24,7 @@
     DEALINGS IN THE SOFTWARE.
   </copyright>
 
-  <interface name="wl_scaler" version="2">
+  <interface name="wp_viewporter" version="1">
     <description summary="surface cropping and scaling">
       The global interface exposing surface cropping and scaling
       capabilities is used to instantiate an interface extension for a
@@ -38,7 +38,7 @@
       <description summary="unbind from the cropping and scaling interface">
 	Informs the server that the client will not be using this
 	protocol object anymore. This does not affect any other objects,
-	wl_viewport objects included.
+	wp_viewport objects included.
       </description>
     </request>
 
@@ -51,18 +51,18 @@
       <description summary="extend surface interface for crop and scale">
 	Instantiate an interface extension for the given wl_surface to
 	crop and scale its content. If the given wl_surface already has
-	a wl_viewport object associated, the viewport_exists
+	a wp_viewport object associated, the viewport_exists
 	protocol error is raised.
       </description>
 
-      <arg name="id" type="new_id" interface="wl_viewport"
+      <arg name="id" type="new_id" interface="wp_viewport"
            summary="the new viewport interface id"/>
       <arg name="surface" type="object" interface="wl_surface"
            summary="the surface"/>
     </request>
   </interface>
 
-  <interface name="wl_viewport" version="2">
+  <interface name="wp_viewport" version="1">
     <description summary="crop and scale interface to a wl_surface">
       An additional interface to a wl_surface object, which allows the
       client to specify the cropping and scaling of the surface
@@ -85,7 +85,7 @@
       this size. This overrides whatever the attached wl_buffer size is,
       unless the wl_buffer is NULL. If the wl_buffer is NULL, the surface
       has no content and therefore no size. Otherwise, the size is always
-      at least 1x1 in surface coordinates.
+      at least 1x1 in surface local coordinates.
 
       If the source rectangle is set, it defines what area of the
       wl_buffer is taken as the source. If the source rectangle is set and
@@ -97,7 +97,7 @@
       the surface-local coordinates happen in the following order:
         1. buffer_transform (wl_surface.set_buffer_transform)
         2. buffer_scale (wl_surface.set_buffer_scale)
-        3. crop and scale (wl_viewport.set*)
+        3. crop and scale (wp_viewport.set*)
       This means, that the source rectangle coordinates of crop and scale
       are given in the coordinates after the buffer transform and scale,
       i.e. in the coordinates that would be the surface-local coordinates
@@ -113,10 +113,10 @@
       still in the surface-local coordinate system, just like dst_width
       and dst_height are.
 
-      If the wl_surface associated with the wl_viewport is destroyed,
-      the wl_viewport object becomes inert.
+      If the wl_surface associated with the wp_viewport is destroyed,
+      the wp_viewport object becomes inert.
 
-      If the wl_viewport object is destroyed, the crop and scale
+      If the wp_viewport object is destroyed, the crop and scale
       state is removed from the wl_surface. The change will be applied
       on the next wl_surface.commit.
     </description>
@@ -133,10 +133,10 @@
              summary="negative or zero values in width or height"/>
     </enum>
 
-    <request name="set_source" since="2">
+    <request name="set_source">
       <description summary="set the source rectangle for cropping">
 	Set the source rectangle of the associated wl_surface. See
-	wl_viewport for the description, and relation to the wl_buffer
+	wp_viewport for the description, and relation to the wl_buffer
 	size.
 
 	If width is -1.0 and height is -1.0, the source rectangle is unset
@@ -154,10 +154,10 @@
       <arg name="height" type="fixed" summary="source rectangle height"/>
     </request>
 
-    <request name="set_destination" since="2">
+    <request name="set_destination">
       <description summary="set the surface size for scaling">
 	Set the destination size of the associated wl_surface. See
-	wl_viewport for the description, and relation to the wl_buffer
+	wp_viewport for the description, and relation to the wl_buffer
 	size.
 
 	If width is -1 and height is -1, the destination size is unset
@@ -178,4 +178,5 @@
       <arg name="height" type="int" summary="surface height"/>
     </request>
   </interface>
+
 </protocol>

commit 368cbf3985ef9c5cc65d3ab6cb1a03a1fd33a19e
Author: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Date:   Tue Apr 19 15:08:10 2016 +0300

    stable/viewporter: remove wp_viewport.set request
    
    Remove the old, redundant request. The new way is to call both
    wp_viewport.set_source and wp_viewport.set_destination when you want to
    set everything.
    
    Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
    Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
    Reviewed-by: Daniel Stone <daniels@collabora.com>
    Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
    Acked-by: Bryce Harrington <bryce@osg.samsung.com>

diff --git a/stable/viewporter/viewporter.xml b/stable/viewporter/viewporter.xml
index 0e482a6..e4322bd 100644
--- a/stable/viewporter/viewporter.xml
+++ b/stable/viewporter/viewporter.xml
@@ -133,33 +133,6 @@
              summary="negative or zero values in width or height"/>
     </enum>
 
-    <request name="set">
-      <description summary="set the crop and scale state">
-	Set both source rectangle and destination size of the associated
-	wl_surface. See wl_viewport for the description, and relation to
-	the wl_buffer size.
-
-	The bad_value protocol error is raised if src_width or
-	src_height is negative, or if dst_width or dst_height is not
-	positive.
-
-	The crop and scale state is double-buffered state, and will be
-	applied on the next wl_surface.commit.
-
-	Arguments dst_x and dst_y do not exist here, use the x and y
-	arguments to wl_surface.attach. The x, y, dst_width, and dst_height
-	define the surface-local coordinate system irrespective of the
-	attached wl_buffer size.
-      </description>
-
-      <arg name="src_x" type="fixed" summary="source rectangle x"/>
-      <arg name="src_y" type="fixed" summary="source rectangle y"/>
-      <arg name="src_width" type="fixed" summary="source rectangle width"/>
-      <arg name="src_height" type="fixed" summary="source rectangle height"/>
-      <arg name="dst_width" type="int" summary="surface width"/>
-      <arg name="dst_height" type="int" summary="surface height"/>
-    </request>
-
     <request name="set_source" since="2">
       <description summary="set the source rectangle for cropping">
 	Set the source rectangle of the associated wl_surface. See

commit 5c88eef8cc443df3ba1a6013cdbf4110f1d48dbe
Author: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Date:   Fri Apr 15 14:10:14 2016 +0300

    stable: add viewporter draft
    
    This XML file has been copied verbatim from Weston 1.10.0 release,
    protocol/scaler.xml.
    
    The interfaces still need renaming according to wayland-protocols
    policy. Also a redundant request needs to be removed. These will be done
    in a follow-up patch to clearly show the changes.
    
    Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
    Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
    Reviewed-by: Daniel Stone <daniels@collabora.com>
    Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
    Acked-by: Bryce Harrington <bryce@osg.samsung.com>

diff --git a/stable/viewporter/README b/stable/viewporter/README
new file mode 100644
index 0000000..e09057b
--- /dev/null
+++ b/stable/viewporter/README
@@ -0,0 +1,7 @@
+Viewporter: cropping and scaling extension for surface contents
+
+Previously known as wl_scaler.
+
+Maintainers:
+Pekka Paalanen <pekka.paalanen@collabora.co.uk>
+
diff --git a/stable/viewporter/viewporter.xml b/stable/viewporter/viewporter.xml
new file mode 100644
index 0000000..0e482a6
--- /dev/null
+++ b/stable/viewporter/viewporter.xml
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<protocol name="scaler">
+
+  <copyright>
+    Copyright © 2013-2014 Collabora, Ltd.
+
+    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="wl_scaler" version="2">
+    <description summary="surface cropping and scaling">
+      The global interface exposing surface cropping and scaling
+      capabilities is used to instantiate an interface extension for a
+      wl_surface object. This extended interface will then allow
+      cropping and scaling the surface contents, effectively
+      disconnecting the direct relationship between the buffer and the
+      surface size.
+    </description>
+
+    <request name="destroy" type="destructor">
+      <description summary="unbind from the cropping and scaling interface">
+	Informs the server that the client will not be using this
+	protocol object anymore. This does not affect any other objects,
+	wl_viewport objects included.
+      </description>
+    </request>
+
+    <enum name="error">
+      <entry name="viewport_exists" value="0"
+             summary="the surface already has a viewport object associated"/>
+    </enum>
+
+    <request name="get_viewport">
+      <description summary="extend surface interface for crop and scale">
+	Instantiate an interface extension for the given wl_surface to
+	crop and scale its content. If the given wl_surface already has
+	a wl_viewport object associated, the viewport_exists
+	protocol error is raised.
+      </description>
+
+      <arg name="id" type="new_id" interface="wl_viewport"
+           summary="the new viewport interface id"/>
+      <arg name="surface" type="object" interface="wl_surface"
+           summary="the surface"/>
+    </request>
+  </interface>
+
+  <interface name="wl_viewport" version="2">
+    <description summary="crop and scale interface to a wl_surface">
+      An additional interface to a wl_surface object, which allows the
+      client to specify the cropping and scaling of the surface
+      contents.
+
+      This interface allows to define the source rectangle (src_x,
+      src_y, src_width, src_height) from where to take the wl_buffer
+      contents, and scale that to destination size (dst_width,
+      dst_height). This state is double-buffered, and is applied on the
+      next wl_surface.commit.
+
+      The two parts of crop and scale state are independent: the source
+      rectangle, and the destination size. Initially both are unset, that
+      is, no scaling is applied. The whole of the current wl_buffer is
+      used as the source, and the surface size is as defined in
+      wl_surface.attach.
+
+      If the destination size is set, it causes the surface size to become
+      dst_width, dst_height. The source (rectangle) is scaled to exactly
+      this size. This overrides whatever the attached wl_buffer size is,
+      unless the wl_buffer is NULL. If the wl_buffer is NULL, the surface
+      has no content and therefore no size. Otherwise, the size is always
+      at least 1x1 in surface coordinates.
+
+      If the source rectangle is set, it defines what area of the
+      wl_buffer is taken as the source. If the source rectangle is set and
+      the destination size is not set, the surface size becomes the source
+      rectangle size rounded up to the nearest integer. If the source size
+      is already exactly integers, this results in cropping without scaling.
+
+      The coordinate transformations from buffer pixel coordinates up to
+      the surface-local coordinates happen in the following order:
+        1. buffer_transform (wl_surface.set_buffer_transform)
+        2. buffer_scale (wl_surface.set_buffer_scale)
+        3. crop and scale (wl_viewport.set*)
+      This means, that the source rectangle coordinates of crop and scale
+      are given in the coordinates after the buffer transform and scale,
+      i.e. in the coordinates that would be the surface-local coordinates
+      if the crop and scale was not applied.
+
+      If the source rectangle is partially or completely outside of the
+      wl_buffer, then the surface contents are undefined (not void), and
+      the surface size is still dst_width, dst_height.
+
+      The x, y arguments of wl_surface.attach are applied as normal to
+      the surface. They indicate how many pixels to remove from the
+      surface size from the left and the top. In other words, they are
+      still in the surface-local coordinate system, just like dst_width
+      and dst_height are.
+
+      If the wl_surface associated with the wl_viewport is destroyed,
+      the wl_viewport object becomes inert.
+
+      If the wl_viewport object is destroyed, the crop and scale
+      state is removed from the wl_surface. The change will be applied
+      on the next wl_surface.commit.
+    </description>
+
+    <request name="destroy" type="destructor">
+      <description summary="remove scaling and cropping from the surface">
+	The associated wl_surface's crop and scale state is removed.
+	The change is applied on the next wl_surface.commit.
+      </description>
+    </request>
+
+    <enum name="error">
+      <entry name="bad_value" value="0"
+             summary="negative or zero values in width or height"/>
+    </enum>
+
+    <request name="set">
+      <description summary="set the crop and scale state">
+	Set both source rectangle and destination size of the associated
+	wl_surface. See wl_viewport for the description, and relation to
+	the wl_buffer size.
+
+	The bad_value protocol error is raised if src_width or
+	src_height is negative, or if dst_width or dst_height is not
+	positive.
+
+	The crop and scale state is double-buffered state, and will be
+	applied on the next wl_surface.commit.
+
+	Arguments dst_x and dst_y do not exist here, use the x and y
+	arguments to wl_surface.attach. The x, y, dst_width, and dst_height
+	define the surface-local coordinate system irrespective of the
+	attached wl_buffer size.
+      </description>
+
+      <arg name="src_x" type="fixed" summary="source rectangle x"/>
+      <arg name="src_y" type="fixed" summary="source rectangle y"/>
+      <arg name="src_width" type="fixed" summary="source rectangle width"/>
+      <arg name="src_height" type="fixed" summary="source rectangle height"/>
+      <arg name="dst_width" type="int" summary="surface width"/>
+      <arg name="dst_height" type="int" summary="surface height"/>
+    </request>
+
+    <request name="set_source" since="2">
+      <description summary="set the source rectangle for cropping">
+	Set the source rectangle of the associated wl_surface. See
+	wl_viewport for the description, and relation to the wl_buffer
+	size.
+
+	If width is -1.0 and height is -1.0, the source rectangle is unset
+	instead. Any other pair of values for width and height that
+	contains zero or negative values raises the bad_value protocol
+	error.
+
+	The crop and scale state is double-buffered state, and will be
+	applied on the next wl_surface.commit.
+      </description>
+
+      <arg name="x" type="fixed" summary="source rectangle x"/>
+      <arg name="y" type="fixed" summary="source rectangle y"/>
+      <arg name="width" type="fixed" summary="source rectangle width"/>
+      <arg name="height" type="fixed" summary="source rectangle height"/>
+    </request>
+
+    <request name="set_destination" since="2">
+      <description summary="set the surface size for scaling">
+	Set the destination size of the associated wl_surface. See
+	wl_viewport for the description, and relation to the wl_buffer
+	size.
+
+	If width is -1 and height is -1, the destination size is unset
+	instead. Any other pair of values for width and height that
+	contains zero or negative values raises the bad_value protocol
+	error.
+
+	The crop and scale state is double-buffered state, and will be
+	applied on the next wl_surface.commit.
+
+	Arguments x and y do not exist here, use the x and y arguments to
+	wl_surface.attach. The x, y, width, and height define the
+	surface-local coordinate system irrespective of the attached
+	wl_buffer size.
+      </description>
+
+      <arg name="width" type="int" summary="surface width"/>
+      <arg name="height" type="int" summary="surface height"/>
+    </request>
+  </interface>
+</protocol>

commit cc276dfa41e24596b12efc04cf2ca625f868164d
Author: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date:   Thu Feb 18 16:03:35 2016 +0200

    configure.ac: Don't use AC_CANONICAL_* macro calls
    
    Check autoconfs $cross_compiling instead as AC_CANONICAL_HOST call
    will fail if the host cpu is not recognised (which can happen when
    e.g. Yocto builds for "allarch").
    
    Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
    Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>

diff --git a/configure.ac b/configure.ac
index 5b48b1a..3d45a4b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -15,13 +15,10 @@ AC_CONFIG_MACRO_DIR([m4])
 
 AC_SUBST([WAYLAND_PROTOCOLS_VERSION], [wayland_protocols_version])
 
-AC_CANONICAL_HOST
-AC_CANONICAL_BUILD
-
 AC_ARG_VAR([wayland_scanner], [The wayland-scanner executable])
 AC_PATH_PROG([wayland_scanner], [wayland-scanner])
 if test x$wayland_scanner = x; then
-        if test x$host = x$build; then
+        if test "x$cross_compiling" != "xyes"; then
                 PKG_CHECK_MODULES(WAYLAND_SCANNER, [wayland-scanner])
                 wayland_scanner=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`
         else

commit aaafffe03949a673fd2f2d957900e0569ece440c
Author: Yong Bakos <ybakos@humanoriented.com>
Date:   Thu Apr 28 12:00:46 2016 -0500

    tablet: Hyphenate compound adjective surface-local
    
    In addition, simplify relevant x/y coordinate parameter summaries.
    
    See https://lists.freedesktop.org/archives/wayland-devel/2016-April/028249.html.
    
    Signed-off-by: Yong Bakos <ybakos@humanoriented.com>

diff --git a/unstable/tablet/tablet-unstable-v1.xml b/unstable/tablet/tablet-unstable-v1.xml
index 907126c..c5f58e9 100644
--- a/unstable/tablet/tablet-unstable-v1.xml
+++ b/unstable/tablet/tablet-unstable-v1.xml
@@ -210,7 +210,7 @@
 	The parameters hotspot_x and hotspot_y define the position of the
 	pointer surface relative to the pointer location. Its top-left corner
 	is always at (x, y) - (hotspot_x, hotspot_y), where (x, y) are the
-	coordinates of the pointer location, in surface local coordinates.
+	coordinates of the pointer location, in surface-local coordinates.
 
 	On surface.attach requests to the pointer surface, hotspot_x and
 	hotspot_y are decremented by the x and y parameters passed to the
@@ -235,8 +235,8 @@
       </description>
       <arg name="serial" type="uint" summary="serial of the enter event"/>
       <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
-      <arg name="hotspot_x" type="int" summary="x coordinate in surface local coordinates"/>
-      <arg name="hotspot_y" type="int" summary="y coordinate in surface local coordinates"/>
+      <arg name="hotspot_x" type="int" summary="surface-local x coordinate"/>
+      <arg name="hotspot_y" type="int" summary="surface-local y coordinate"/>
     </request>
 
     <request name="destroy" type="destructor">
@@ -449,8 +449,8 @@
       <description summary="motion event">
 	Sent whenever a tablet tool moves.
       </description>
-      <arg name="x" type="fixed" summary="x coordinate in surface local coordinates"/>
-      <arg name="y" type="fixed" summary="y coordinate in surface local coordinates"/>
+      <arg name="x" type="fixed" summary="surface-local x coordinate"/>
+      <arg name="y" type="fixed" summary="surface-local y coordinate"/>
     </event>
 
     <event name="pressure">

commit 44d5da751f413ebfe8b92d6f6543a91a24008a43
Author: Yong Bakos <ybakos@humanoriented.com>
Date:   Thu Apr 28 12:00:45 2016 -0500

    pointer-constraints: Use 'surface-local' in simplified parameter summary
    
    See https://lists.freedesktop.org/archives/wayland-devel/2016-April/028249.html.
    
    Signed-off-by: Yong Bakos <ybakos@humanoriented.com>

diff --git a/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml b/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml
index 3787b9e..4b95a5c 100644
--- a/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml
+++ b/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml
@@ -233,9 +233,9 @@
       </description>
 
       <arg name="surface_x" type="fixed"
-	   summary="x coordinate in surface local coordinates"/>
+	   summary="surface-local x coordinate"/>
       <arg name="surface_y" type="fixed"
-	   summary="y coordinate in surface local coordinates"/>
+	   summary="surface-local y coordinate"/>
     </request>
 
     <request name="set_region">

commit 5eb2a8d45a83f4cca936a7bcebe423b4ab3b29b4
Author: Yong Bakos <ybakos@humanoriented.com>
Date:   Mon Apr 11 17:23:03 2016 -0500

    fullscreen-shell: Correct spelling of parameter name
    
    Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
    Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
    Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>

diff --git a/unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml b/unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml
index 996ff93..7d141ee 100644
--- a/unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml
+++ b/unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml
@@ -87,7 +87,7 @@
 	wl_display.sync request immediately after binding to ensure that they
 	receive all the capability events.
       </description>
-      <arg name="capabilty" type="uint"/>
+      <arg name="capability" type="uint"/>
     </event>
 
     <enum name="present_method">

commit a8d7dce4e61b832172870f78cdb5f11b62f63fab
Author: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Date:   Wed Feb 24 10:40:33 2016 +0200

    stable/presentation-time: rephrase request intro
    
    Attempting to clarify the paragraph. The key points are that feedback is
    double-buffered, part of a commit as all double-buffered state is, and
    it defines the term "content update" used later.
    
    The new phrasing defines not only a content update, but also content
    submission which is used further on in the spec. It implies the
    double-buffered state semantics without actually using the term (it's
    not really state to be applied), and makes a link with the very next
    paragraph describing the prensentation time.
    
    Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
    Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>

diff --git a/stable/presentation-time/presentation-time.xml b/stable/presentation-time/presentation-time.xml
index 698ed96..e449b37 100644
--- a/stable/presentation-time/presentation-time.xml
+++ b/stable/presentation-time/presentation-time.xml
@@ -36,11 +36,10 @@
       presentation clock, which is defined in the
       presentation.clock_id event.
 
-      Request 'feedback' can be regarded as an additional wl_surface
-      method. It is part of the double-buffered surface state update
-      mechanism, where other requests first set up the state and then
-      wl_surface.commit atomically applies the state into use. In
-      other words, wl_surface.commit submits a content update.
+      A content update for a wl_surface is submitted by a
+      wl_surface.commit request. Request 'feedback' associates with
+      the wl_surface.commit and provides feedback on the content
+      update, particularly the final realized presentation time.
 
 <!-- Completing presentation -->
 

commit 79a417297699df6ade9b6363d7050a3c1e39c087
Author: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Date:   Wed Apr 13 10:56:39 2016 +0300

    stable/presentation-time: reorganize clock_id documentation
    
    Move compositor implementors' guidelines to the end. Recombine the
    affected paragraphs.
    
    No changes to the wording are made.
    
    Suggested-by: Bryce Harrington <bryce@osg.samsung.com>
    Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
    Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>

diff --git a/stable/presentation-time/presentation-time.xml b/stable/presentation-time/presentation-time.xml
index 00875a9..698ed96 100644
--- a/stable/presentation-time/presentation-time.xml
+++ b/stable/presentation-time/presentation-time.xml
@@ -99,18 +99,10 @@
         presentation interface. The presentation clock does not change
         during the lifetime of the client connection.
 
-        The clock identifier is platform dependent. Clients must be
-        able to query the current clock value directly, not by asking
-        the compositor.
-
-        On Linux/glibc, the identifier value is one of the clockid_t
-        values accepted by clock_gettime(). clock_gettime() is defined
-        by POSIX.1-2001.
-
-        Compositors should prefer a clock which does not jump and is
-        not slewed e.g. by NTP. The absolute value of the clock is
-        irrelevant. Precision of one millisecond or better is
-        recommended.
+        The clock identifier is platform dependent. On Linux/glibc,
+        the identifier value is one of the clockid_t values accepted
+        by clock_gettime(). clock_gettime() is defined by
+        POSIX.1-2001.
 
         Timestamps in this clock domain are expressed as tv_sec_hi,
         tv_sec_lo, tv_nsec triples, each component being an unsigned
@@ -122,6 +114,12 @@
         Note that clock_id applies only to the presentation clock,
         and implies nothing about e.g. the timestamps used in the
         Wayland core protocol input events.
+
+        Compositors should prefer a clock which does not jump and is
+        not slewed e.g. by NTP. The absolute value of the clock is
+        irrelevant. Precision of one millisecond or better is
+        recommended. Clients must be able to query the current clock
+        value directly, not by asking the compositor.
       </description>
 
       <arg name="clk_id" type="uint" summary="platform clock identifier"/>

commit 8e685a89ff7e55859af6eaeec1f9e8c80a598e60
Author: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Date:   Tue Feb 23 12:24:38 2016 +0200

    stable/presentation-time: grammatical improvements by Bryce
    
    Suggested-by: Bryce Harrington <bryce@osg.samsung.com>
    Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
    Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>

diff --git a/stable/presentation-time/presentation-time.xml b/stable/presentation-time/presentation-time.xml
index 2e68da6..00875a9 100644
--- a/stable/presentation-time/presentation-time.xml
+++ b/stable/presentation-time/presentation-time.xml
@@ -33,8 +33,8 @@
       The main feature of this interface is accurate presentation
       timing feedback to ensure smooth video playback while maintaining
       audio/video synchronization. Some features use the concept of a
-      presentation clock, which is defined in the presentation.clock_id
-      event.
+      presentation clock, which is defined in the
+      presentation.clock_id event.
 
       Request 'feedback' can be regarded as an additional wl_surface
       method. It is part of the double-buffered surface state update
@@ -65,9 +65,9 @@
 
     <request name="destroy" type="destructor">
       <description summary="unbind from the presentation interface">
-        Informs the server that the client will not be using this
-        protocol object anymore. This does not affect any existing
-        objects created by this interface.
+        Informs the server that the client will no longer be using
+        this protocol object. Existing objects created by this object
+        are not affected.
       </description>
     </request>
 
@@ -225,7 +225,7 @@
         chose. Having a stable presentation output association helps
         clients predict future output refreshes (vblank).
 
-        Argument 'refresh' gives the compositor's prediction of how
+        The 'refresh' argument gives the compositor's prediction of how
         many nanoseconds after tv_sec, tv_nsec the very next output
         refresh may occur. This is to further aid clients in
         predicting future refreshes, i.e., estimating the timestamps

commit 4f87fcf3a0c6b2337fafe2f3a01143f7482ddb9e
Author: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Date:   Tue Feb 23 11:48:54 2016 +0200

    stable/presentation-time: swap two paragraphs in 'presented'
    
    Associates better with the surrounding paragraphs by not jumping topics
    back and forth.
    
    Suggested-by: Bill Spitzak <spitzak@gmail.com>
    Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
    Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>

diff --git a/stable/presentation-time/presentation-time.xml b/stable/presentation-time/presentation-time.xml
index b8de4ca..2e68da6 100644
--- a/stable/presentation-time/presentation-time.xml
+++ b/stable/presentation-time/presentation-time.xml
@@ -232,6 +232,10 @@
         targeting the next few vblanks. If such prediction cannot
         usefully be done, the argument is zero.
 
+        If the output does not have a constant refresh rate, explicit
+        video mode switches excluded, then the refresh argument must
+        be zero.
+
         The 64-bit value combined from seq_hi and seq_lo is the value
         of the output's vertical retrace counter when the content
         update was first scanned out to the display. This value must
@@ -240,10 +244,6 @@
         path has a non-zero latency, the time instant specified by
         this counter may differ from the timestamp's.
 
-        If the output does not have a constant refresh rate, explicit
-        video mode switches excluded, then the refresh argument must
-        be zero.
-
         If the output does not have a concept of vertical retrace or a
         refresh cycle, or the output device is self-refreshing without
         a way to query the refresh count, then the arguments seq_hi

commit cec64ada953ec662f7f4bce9d87e346e3e6f0a0b
Author: Yong Bakos <ybakos@humanoriented.com>
Date:   Mon Apr 11 17:23:06 2016 -0500

    fullscreen-shell: Add missing xml declaration
    
    Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
    Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>

diff --git a/unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml b/unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml
index 4530938..996ff93 100644
--- a/unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml
+++ b/unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <protocol name="fullscreen_shell_unstable_v1">
 
   <interface name="zwp_fullscreen_shell_v1" version="1">

commit 1dd63b1d3b6b14fafc0bf6f7818cb9ca758a0465
Author: Yong Bakos <ybakos@humanoriented.com>
Date:   Mon Apr 11 17:23:05 2016 -0500

    pointer-gestures: Add missing xml declaration
    
    Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
    Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>

diff --git a/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml b/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml
index 26928d5..5b7132c 100644
--- a/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml
+++ b/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <protocol name="pointer_gestures_unstable_v1">
 
   <interface name="zwp_pointer_gestures_v1" version="1">

commit 6c6e646a484478ed4577c79d1c6c29ca34bd11e5
Author: Yong Bakos <ybakos@humanoriented.com>
Date:   Mon Apr 11 17:23:04 2016 -0500

    fullscreen-shell: Correct grammar, punctuation, minor naming and space
    
    Add missing periods that terminate sentences.


Reply to: