diff options
author | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-05 07:13:21 +0000 |
---|---|---|
committer | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-05 07:13:21 +0000 |
commit | fe245ae465ec8fa8919d31545bb5ddae0b8bd79c (patch) | |
tree | 18adc19a212767c1652e55890bd872621e2c1a23 /views/events | |
parent | 434c45b8588b6c49f2e3ab90c080b613d2cc182f (diff) | |
download | chromium_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.cc | 17 |
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: |