Using ui::TouchEvent makes scroll / pinch gestures coarse

Bug #1552161 reported by Chris Coulson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
Fix Released
High
Chris Coulson

Bug Description

The lifetime of a touch event in Oxide before we pass it to Chromium is:

QTouchEvent -> ui::TouchEvent -> ui::MotionEvent.

Touch co-ordinates are in device independent pixels, and Qt provides these as floats. The constructor for ui::TouchEvent requires us to round the co-ordinates to the nearest integer because it takes a gfx::Point.

This causes a problem - it means that the smallest touch point movement is 1 device-independent pixel, which could be 2 or 3 physical pixels depending on the device scale. This makes scrolling and pinch-zooming appear coarse compared to Chrome/Android (where it's possible to scroll by single physical pixels).

As ui::MotionEvent works with floats, I suggest we just cut out the middleman here and stop using ui::TouchEvent entirely.

Changed in oxide:
importance: Undecided → High
status: New → Triaged
assignee: nobody → Chris Coulson (chrisccoulson)
milestone: none → branch-1.14
Changed in oxide:
status: Triaged → In Progress
Changed in oxide:
milestone: branch-1.14 → branch-1.15
Changed in oxide:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.