Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(472)

Unified Diff: views/events/event_x.cc

Issue 6487002: Add a new constructor to KeyEvent. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: views/events/event_x.cc
===================================================================
--- views/events/event_x.cc (revision 74564)
+++ 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,49 @@
} // 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/11 16:12:47 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, 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 +275,9 @@
offset_(GetMouseWheelOffset(xev)) {
}
+////////////////////////////////////////////////////////////////////////////////
+// TouchEvent, public:
+
#if defined(HAVE_XINPUT2)
TouchEvent::TouchEvent(XEvent* xev)
: LocatedEvent(GetTouchEventType(xev),

Powered by Google App Engine
This is Rietveld 408576698