diff options
author | Romain Pokrzywka <romain.pokrzywka@gmail.com> | 2019-07-12 11:23:20 -0500 |
---|---|---|
committer | Romain Pokrzywka <romain.pokrzywka@gmail.com> | 2019-07-16 12:44:19 -0500 |
commit | e67b573611bef64a1cae30f0e1923dff15594cb4 (patch) | |
tree | 9c61fec19dccd70137f7dd37201ad3fbe1a62e08 /src/core/render_widget_host_view_qt.cpp | |
parent | 59cccabf1dce66304b0ed7d5e66305dd35b7f29c (diff) |
Pass an accurate touchpoint ToolType to Chromium
QTouchEvent::TouchPoint's flags() specifies the tool type (pen, finger)
for the touchpoint, so we can forward that information to Chromium.
This allows proper touch handling in web pages that depend on
the touch type property detect finger/pen touches.
Change-Id: Ib6069a057249ef2776a6b315bc71c75d14c9b673
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/core/render_widget_host_view_qt.cpp')
-rw-r--r-- | src/core/render_widget_host_view_qt.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp index 994e3a3d6..4407e706e 100644 --- a/src/core/render_widget_host_view_qt.cpp +++ b/src/core/render_widget_host_view_qt.cpp @@ -237,7 +237,10 @@ public: float GetHistoricalTouchMajor(size_t pointer_index, size_t historical_index) const override { return 0; } float GetHistoricalX(size_t pointer_index, size_t historical_index) const override { return 0; } float GetHistoricalY(size_t pointer_index, size_t historical_index) const override { return 0; } - ToolType GetToolType(size_t pointer_index) const override { return ui::MotionEvent::ToolType::FINGER; } + ToolType GetToolType(size_t pointer_index) const override { + return (touchPoints.at(pointer_index).flags() & QTouchEvent::TouchPoint::InfoFlag::Pen) ? ui::MotionEvent::ToolType::STYLUS + : ui::MotionEvent::ToolType::FINGER; + } int GetButtonState() const override { return 0; } private: |