<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Don’t forget multitouch.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:andreasplesch@gmail.com">Andreas Plesch</a><br><b>Sent: </b>Wednesday, October 25, 2017 11:09 PM<br><b>To: </b><a href="mailto:michalis.kambi@gmail.com">Michalis Kamburelis</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a>; <a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Subject: </b>Re: [x3d-public] touchTime for all pointing device sensors ?</p></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>Thanks for great input.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I agree with everything and I am also not really sure about common use cases. Indeed, if there is a need for touchTime it would be possible to attach a TouchSensor in addition to a drag sensor to an UI element.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Here is the other side. It may be more constructive to ask if there is any inherent, fatal conflict which requires preventing a touchtime event. In 2d, html allows for essentially any element to emit an onclick event, suggesting there may be no potential conflicts.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>It is always up to the scene author to ensure a good UI experience. So the question may really be if the author should be given an option which may be misused but could be useful in some cases given that similar, but not identical options are already available.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Going through this argument, I am leaning towards just allowing touchtime events for all mouse sensors since it requires less code and does not impact performance.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>-Andreas</p><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>On Oct 25, 2017 7:19 PM, "Michalis Kamburelis" <<a href="mailto:michalis.kambi@gmail.com">michalis.kambi@gmail.com</a>> wrote:</p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><p class=MsoNormal style='margin-bottom:12.0pt'>2017-10-25 18:05 GMT+02:00 Andreas Plesch <<a href="mailto:andreasplesch@gmail.com">andreasplesch@gmail.com</a>>:<br>> touchTime is very similar to isActive except that the mouse still has<br>> to be over the shape when the mouse button is released. Since isOver<br>> and isActive are already fields for drag sensors, perhaps touchTime<br>> should be as well.<br>><br>> touchTime is often used to get a startTime for an TimeSensor to<br>> trigger an animation. So an example application would be have a drag<br>> sensor which also acts as a start button; a bit contrived but not very<br>> much so.<br>><br>> It is true that most of the times the mouse ends up outside of the<br>> shape after dragging. So touchTime would not be useful as a trigger to<br>> do something after dragging ends.<br>><br>> But I am looking more for examples where it would lead to some,<br>> unintended conflict if touchTime were used on a drag sensor.<br>></p></div><p class=MsoNormal>It is technically possible to implement touchTime on all<br>pointing-device sensors, indeed. But I'm not sure is there a good<br>use-case for it.<br><br>touchTime is like an "OnClick" event of numerous UI libraries.<br><br>If a drag sensor reacts to clicks (in addition to reacting to<br>dragging)... it feels a bit surprising (from the user's point of<br>view). When you drag something, you don't usually care where is the<br>pointer at the end, the only thing that matters is how far you<br>dragged. As you write, "most of the times the mouse ends up outside of<br>the shape after dragging". It could be surprising that some behavior<br>(generation of touchTime) is different depending on whether the mouse<br>was inside or outside the shape at the end.<br><br>Drag sensor is like a scrollbar in a traditional 2D UI, while<br>TouchSensor is like a button. Handling "clicks" on a drag sensor is a<br>bit like combining scrollbar with a button functionality. Traditional<br>UIs don't do it --- if you click on a scrollbar, without moving your<br>mouse, nothing happens.<br><br>None of this is a strong argument against adding touchTime to other<br>pointing-device sensors, so I may definitely be wrong :) I'm mostly<br>following my intuitions from 2D UI here.<br><br>Regards,<br>Michalis</p></blockquote></div></div></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>