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

Side by Side Diff: views/events/event_gtk.cc

Issue 6756043: Consolidate Widget Event code, other cleanup. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Additional code consolidation, move base defs, nix MakeMSG, TooltipManager cleanup, etc. Created 9 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "views/events/event.h" 5 #include "views/events/event.h"
6 6
7 #include <gdk/gdk.h> 7 #include <gdk/gdk.h>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "ui/base/keycodes/keyboard_code_conversion_gtk.h" 10 #include "ui/base/keycodes/keyboard_code_conversion_gtk.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 case GDK_ENTER_NOTIFY: 70 case GDK_ENTER_NOTIFY:
71 case GDK_LEAVE_NOTIFY: 71 case GDK_LEAVE_NOTIFY:
72 return native_event->crossing.state; 72 return native_event->crossing.state;
73 default: 73 default:
74 NOTREACHED(); 74 NOTREACHED();
75 break; 75 break;
76 } 76 }
77 return 0; 77 return 0;
78 } 78 }
79 79
80 int GetFlagsFromGdkState(unsigned int state) {
81 int flags = 0;
82 flags |= (state & GDK_LOCK_MASK) ? ui::EF_CAPS_LOCK_DOWN : 0;
83 flags |= (state & GDK_CONTROL_MASK) ? ui::EF_CONTROL_DOWN : 0;
84 flags |= (state & GDK_SHIFT_MASK) ? ui::EF_SHIFT_DOWN : 0;
85 flags |= (state & GDK_MOD1_MASK) ? ui::EF_ALT_DOWN : 0;
86 flags |= (state & GDK_BUTTON1_MASK) ? ui::EF_LEFT_BUTTON_DOWN : 0;
87 flags |= (state & GDK_BUTTON2_MASK) ? ui::EF_MIDDLE_BUTTON_DOWN : 0;
88 flags |= (state & GDK_BUTTON3_MASK) ? ui::EF_RIGHT_BUTTON_DOWN : 0;
89 return flags;
90 }
91
80 #if !defined(TOUCH_UI) 92 #if !defined(TOUCH_UI)
81 uint16 GetCharacterFromGdkKeyval(guint keyval) { 93 uint16 GetCharacterFromGdkKeyval(guint keyval) {
82 guint32 ch = gdk_keyval_to_unicode(keyval); 94 guint32 ch = gdk_keyval_to_unicode(keyval);
83 95
84 // We only support BMP characters. 96 // We only support BMP characters.
85 return ch < 0xFFFE ? static_cast<uint16>(ch) : 0; 97 return ch < 0xFFFE ? static_cast<uint16>(ch) : 0;
86 } 98 }
87 #endif 99 #endif
88 100
89 } // namespace 101 } // namespace
90 102
91 //////////////////////////////////////////////////////////////////////////////// 103 ////////////////////////////////////////////////////////////////////////////////
92 // Event, public: 104 // Event, public:
93 105
94 // static 106 // static
95 int Event::GetFlagsFromGdkState(unsigned int state) { 107 int Event::GetFlagsFromGdkEvent(NativeEvent native_event) {
96 int flags = 0; 108 int flags = GetFlagsFromGdkState(GetGdkStateFromNative(native_event));
97 if (state & GDK_LOCK_MASK) 109 if (native_event->type == GDK_2BUTTON_PRESS)
98 flags |= ui::EF_CAPS_LOCK_DOWN; 110 flags |= ui::EF_IS_DOUBLE_CLICK;
99 if (state & GDK_CONTROL_MASK) 111 if (native_event->type == GDK_BUTTON_PRESS ||
100 flags |= ui::EF_CONTROL_DOWN; 112 native_event->type == GDK_2BUTTON_PRESS ||
101 if (state & GDK_SHIFT_MASK) 113 native_event->type == GDK_3BUTTON_PRESS ||
102 flags |= ui::EF_SHIFT_DOWN; 114 native_event->type == GDK_BUTTON_RELEASE) {
103 if (state & GDK_MOD1_MASK) 115 switch (native_event->button.button) {
104 flags |= ui::EF_ALT_DOWN; 116 case 1:
105 if (state & GDK_BUTTON1_MASK) 117 return flags | ui::EF_LEFT_BUTTON_DOWN;
106 flags |= ui::EF_LEFT_BUTTON_DOWN; 118 case 2:
107 if (state & GDK_BUTTON2_MASK) 119 return flags | ui::EF_MIDDLE_BUTTON_DOWN;
108 flags |= ui::EF_MIDDLE_BUTTON_DOWN; 120 case 3:
109 if (state & GDK_BUTTON3_MASK) 121 return flags | ui::EF_RIGHT_BUTTON_DOWN;
110 flags |= ui::EF_RIGHT_BUTTON_DOWN; 122 }
123 }
111 return flags; 124 return flags;
112 } 125 }
113 126
114 //////////////////////////////////////////////////////////////////////////////// 127 ////////////////////////////////////////////////////////////////////////////////
115 // Event, private: 128 // Event, private:
116 129
117 void Event::Init() { 130 void Event::Init() {
118 native_event_ = NULL; 131 native_event_ = NULL;
119 native_event_2_ = NULL; 132 native_event_2_ = NULL;
120 } 133 }
(...skipping 12 matching lines...) Expand all
133 NOTREACHED(); 146 NOTREACHED();
134 native_event_2_ = NULL; 147 native_event_2_ = NULL;
135 } 148 }
136 #endif 149 #endif
137 150
138 //////////////////////////////////////////////////////////////////////////////// 151 ////////////////////////////////////////////////////////////////////////////////
139 // LocatedEvent, protected: 152 // LocatedEvent, protected:
140 153
141 LocatedEvent::LocatedEvent(NativeEvent native_event) 154 LocatedEvent::LocatedEvent(NativeEvent native_event)
142 : Event(native_event, EventTypeFromNative(native_event), 155 : Event(native_event, EventTypeFromNative(native_event),
143 GetFlagsFromGdkState(GetGdkStateFromNative(native_event))), 156 GetFlagsFromGdkEvent(native_event)),
144 location_(GetMouseEventLocation(native_event)) { 157 location_(GetMouseEventLocation(native_event)) {
145 } 158 }
146 159
147 #if !defined(TOUCH_UI) 160 #if !defined(TOUCH_UI)
148 LocatedEvent::LocatedEvent(NativeEvent2 native_event_2, 161 LocatedEvent::LocatedEvent(NativeEvent2 native_event_2,
149 FromNativeEvent2 from_native) 162 FromNativeEvent2 from_native)
150 : Event(native_event_2, ui::ET_UNKNOWN, 0, from_native) { 163 : Event(native_event_2, ui::ET_UNKNOWN, 0, from_native) {
151 // No one should ever call this on Gtk-views. 164 // No one should ever call this on Gtk-views.
152 // TODO(msw): remove once we rid views of Gtk/Gdk. 165 // TODO(msw): remove once we rid views of Gtk/Gdk.
153 NOTREACHED(); 166 NOTREACHED();
(...skipping 15 matching lines...) Expand all
169 // TODO(msw): remove once we rid views of Gtk/Gdk. 182 // TODO(msw): remove once we rid views of Gtk/Gdk.
170 NOTREACHED(); 183 NOTREACHED();
171 } 184 }
172 #endif 185 #endif
173 186
174 //////////////////////////////////////////////////////////////////////////////// 187 ////////////////////////////////////////////////////////////////////////////////
175 // KeyEvent, public: 188 // KeyEvent, public:
176 189
177 KeyEvent::KeyEvent(NativeEvent native_event) 190 KeyEvent::KeyEvent(NativeEvent native_event)
178 : Event(native_event, EventTypeFromNative(native_event), 191 : Event(native_event, EventTypeFromNative(native_event),
179 GetFlagsFromGdkState(GetGdkStateFromNative(native_event))), 192 GetFlagsFromGdkEvent(native_event)),
180 key_code_(ui::KeyboardCodeFromGdkEventKey( 193 key_code_(ui::KeyboardCodeFromGdkEventKey(
181 GetGdkEventKeyFromNative(native_event))) { 194 GetGdkEventKeyFromNative(native_event))) {
182 } 195 }
183 196
184 #if !defined(TOUCH_UI) 197 #if !defined(TOUCH_UI)
185 KeyEvent::KeyEvent(NativeEvent2 native_event_2, FromNativeEvent2 from_native) 198 KeyEvent::KeyEvent(NativeEvent2 native_event_2, FromNativeEvent2 from_native)
186 : Event(native_event_2, ui::ET_UNKNOWN, 0, from_native) { 199 : Event(native_event_2, ui::ET_UNKNOWN, 0, from_native) {
187 // No one should ever call this on Gtk-views. 200 // No one should ever call this on Gtk-views.
188 // TODO(beng): remove once we rid views of Gtk/Gdk. 201 // TODO(beng): remove once we rid views of Gtk/Gdk.
189 NOTREACHED(); 202 NOTREACHED();
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 MouseWheelEvent::MouseWheelEvent(NativeEvent2 native_event_2, 252 MouseWheelEvent::MouseWheelEvent(NativeEvent2 native_event_2,
240 FromNativeEvent2 from_native) 253 FromNativeEvent2 from_native)
241 : MouseEvent(native_event_2, from_native) { 254 : MouseEvent(native_event_2, from_native) {
242 // No one should ever call this on Gtk-views. 255 // No one should ever call this on Gtk-views.
243 // TODO(msw): remove once we rid views of Gtk/Gdk. 256 // TODO(msw): remove once we rid views of Gtk/Gdk.
244 NOTREACHED(); 257 NOTREACHED();
245 } 258 }
246 #endif 259 #endif
247 260
248 } // namespace views 261 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698