| 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,38 @@
|
|
|
| } // 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::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, FromNativeEvent2)
|
| + : Event(native_event_2,
|
| + EventTypeFromNative(native_event_2),
|
| + GetEventFlagsFromXState(native_event_2->xkey.state),
|
| + FromNativeEvent2),
|
| + 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 +264,9 @@
|
| offset_(GetMouseWheelOffset(xev)) {
|
| }
|
|
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +// TouchEvent, public:
|
| +
|
| #if defined(HAVE_XINPUT2)
|
| TouchEvent::TouchEvent(XEvent* xev)
|
| : LocatedEvent(GetTouchEventType(xev),
|
|
|