diff options
author | sheckylin@chromium.org <sheckylin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-03 11:16:05 +0000 |
---|---|---|
committer | sheckylin@chromium.org <sheckylin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-03 11:16:05 +0000 |
commit | 1a55c208ed07f8a869b880844d1653de14fab034 (patch) | |
tree | 01d57722496e1949275d42b874c6e26905c95f14 /ui/base/events | |
parent | 16fff6f5283598d424cd352c6d4bc37baee6b3b2 (diff) | |
download | chromium_src-1a55c208ed07f8a869b880844d1653de14fab034.zip chromium_src-1a55c208ed07f8a869b880844d1653de14fab034.tar.gz chromium_src-1a55c208ed07f8a869b880844d1653de14fab034.tar.bz2 |
Extend MouseWheelEvent to support both X and Y scrolls
The patch extends the ui::MouseWheelEvent class to support
X (horizontal) scrolls and updates the corresponding interface
in event_utils.h. It also revises throughout the codebase where
the old method calls were used.
Contributed by sheckylin@chromium.org
BUG=231419
TEST=Tested on device.
Change-Id: I86a7b6b62ec4ac8c296251a2333234170f1cd2e7
Review URL: https://chromiumcodereview.appspot.com/13829007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198086 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/base/events')
-rw-r--r-- | ui/base/events/event.cc | 8 | ||||
-rw-r--r-- | ui/base/events/event.h | 11 | ||||
-rw-r--r-- | ui/base/events/event_utils.h | 6 |
3 files changed, 15 insertions, 10 deletions
diff --git a/ui/base/events/event.cc b/ui/base/events/event.cc index 4c94464..495ad76 100644 --- a/ui/base/events/event.cc +++ b/ui/base/events/event.cc @@ -394,12 +394,14 @@ MouseWheelEvent::MouseWheelEvent(const base::NativeEvent& native_event) MouseWheelEvent::MouseWheelEvent(const ScrollEvent& scroll_event) : MouseEvent(scroll_event), - offset_(scroll_event.y_offset()) { + offset_(scroll_event.x_offset(), scroll_event.y_offset()){ SetType(ET_MOUSEWHEEL); } -MouseWheelEvent::MouseWheelEvent(const MouseEvent& mouse_event, int offset) - : MouseEvent(mouse_event), offset_(offset) { +MouseWheelEvent::MouseWheelEvent(const MouseEvent& mouse_event, + int x_offset, + int y_offset) + : MouseEvent(mouse_event), offset_(x_offset, y_offset) { DCHECK(type() == ET_MOUSEWHEEL); } diff --git a/ui/base/events/event.h b/ui/base/events/event.h index 8241ad4..fe746c0 100644 --- a/ui/base/events/event.h +++ b/ui/base/events/event.h @@ -406,7 +406,7 @@ class UI_EXPORT MouseWheelEvent : public MouseEvent { explicit MouseWheelEvent(const base::NativeEvent& native_event); explicit MouseWheelEvent(const ScrollEvent& scroll_event); - MouseWheelEvent(const MouseEvent& mouse_event, int offset); + MouseWheelEvent(const MouseEvent& mouse_event, int x_offset, int y_offset); template <class T> MouseWheelEvent(const MouseWheelEvent& model, @@ -415,15 +415,16 @@ class UI_EXPORT MouseWheelEvent : public MouseEvent { EventType type, int flags) : MouseEvent(model, source, target, type, flags), - offset_(model.offset_) { + offset_(model.x_offset(), model.y_offset()){ } // The amount to scroll. This is in multiples of kWheelDelta. - // Note: offset() > 0 means scroll up / left. - int offset() const { return offset_; } + // Note: x_offset() > 0/y_offset() > 0 means scroll left/up. + int x_offset() const { return offset_.x(); } + int y_offset() const { return offset_.y(); } private: - int offset_; + gfx::Vector2d offset_; DISALLOW_COPY_AND_ASSIGN(MouseWheelEvent); }; diff --git a/ui/base/events/event_utils.h b/ui/base/events/event_utils.h index 05ce2cd..aaa4a20 100644 --- a/ui/base/events/event_utils.h +++ b/ui/base/events/event_utils.h @@ -16,6 +16,7 @@ namespace gfx { class Point; +class Vector2d; } namespace base { @@ -72,8 +73,9 @@ UI_EXPORT bool IsMouseEvent(const base::NativeEvent& native_event); UI_EXPORT int GetChangedMouseButtonFlagsFromNative( const base::NativeEvent& native_event); -// Gets the mouse wheel offset from a native event. -UI_EXPORT int GetMouseWheelOffset(const base::NativeEvent& native_event); +// Gets the mouse wheel offsets from a native event. +UI_EXPORT gfx::Vector2d GetMouseWheelOffset( + const base::NativeEvent& native_event); // Gets the touch id from a native event. UI_EXPORT int GetTouchId(const base::NativeEvent& native_event); |