summaryrefslogtreecommitdiffstats
path: root/ui/base/events
diff options
context:
space:
mode:
authorsheckylin@chromium.org <sheckylin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-03 11:16:05 +0000
committersheckylin@chromium.org <sheckylin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-03 11:16:05 +0000
commit1a55c208ed07f8a869b880844d1653de14fab034 (patch)
tree01d57722496e1949275d42b874c6e26905c95f14 /ui/base/events
parent16fff6f5283598d424cd352c6d4bc37baee6b3b2 (diff)
downloadchromium_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.cc8
-rw-r--r--ui/base/events/event.h11
-rw-r--r--ui/base/events/event_utils.h6
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);