<div dir="ltr">I never finished applying the suggestions from the previous reviews. Now that I am finally getting through my backlog of issues, I have fixed following:<div><br></div><div>- Fixed indentation</div><div>- Updated wording of frame and shape/orientation descriptions</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 31, 2016 at 1:02 PM, Dennis Kempin <span dir="ltr"><<a href="mailto:denniskempin@google.com" target="_blank">denniskempin@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>This CL updates the wl_touch interface with a shape and<br></div><div>orientation event.</div><div>The shape/orientation of a touch point is not relevant for most UI</div><div>applications, but allows a better experience in some cases</div><div>such as drawing apps.</div><div><br></div><div>The events are used by the compositor to inform the client</div><div>about changes in the shape and orientation of a touchpoint, which is</div><div>approximated by an ellipse and it's angle to the y-axis.</div><div><br></div><div>The event is optional and only sent when compositor and the</div><div>touch device support this type of information. The client is</div><div>responsible for making a reasonable assumption about the</div><div>touch shape if no shape is reported.</div><div><br></div><div>Signed-off-by: Dennis Kempin <<a href="mailto:denniskempin@google.com" target="_blank">denniskempin@google.com</a>></div><div>---</div><div> protocol/wayland.xml | 74 ++++++++++++++++++++++++++++++<wbr>+++++++++++++++++++---</div><div> 1 file changed, 70 insertions(+), 4 deletions(-)</div><div><br></div><div>diff --git a/protocol/wayland.xml b/protocol/wayland.xml</div><div>index 6c6d078..9d1407b 100644</div><div>--- a/protocol/wayland.xml</div><div>+++ b/protocol/wayland.xml</div><div>@@ -1669,7 +1669,7 @@</div><div>     </request></div><div>    </interface></div><div><br></div><div>-  <interface name="wl_seat" version="5"></div><div>+  <interface name="wl_seat" version="6"></div><div>     <description summary="group of input devices"></div><div>       A seat is a group of keyboards, pointer and touch devices. This</div><div>       object is published as a global during start up, or when such a</div><div>@@ -1778,7 +1778,7 @@</div><div><br></div><div>   </interface></div><div><br></div><div>-  <interface name="wl_pointer" version="5"></div><div>+  <interface name="wl_pointer" version="6"></div><div>     <description summary="pointer input device"></div><div>       The wl_pointer interface represents one or more input devices,</div><div>       such as mice, which control the pointer location and pointer_focus</div><div>@@ -2092,7 +2092,7 @@</div><div>     </event></div><div>   </interface></div><div><br></div><div>-  <interface name="wl_keyboard" version="5"></div><div>+  <interface name="wl_keyboard" version="6"></div><div>     <description summary="keyboard input device"></div><div>       The wl_keyboard interface represents one or more keyboards</div><div>       associated with a seat.</div><div>@@ -2256,7 +2256,13 @@</div><div><br></div><div>     <event name="frame"></div><div>       <description summary="end of touch frame event"></div><div>-<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">   </span>Indicates the end of a contact point list.</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">  </span>Indicates the end of a set of events that logically belong together.</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">        </span>A client is expected to accumulate the data in all events within the</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">        </span>frame before proceeding.</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">    </span>A wl_touch.frame terminates at least one event but otherwise no</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">     </span>guarantee is provided about the set of events within a frame.</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">       </span>A client must assume that any state not updated in a frame is unchanged</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">     </span>from the previously known state.</div><div>       </description></div><div>     </event></div><div><br></div><div>@@ -2276,6 +2282,66 @@</div><div>     <request name="release" type="destructor" since="3"></div><div>       <description summary="release the touch object"/></div><div>     </request></div><div>+</div><div>+    <!-- Version 6 additions --></div><div>+</div><div>+    <event name="shape" since="6"></div><div>+      <description summary="update shape of touch point"></div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">        </span>Sent when a touchpoint has changed its shape.</div><div>+</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">       </span>This event event does not occur on its own. It is sent before a</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">     </span>wl_touch.frame event and carries the new shape information for</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">      </span>the specific touch points for that frame.</div><div>+</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">   </span>Other events describing the touch point such as wl_touch.motion or</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">  </span>wl_touch.orientation may be sent within the same wl_touch.frame. A</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">  </span>client should treat these events as a single logical touch point update.</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">    </span>The order of wl_touch.shape, wl_touch.orientation and wl_touch.motion is</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">    </span>not guaranteed.</div><div>+</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">     </span>A touchpoint shape is approximated by an ellipse through the major and</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">      </span>minor axis length. The major axis length describes the longer diameter</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">      </span>of the ellipse, while the minor axis length describes the shorter</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">   </span>diameter. Major and minor are orthogonal and both are specified in</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">  </span>surface coordinates. The center of the ellipse is always at the</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">     </span>touchpoint location as reported by wl_touch.down or wl_touch.move.</div><div>+</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">  </span>This event is only sent by the compositor if the touch device supports shape</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">        </span>reports. The client has to make reasonable assumptions about the shape if</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">   </span>it did not receive this event.</div><div>+      </description></div><div>+      <arg name="id" type="int" summary="the unique ID of this touch point"/></div><div>+      <arg name="major" type="fixed" summary="length of the major axis in surface-local coordinates"/></div><div>+      <arg name="minor" type="fixed" summary="length of the minor axis in surface-local coordinates"/></div><div>+    </event></div><div>+</div><div>+    <event name="orientation" since="6"></div><div>+      <description summary="update orientation of touch point"></div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap"> </span>Sent when a touchpoint has changed its orientation.</div><div>+</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap"> </span>Other events describing the touch point such as wl_touch.motion or</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">  </span>wl_touch.shape may be sent within the same wl_touch.frame. A client</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap"> </span>should treat these events as a single logical touch point update.</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">   </span>The order of wl_touch.shape, wl_touch.orientation and wl_touch.motion is</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">    </span>not guaranteed.</div><div>+</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">     </span>This event may be sent alone or together with other events</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">  </span>describing the touch point, such as wl_touch.motion and</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">     </span>wl_touch.orientation. The order of wl_touch.shape,</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">  </span>wl_touch.orientation and wl_touch.motion is not guaranteed.</div><div>+</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap"> </span>The orientation describes the clockwise angle of touchpoints major axis to</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">  </span>the surface y-axis and is normalized to the -180 to +180 degrees range.</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">     </span>The granuality of orientation depends on the touch device, some devices only</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">        </span>support binary rotation values between 0 and 90 degrees.</div><div>+</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">    </span>This event is only sent by the compositor if the touch device supports</div><div>+<span class="m_2630597819525173314gmail-Apple-tab-span" style="white-space:pre-wrap">      </span>orientation reports.</div><div>+      </description></div><div>+      <arg name="id" type="int" summary="the unique ID of this touch point"/></div><div>+      <arg name="orientation" type="fixed" summary="angle between major axis and positive surface y-axis in degrees"/></div><div>+    </event></div><div>+</div><div>   </interface></div><div><br></div><div>   <interface name="wl_output" version="3"></div><div>--</div><div>2.8.0.rc3.226.g39d4020</div></div>
</blockquote></div><br></div>