diff options
Diffstat (limited to 'views/events/event.cc')
-rw-r--r-- | views/events/event.cc | 70 |
1 files changed, 52 insertions, 18 deletions
diff --git a/views/events/event.cc b/views/events/event.cc index a8db132..c9cfecc 100644 --- a/views/events/event.cc +++ b/views/events/event.cc @@ -17,36 +17,45 @@ Event::Event(ui::EventType type, int flags) : type_(type), time_stamp_(base::Time::NowFromSystemTime()), flags_(flags) { - Init(); + // Safely initialize the pointer/struct to null/empty. + memset(&native_event_, 0, sizeof(native_event_)); +#if defined(TOOLKIT_USES_GTK) + gdk_event_ = NULL; +#endif } -Event::Event(NativeEvent native_event, ui::EventType type, int flags) - : type_(type), - time_stamp_(base::Time::NowFromSystemTime()), - flags_(flags) { - InitWithNativeEvent(native_event); -} - -Event::Event(NativeEvent2 native_event_2, ui::EventType type, int flags, - FromNativeEvent2 from_native) - : native_event_2_(native_event_2), +Event::Event(const NativeEvent& native_event, ui::EventType type, int flags) + : native_event_(native_event), type_(type), time_stamp_(base::Time::NowFromSystemTime()), flags_(flags) { - InitWithNativeEvent2(native_event_2, from_native); +#if defined(TOOLKIT_USES_GTK) + gdk_event_ = NULL; +#endif } //////////////////////////////////////////////////////////////////////////////// // LocatedEvent, protected: +#if !defined(USE_AURA) +LocatedEvent::LocatedEvent(const NativeEvent& native_event) + : Event(native_event, + ui::EventTypeFromNative(native_event), + ui::EventFlagsFromNative(native_event)), + location_(ui::EventLocationFromNative(native_event)) { +} +#endif + // TODO(msw): Kill this legacy constructor when we update uses. -LocatedEvent::LocatedEvent(ui::EventType type, const gfx::Point& location, +LocatedEvent::LocatedEvent(ui::EventType type, + const gfx::Point& location, int flags) : Event(type, flags), location_(location) { } -LocatedEvent::LocatedEvent(const LocatedEvent& model, View* source, +LocatedEvent::LocatedEvent(const LocatedEvent& model, + View* source, View* target) : Event(model), location_(model.location_) { @@ -63,7 +72,19 @@ LocatedEvent::LocatedEvent(const LocatedEvent& model, View* root) //////////////////////////////////////////////////////////////////////////////// // KeyEvent, public: -KeyEvent::KeyEvent(ui::EventType type, ui::KeyboardCode key_code, +#if !defined(USE_AURA) +KeyEvent::KeyEvent(const NativeEvent& native_event) + : Event(native_event, + ui::EventTypeFromNative(native_event), + ui::EventFlagsFromNative(native_event)), + key_code_(ui::KeyboardCodeFromNative(native_event)), + character_(0), + unmodified_character_(0) { +} +#endif + +KeyEvent::KeyEvent(ui::EventType type, + ui::KeyboardCode key_code, int event_flags) : Event(type, event_flags), key_code_(key_code), @@ -175,13 +196,16 @@ uint16 KeyEvent::GetCharacterFromKeyCode(ui::KeyboardCode key_code, int flags) { //////////////////////////////////////////////////////////////////////////////// // MouseEvent, public: +MouseEvent::MouseEvent(const NativeEvent& native_event) + : LocatedEvent(native_event) { +} + MouseEvent::MouseEvent(const MouseEvent& model, View* source, View* target) : LocatedEvent(model, source, target) { } -MouseEvent::MouseEvent(const TouchEvent& touch, - FromNativeEvent2 from_native) - : LocatedEvent(touch.native_event_2(), from_native) { +MouseEvent::MouseEvent(const TouchEvent& touch) + : LocatedEvent(touch.native_event()) { // The location of the event is correctly extracted from the native event. But // it is necessary to update the event type. ui::EventType mtype = ui::ET_UNKNOWN; @@ -216,6 +240,16 @@ MouseEvent::MouseEvent(const TouchEvent& touch, } //////////////////////////////////////////////////////////////////////////////// +// MouseWheelEvent, public: + +#if !defined(USE_AURA) +MouseWheelEvent::MouseWheelEvent(const ui::NativeEvent& native_event) + : MouseEvent(native_event), + offset_(ui::GetMouseWheelOffset(native_event)) { +} +#endif + +//////////////////////////////////////////////////////////////////////////////// // TouchEvent, public: TouchEvent::TouchEvent(ui::EventType type, |