ubuntu-webapps-bugs team mailing list archive
-
ubuntu-webapps-bugs team
-
Mailing list archive
-
Message #03842
[Bug 1552161] [NEW] Using ui::TouchEvent makes scroll / pinch gestures coarse
Public bug reported:
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.
** Affects: oxide
Importance: High
Assignee: Chris Coulson (chrisccoulson)
Status: Triaged
** Changed in: oxide
Importance: Undecided => High
** Changed in: oxide
Status: New => Triaged
** Changed in: oxide
Assignee: (unassigned) => Chris Coulson (chrisccoulson)
** Changed in: oxide
Milestone: None => branch-1.14
--
You received this bug notification because you are a member of Ubuntu
WebApps bug tracking, which is subscribed to Oxide.
https://bugs.launchpad.net/bugs/1552161
Title:
Using ui::TouchEvent makes scroll / pinch gestures coarse
Status in Oxide:
Triaged
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/oxide/+bug/1552161/+subscriptions
Follow ups