Chromium Code Reviews| Index: views/events/event_x.cc |
| =================================================================== |
| --- views/events/event_x.cc (revision 74437) |
| +++ views/events/event_x.cc (working copy) |
| @@ -1,4 +1,4 @@ |
| -// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| @@ -62,6 +62,19 @@ |
| return 0; |
| } |
| +ui::EventType EventTypeFromNative(NativeEvent2 native_event) { |
| + switch (native_event->type) { |
| + case KeyPress: |
| + return ui::ET_KEY_PRESSED; |
| + case KeyRelease: |
| + return ui::ET_KEY_RELEASED; |
| + default: |
| + NOTREACHED(); |
| + break; |
| + } |
| + return ui::ET_UNKNOWN; |
| +} |
| + |
| #if defined(HAVE_XINPUT2) |
| int GetButtonMaskForX2Event(XIDeviceEvent* xievent) { |
| int buttonflags = 0; |
| @@ -212,22 +225,48 @@ |
| } // namespace |
| -KeyEvent::KeyEvent(XEvent* xev) |
| - : Event(xev->type == KeyPress ? |
| - ui::ET_KEY_PRESSED : ui::ET_KEY_RELEASED, |
| - GetEventFlagsFromXState(xev->xkey.state)), |
| - key_code_(ui::KeyboardCodeFromXKeyEvent(xev)), |
| - repeat_count_(0), |
| - message_flags_(0), |
| - native_event_(NULL) { |
| +//////////////////////////////////////////////////////////////////////////////// |
| +// Event, private: |
| + |
| +void Event::Init() { |
| + native_event_ = NULL; |
| + native_event_2 = NULL; |
|
sadrul
2011/02/10 21:52:01
native_event_2_
|
| } |
| +void Event::InitWithNativeEvent(NativeEvent native_event) { |
| + native_event_ = native_event; |
| + // TODO(beng): remove once we rid views of Gtk/Gdk. |
| + native_event_2_ = NULL; |
| +} |
| + |
| +void Event::InitWithNativeEvent2(NativeEvent2 native_event_2) { |
| + native_event_ = NULL; |
| + // TODO(beng): remove once we rid views of Gtk/Gdk. |
| + native_event_2_ = native_event_2; |
| +} |
| + |
| +//////////////////////////////////////////////////////////////////////////////// |
| +// KeyEvent, public: |
| + |
| +KeyEvent::KeyEvent(NativeEvent2 native_event_2) |
| + : Event(native_event_2, |
| + EventTypeFromNative(native_event_2), |
| + GetEventFlagsFromXState(native_event_2->xkey.state)), |
| + key_code_(ui::KeyboardCodeFromXKeyEvent(native_event_2)) { |
| +} |
| + |
| +//////////////////////////////////////////////////////////////////////////////// |
| +// MouseEvent, public: |
| + |
| MouseEvent::MouseEvent(XEvent* xev) |
| : LocatedEvent(GetMouseEventType(xev), |
| GetMouseEventLocation(xev), |
| GetMouseEventFlags(xev)) { |
| } |
| +//////////////////////////////////////////////////////////////////////////////// |
| +// MouseWheelEvent, public: |
| + |
| MouseWheelEvent::MouseWheelEvent(XEvent* xev) |
| : LocatedEvent(ui::ET_MOUSEWHEEL, |
| GetMouseEventLocation(xev), |
| @@ -235,6 +274,9 @@ |
| offset_(GetMouseWheelOffset(xev)) { |
| } |
| +//////////////////////////////////////////////////////////////////////////////// |
| +// TouchEvent, public: |
| + |
| #if defined(HAVE_XINPUT2) |
| TouchEvent::TouchEvent(XEvent* xev) |
| : LocatedEvent(GetTouchEventType(xev), |