[Development] Touch Points Update
franciscoraulortega at gmail.com
Sat Jun 8 19:16:56 CEST 2013
In the same moment
In the same session (for the application)
Sent from my iPhone
On Jun 8, 2013, at 1:06 PM, Francisco Ortega <franciscoraulortega at gmail.com> wrote:
> Hello all,
> I spoke to Oliver Wolf this past Monday (6/3/2013) and a few other members (#qt-labs) about the qtbase/src/plugins/platforms dealing with Touch. Like always, everyone is extremely helpful.
> I started talking about Windows having a few additional data members for a given touch point. Most importantly, I spoke about the unsigned long ID given by windows, which is not the same. Without going into much explanation here, I spoke in IRC that I used that unique ID to store touch points to a database to later reply them. The current id for a windows app running Qt does not does the same, since it can go from 0,1,2... and later 0,1,2,3 in the same moment. As most of you may guess, I could do something to fix this for me.
> However, I was thinking at a larger scale. Therefore, I went and check the three platforms that I have accessed to. Windows, Linux (Debian 7), and Mac OS X 10.8. Windows is the only platform that I know well.
> With the search, I found that Linux and MacOSX has what is already given by Qt. x,y,state. Linux also has a timestamp, which I didn't no see in QTouchEvents::TouchPoint (in linux is under time, but I think is a timestamp). Windows has the timestamp as well.
> Windows also has Cx,Cy which is the contact area. Not the most useful data at least with my Multi-Touch monitors (3M) because it gives me two values... but nevertheless, a value that is no there.
> With all this preamble, I would like to get to the meet of the change that I will submit and see if it gets reviewed. First, let me tell you what I discarded. I hope your feedback about all.
> (First ideas, that I decided not to go for)
> 1) Returning a void * to a platform structure, it is not a good idea, so is out.
> 2) Changing the current id (int) to unsigned long can have multiple unintended consequences to current code, that is best not to do it. So is out.
> 3) setting the platform id (windows) to the int by moding with a "MAX_INT" does not feel right to me.
> What I will change in the code and submit when ready is the following:
> 1) Create an interface to used a platformSpecificData() that will be the same across all Operating Systems. For example, say that we have data.cx for mac os x. Then this will simply be 0, the data.flags will specify if the data is available.
> I hope to receive feedback. I'm not sure if I can do it this month, since I have to submit a paper to a conference, but I will try. if not next week. Because the change may be more significant, is probably that even if review and accept it, it will take a while to make it to the stable release. However, I think this is the best option.
> Once again, I thank you for all the feedback and continue support here and in Irc.
> Other contributions in the future that I hope to be involved is the "Leap Motion" which I will be getting soon and some MEMS that I have already received. I like input and please consider me for any work you may need.
> Francisco R. Ortega
> Ph.D. Candidate in Computer Science
> Florida International University
> "No me quieras por que gane, necesito que me quieras para ganar" -- Marcelo Bielsa
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Development