summaryrefslogtreecommitdiffstats
path: root/views/events
diff options
context:
space:
mode:
authormsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-05 07:13:21 +0000
committermsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-05 07:13:21 +0000
commitfe245ae465ec8fa8919d31545bb5ddae0b8bd79c (patch)
tree18adc19a212767c1652e55890bd872621e2c1a23 /views/events
parent434c45b8588b6c49f2e3ab90c080b613d2cc182f (diff)
downloadchromium_src-fe245ae465ec8fa8919d31545bb5ddae0b8bd79c.zip
chromium_src-fe245ae465ec8fa8919d31545bb5ddae0b8bd79c.tar.gz
chromium_src-fe245ae465ec8fa8919d31545bb5ddae0b8bd79c.tar.bz2
Transform GdkEvents for simpler MouseEvent construction.
Handle MouseWheelEvent in Widget::OnMouseEvent. BUG=72040 TEST=Mouse interaction on linux_views Review URL: http://codereview.chromium.org/6720025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80420 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/events')
-rw-r--r--views/events/event_gtk.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/views/events/event_gtk.cc b/views/events/event_gtk.cc
index 7e2d1e0..aaa6723 100644
--- a/views/events/event_gtk.cc
+++ b/views/events/event_gtk.cc
@@ -16,6 +16,14 @@ namespace {
ui::EventType EventTypeFromNative(NativeEvent native_event) {
// Add new event types as necessary.
switch (native_event->type) {
+ case GDK_2BUTTON_PRESS:
+ case GDK_3BUTTON_PRESS:
+ case GDK_BUTTON_PRESS:
+ return ui::ET_MOUSE_PRESSED;
+ case GDK_BUTTON_RELEASE:
+ return ui::ET_MOUSE_RELEASED;
+ case GDK_DRAG_MOTION:
+ return ui::ET_MOUSE_DRAGGED;
case GDK_ENTER_NOTIFY:
return ui::ET_MOUSE_ENTERED;
case GDK_KEY_PRESS:
@@ -24,6 +32,15 @@ ui::EventType EventTypeFromNative(NativeEvent native_event) {
return ui::ET_KEY_RELEASED;
case GDK_LEAVE_NOTIFY:
return ui::ET_MOUSE_EXITED;
+ case GDK_MOTION_NOTIFY:
+ if (native_event->motion.state & GDK_BUTTON1_MASK ||
+ native_event->motion.state & GDK_BUTTON2_MASK ||
+ native_event->motion.state & GDK_BUTTON3_MASK ||
+ native_event->motion.state & GDK_BUTTON4_MASK ||
+ native_event->motion.state & GDK_BUTTON5_MASK) {
+ return ui::ET_MOUSE_DRAGGED;
+ }
+ return ui::ET_MOUSE_MOVED;
case GDK_SCROLL:
return ui::ET_MOUSEWHEEL;
default: