<div dir="ltr">Thanks for catching my ESL mistakes, Yong! :)<div><br></div><div>I am uploading an updated version!</div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Nov 3, 2016 at 7:39 PM Yong Bakos <<a href="mailto:junk@humanoriented.com">junk@humanoriented.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Dennis,<br class="gmail_msg">
<br class="gmail_msg">
> On Nov 3, 2016, at 3:52 PM, Dennis Kempin <<a href="mailto:denniskempin@google.com" class="gmail_msg" target="_blank">denniskempin@google.com</a>> wrote:<br class="gmail_msg">
><br class="gmail_msg">
> This CL updates the wl_touch interface with a shape and<br class="gmail_msg">
> orientation event.<br class="gmail_msg">
> The shape/orientation of a touch point is not relevant for most UI<br class="gmail_msg">
> applications, but allows a better experience in some cases<br class="gmail_msg">
> such as drawing apps.<br class="gmail_msg">
><br class="gmail_msg">
> The events are used by the compositor to inform the client<br class="gmail_msg">
> about changes in the shape and orientation of a touchpoint, which is<br class="gmail_msg">
> approximated by an ellipse and it's angle to the y-axis.<br class="gmail_msg">
><br class="gmail_msg">
> The event is optional and only sent when compositor and the<br class="gmail_msg">
> touch device support this type of information. The client is<br class="gmail_msg">
> responsible for making a reasonable assumption about the<br class="gmail_msg">
> touch shape if no shape is reported.<br class="gmail_msg">
><br class="gmail_msg">
> Signed-off-by: Dennis Kempin <<a href="mailto:denniskempin@google.com" class="gmail_msg" target="_blank">denniskempin@google.com</a>><br class="gmail_msg">
<br class="gmail_msg">
My apologies for not noticing the following sooner, but some issues are noted<br class="gmail_msg">
inline below. Also, the line lengths of those descriptions should max out at<br class="gmail_msg">
80 characters (please). I've noted them inline for convenience.<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
> ---<br class="gmail_msg">
> protocol/wayland.xml | 79 +++++++++++++++++++++++++++++++++++++++++++++++++---<br class="gmail_msg">
> 1 file changed, 75 insertions(+), 4 deletions(-)<br class="gmail_msg">
><br class="gmail_msg">
> diff --git a/protocol/wayland.xml b/protocol/wayland.xml<br class="gmail_msg">
> index 6c6d078..31902e6 100644<br class="gmail_msg">
> --- a/protocol/wayland.xml<br class="gmail_msg">
> +++ b/protocol/wayland.xml<br class="gmail_msg">
> @@ -1669,7 +1669,7 @@<br class="gmail_msg">
>     </request><br class="gmail_msg">
>    </interface><br class="gmail_msg">
><br class="gmail_msg">
> -  <interface name="wl_seat" version="5"><br class="gmail_msg">
> +  <interface name="wl_seat" version="6"><br class="gmail_msg">
>     <description summary="group of input devices"><br class="gmail_msg">
>       A seat is a group of keyboards, pointer and touch devices. This<br class="gmail_msg">
>       object is published as a global during start up, or when such a<br class="gmail_msg">
> @@ -1778,7 +1778,7 @@<br class="gmail_msg">
><br class="gmail_msg">
>   </interface><br class="gmail_msg">
><br class="gmail_msg">
> -  <interface name="wl_pointer" version="5"><br class="gmail_msg">
> +  <interface name="wl_pointer" version="6"><br class="gmail_msg">
>     <description summary="pointer input device"><br class="gmail_msg">
>       The wl_pointer interface represents one or more input devices,<br class="gmail_msg">
>       such as mice, which control the pointer location and pointer_focus<br class="gmail_msg">
> @@ -2092,7 +2092,7 @@<br class="gmail_msg">
>     </event><br class="gmail_msg">
>   </interface><br class="gmail_msg">
><br class="gmail_msg">
> -  <interface name="wl_keyboard" version="5"><br class="gmail_msg">
> +  <interface name="wl_keyboard" version="6"><br class="gmail_msg">
>     <description summary="keyboard input device"><br class="gmail_msg">
>       The wl_keyboard interface represents one or more keyboards<br class="gmail_msg">
>       associated with a seat.<br class="gmail_msg">
> @@ -2256,7 +2256,14 @@<br class="gmail_msg">
><br class="gmail_msg">
>     <event name="frame"><br class="gmail_msg">
>       <description summary="end of touch frame event"><br class="gmail_msg">
> -     Indicates the end of a contact point list.<br class="gmail_msg">
> +     Indicates the end of a set of events that logically belong together.<br class="gmail_msg">
> +     A client is expected to accumulate the data in all events within the<br class="gmail_msg">
> +     frame before proceeding.<br class="gmail_msg">
> +<br class="gmail_msg">
> +     A wl_touch.frame terminates at least one event but otherwise no<br class="gmail_msg">
> +     guarantee is provided about the set of events within a frame. A client<br class="gmail_msg">
> +     must assume that any state not updated in a frame is unchanged from the<br class="gmail_msg">
> +     previously known state.<br class="gmail_msg">
>       </description><br class="gmail_msg">
>     </event><br class="gmail_msg">
><br class="gmail_msg">
> @@ -2276,6 +2283,70 @@<br class="gmail_msg">
>     <request name="release" type="destructor" since="3"><br class="gmail_msg">
>       <description summary="release the touch object"/><br class="gmail_msg">
>     </request><br class="gmail_msg">
> +<br class="gmail_msg">
> +    <!-- Version 6 additions --><br class="gmail_msg">
> +<br class="gmail_msg">
> +    <event name="shape" since="6"><br class="gmail_msg">
> +      <description summary="update shape of touch point"><br class="gmail_msg">
> +     Sent when a touchpoint has changed its shape.<br class="gmail_msg">
> +<br class="gmail_msg">
> +     This event event does not occur on its own. It is sent before a<br class="gmail_msg">
<br class="gmail_msg">
This event does not...<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
> +     wl_touch.frame event and carries the new shape information for<br class="gmail_msg">
> +     any previously reported, or new touch points of that frame.<br class="gmail_msg">
> +<br class="gmail_msg">
> +     Other events describing the touch point such as wl_touch.down,<br class="gmail_msg">
> +     wl_touch.motion or wl_touch.orientation may be sent within the<br class="gmail_msg">
> +     same wl_touch.frame. A client should treat these events as a single<br class="gmail_msg">
> +     logical touch point update. The order of wl_touch.shape,<br class="gmail_msg">
> +     wl_touch.orientation and wl_touch.motion is not guaranteed.<br class="gmail_msg">
> +     A wl_touch.down event is guaranteed to occur before the first<br class="gmail_msg">
> +     wl_touch.shape event for this touch ID but both events may occur within the<br class="gmail_msg">
<br class="gmail_msg">
Above line exceeds 80 characters followed by other protocol descriptions.<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
> +     same wl_touch.frame.<br class="gmail_msg">
> +<br class="gmail_msg">
> +     A touchpoint shape is approximated by an ellipse through the major and<br class="gmail_msg">
> +     minor axis length. The major axis length describes the longer diameter<br class="gmail_msg">
> +     of the ellipse, while the minor axis length describes the shorter<br class="gmail_msg">
> +     diameter. Major and minor are orthogonal and both are specified in<br class="gmail_msg">
> +     surface-local coordinates. The center of the ellipse is always at the<br class="gmail_msg">
> +     touchpoint location as reported by wl_touch.down or wl_touch.move.<br class="gmail_msg">
> +<br class="gmail_msg">
> +     This event is only sent by the compositor if the touch device supports shape<br class="gmail_msg">
> +     reports. The client has to make reasonable assumptions about the shape if<br class="gmail_msg">
<br class="gmail_msg">
The two lines above exceed 80 characters followed by other protocol descriptions.<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
> +     it did not receive this event.<br class="gmail_msg">
> +      </description><br class="gmail_msg">
> +      <arg name="id" type="int" summary="the unique ID of this touch point"/><br class="gmail_msg">
> +      <arg name="major" type="fixed" summary="length of the major axis in surface-local coordinates"/><br class="gmail_msg">
> +      <arg name="minor" type="fixed" summary="length of the minor axis in surface-local coordinates"/><br class="gmail_msg">
> +    </event><br class="gmail_msg">
> +<br class="gmail_msg">
> +    <event name="orientation" since="6"><br class="gmail_msg">
> +      <description summary="update orientation of touch point"><br class="gmail_msg">
> +     Sent when a touchpoint has changed its orientation.<br class="gmail_msg">
> +<br class="gmail_msg">
> +     This event event does not occur on its own. It is sent before a<br class="gmail_msg">
> +     wl_touch.frame event and carries the new shape information for<br class="gmail_msg">
> +     any previously reported, or new touch points of that frame.<br class="gmail_msg">
> +<br class="gmail_msg">
> +     Other events describing the touch point such as wl_touch.down,<br class="gmail_msg">
> +     wl_touch.motion or wl_touch.shape may be sent within the<br class="gmail_msg">
> +     same wl_touch.frame. A client should treat these events as a single<br class="gmail_msg">
> +     logical touch point update. The order of wl_touch.shape,<br class="gmail_msg">
> +     wl_touch.orientation and wl_touch.motion is not guaranteed.<br class="gmail_msg">
> +     A wl_touch.down event is guaranteed to occur before the first<br class="gmail_msg">
> +     wl_touch.orientation event for this touch ID but both events may occur<br class="gmail_msg">
> +     within the same wl_touch.frame.<br class="gmail_msg">
> +<br class="gmail_msg">
> +     The orientation describes the clockwise angle of a touchpoint's major axis to<br class="gmail_msg">
> +     the positive surface y-axis and is normalized to the -180 to +180 degrees range.<br class="gmail_msg">
<br class="gmail_msg">
-180 to +180 degree range.<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
> +     The granuality of orientation depends on the touch device, some devices only<br class="gmail_msg">
<br class="gmail_msg">
The granularity of...<br class="gmail_msg">
<br class="gmail_msg">
Above three lines exceeds 80 characters followed by other protocol descriptions.<br class="gmail_msg">
<br class="gmail_msg">
Regards,<br class="gmail_msg">
yong<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
> +     support binary rotation values between 0 and 90 degrees.<br class="gmail_msg">
> +<br class="gmail_msg">
> +     This event is only sent by the compositor if the touch device supports<br class="gmail_msg">
> +     orientation reports.<br class="gmail_msg">
> +      </description><br class="gmail_msg">
> +      <arg name="id" type="int" summary="the unique ID of this touch point"/><br class="gmail_msg">
> +      <arg name="orientation" type="fixed" summary="angle between major axis and positive surface y-axis in degrees"/><br class="gmail_msg">
> +    </event><br class="gmail_msg">
>   </interface><br class="gmail_msg">
><br class="gmail_msg">
>   <interface name="wl_output" version="3"><br class="gmail_msg">
> --<br class="gmail_msg">
> 2.8.0.rc3.226.g39d4020<br class="gmail_msg">
><br class="gmail_msg">
> _______________________________________________<br class="gmail_msg">
> wayland-devel mailing list<br class="gmail_msg">
> <a href="mailto:wayland-devel@lists.freedesktop.org" class="gmail_msg" target="_blank">wayland-devel@lists.freedesktop.org</a><br class="gmail_msg">
> <a href="https://lists.freedesktop.org/mailman/listinfo/wayland-devel" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br class="gmail_msg">
<br class="gmail_msg">
</blockquote></div>