Index: ui/base/gtk/events_gtk.cc |
diff --git a/views/events/event_gtk.cc b/ui/base/gtk/events_gtk.cc |
old mode 100644 |
new mode 100755 |
similarity index 55% |
copy from views/events/event_gtk.cc |
copy to ui/base/gtk/events_gtk.cc |
index 13c8a8d67c2f0b1669102d3402756159a0109422..609edee0ad1a40c222144909891b9abc863dc946 |
--- a/views/events/event_gtk.cc |
+++ b/ui/base/gtk/events_gtk.cc |
@@ -2,75 +2,17 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "views/events/event.h" |
+#include "ui/base/events.h" |
#include <gdk/gdk.h> |
#include "base/logging.h" |
#include "ui/base/keycodes/keyboard_code_conversion_gtk.h" |
- |
-namespace views { |
+#include "ui/gfx/point.h" |
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: |
- return ui::ET_KEY_PRESSED; |
- case GDK_KEY_RELEASE: |
- 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: |
- NOTREACHED(); |
- break; |
- } |
- return ui::ET_UNKNOWN; |
-} |
- |
-GdkEventKey* GetGdkEventKeyFromNative(NativeEvent native_event) { |
- DCHECK(native_event->type == GDK_KEY_PRESS || |
- native_event->type == GDK_KEY_RELEASE); |
- return &native_event->key; |
-} |
- |
-gfx::Point GetMouseEventLocation(NativeEvent native_event) { |
- double x = 0, y = 0; |
- if (gdk_event_get_coords(native_event, &x, &y)) |
- return gfx::Point(static_cast<int>(x), static_cast<int>(y)); |
- return gfx::Point(); |
-} |
- |
-int GetMouseWheelOffset(NativeEvent native_event) { |
- DCHECK(native_event->type == GDK_SCROLL); |
- int offset = (native_event->scroll.direction == GDK_SCROLL_UP || |
- native_event->scroll.direction == GDK_SCROLL_LEFT) ? 1 : -1; |
- return MouseWheelEvent::kWheelDelta * offset; |
-} |
- |
-unsigned int GetGdkStateFromNative(NativeEvent native_event) { |
+unsigned int GetGdkStateFromNative(const ui::NativeEvent& native_event) { |
switch (native_event->type) { |
case GDK_KEY_PRESS: |
case GDK_KEY_RELEASE: |
@@ -108,11 +50,46 @@ int GetFlagsFromGdkState(unsigned int state) { |
} // namespace |
-//////////////////////////////////////////////////////////////////////////////// |
-// Event, public: |
+namespace ui { |
-// static |
-int Event::GetFlagsFromGdkEvent(NativeEvent native_event) { |
+EventType EventTypeFromNative(const ui::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 ET_MOUSE_PRESSED; |
+ case GDK_BUTTON_RELEASE: |
+ return ET_MOUSE_RELEASED; |
+ case GDK_DRAG_MOTION: |
+ return ET_MOUSE_DRAGGED; |
+ case GDK_ENTER_NOTIFY: |
+ return ET_MOUSE_ENTERED; |
+ case GDK_KEY_PRESS: |
+ return ET_KEY_PRESSED; |
+ case GDK_KEY_RELEASE: |
+ return ET_KEY_RELEASED; |
+ case GDK_LEAVE_NOTIFY: |
+ return 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 ET_MOUSE_DRAGGED; |
+ } |
+ return ET_MOUSE_MOVED; |
+ case GDK_SCROLL: |
+ return ET_MOUSEWHEEL; |
+ default: |
+ NOTREACHED(); |
+ break; |
+ } |
+ return ET_UNKNOWN; |
+} |
+ |
+int EventFlagsFromNative(const ui::NativeEvent& native_event) { |
int flags = GetFlagsFromGdkState(GetGdkStateFromNative(native_event)); |
if (native_event->type == GDK_2BUTTON_PRESS) |
flags |= ui::EF_IS_DOUBLE_CLICK; |
@@ -132,54 +109,33 @@ int Event::GetFlagsFromGdkEvent(NativeEvent native_event) { |
return flags; |
} |
-//////////////////////////////////////////////////////////////////////////////// |
-// Event, private: |
- |
-void Event::Init() { |
- native_event_ = NULL; |
- native_event_2_ = NULL; |
-} |
- |
-void Event::InitWithNativeEvent(NativeEvent native_event) { |
- native_event_ = native_event; |
- // TODO(beng): remove once we rid views of Gtk/Gdk. |
- native_event_2_ = NULL; |
-} |
- |
-//////////////////////////////////////////////////////////////////////////////// |
-// LocatedEvent, protected: |
- |
-LocatedEvent::LocatedEvent(NativeEvent native_event) |
- : Event(native_event, EventTypeFromNative(native_event), |
- GetFlagsFromGdkEvent(native_event)), |
- location_(GetMouseEventLocation(native_event)) { |
+gfx::Point EventLocationFromNative(const ui::NativeEvent& native_event) { |
+ double x = 0, y = 0; |
+ if (gdk_event_get_coords(native_event, &x, &y)) |
+ return gfx::Point(static_cast<int>(x), static_cast<int>(y)); |
+ return gfx::Point(); |
} |
-//////////////////////////////////////////////////////////////////////////////// |
-// MouseEvent, public: |
- |
-MouseEvent::MouseEvent(NativeEvent native_event) |
- : LocatedEvent(native_event) { |
+KeyboardCode KeyboardCodeFromNative(const NativeEvent& native_event) { |
+ DCHECK(native_event->type == GDK_KEY_PRESS || |
+ native_event->type == GDK_KEY_RELEASE); |
+ return KeyboardCodeFromGdkEventKey(&native_event->key); |
} |
-//////////////////////////////////////////////////////////////////////////////// |
-// KeyEvent, public: |
-KeyEvent::KeyEvent(NativeEvent native_event) |
- : Event(native_event, EventTypeFromNative(native_event), |
- GetFlagsFromGdkEvent(native_event)), |
- key_code_(ui::KeyboardCodeFromGdkEventKey( |
- GetGdkEventKeyFromNative(native_event))), |
- character_(0), |
- unmodified_character_(0) { |
+bool IsMouseEvent(const ui::NativeEvent& native_event) { |
+ return native_event->type == GDK_MOTION_NOTIFY || |
+ native_event->type == GDK_BUTTON_PRESS || |
+ native_event->type == GDK_2BUTTON_PRESS || |
+ native_event->type == GDK_3BUTTON_PRESS || |
+ native_event->type == GDK_BUTTON_RELEASE; |
} |
-//////////////////////////////////////////////////////////////////////////////// |
-// MouseWheelEvent, public: |
- |
-MouseWheelEvent::MouseWheelEvent(NativeEvent native_event) |
- : MouseEvent(native_event), |
- offset_(GetMouseWheelOffset(native_event)) { |
+int GetMouseWheelOffset(const ui::NativeEvent& native_event) { |
+ DCHECK(native_event->type == GDK_SCROLL); |
+ int offset = (native_event->scroll.direction == GDK_SCROLL_UP || |
+ native_event->scroll.direction == GDK_SCROLL_LEFT) ? 1 : -1; |
+ return offset; |
} |
-} // namespace views |
+} // namespace ui |