OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/event.h" | 5 #include "views/event.h" |
6 | 6 |
7 #include <gdk/gdk.h> | 7 #include <gdk/gdk.h> |
8 | 8 |
9 #include "app/keyboard_code_conversion_gtk.h" | 9 #include "app/keyboard_code_conversion_gtk.h" |
10 | 10 |
11 namespace views { | 11 namespace views { |
12 | 12 |
13 KeyEvent::KeyEvent(GdkEventKey* event) | 13 KeyEvent::KeyEvent(const GdkEventKey* event) |
14 : Event(event->type == GDK_KEY_PRESS ? | 14 : Event(event->type == GDK_KEY_PRESS ? |
15 Event::ET_KEY_PRESSED : Event::ET_KEY_RELEASED, | 15 Event::ET_KEY_PRESSED : Event::ET_KEY_RELEASED, |
16 GetFlagsFromGdkState(event->state)), | 16 GetFlagsFromGdkState(event->state)), |
17 // TODO(erg): All these values are iffy. | 17 // TODO(erg): All these values are iffy. |
18 key_code_(app::WindowsKeyCodeForGdkKeyCode(event->keyval)), | 18 key_code_(app::WindowsKeyCodeForGdkKeyCode(event->keyval)), |
19 repeat_count_(0), | 19 repeat_count_(0), |
20 message_flags_(0) { | 20 message_flags_(0), |
| 21 native_event_(event) { |
21 } | 22 } |
22 | 23 |
23 // static | 24 // static |
24 int Event::GetFlagsFromGdkState(int state) { | 25 int Event::GetFlagsFromGdkState(int state) { |
25 int flags = 0; | 26 int flags = 0; |
26 if (state & GDK_LOCK_MASK) | 27 if (state & GDK_LOCK_MASK) |
27 flags |= Event::EF_CAPS_LOCK_DOWN; | 28 flags |= Event::EF_CAPS_LOCK_DOWN; |
28 if (state & GDK_CONTROL_MASK) | 29 if (state & GDK_CONTROL_MASK) |
29 flags |= Event::EF_CONTROL_DOWN; | 30 flags |= Event::EF_CONTROL_DOWN; |
30 if (state & GDK_SHIFT_MASK) | 31 if (state & GDK_SHIFT_MASK) |
31 flags |= Event::EF_SHIFT_DOWN; | 32 flags |= Event::EF_SHIFT_DOWN; |
32 if (state & GDK_MOD1_MASK) | 33 if (state & GDK_MOD1_MASK) |
33 flags |= Event::EF_ALT_DOWN; | 34 flags |= Event::EF_ALT_DOWN; |
34 if (state & GDK_BUTTON1_MASK) | 35 if (state & GDK_BUTTON1_MASK) |
35 flags |= Event::EF_LEFT_BUTTON_DOWN; | 36 flags |= Event::EF_LEFT_BUTTON_DOWN; |
36 if (state & GDK_BUTTON2_MASK) | 37 if (state & GDK_BUTTON2_MASK) |
37 flags |= Event::EF_MIDDLE_BUTTON_DOWN; | 38 flags |= Event::EF_MIDDLE_BUTTON_DOWN; |
38 if (state & GDK_BUTTON3_MASK) | 39 if (state & GDK_BUTTON3_MASK) |
39 flags |= Event::EF_RIGHT_BUTTON_DOWN; | 40 flags |= Event::EF_RIGHT_BUTTON_DOWN; |
40 return flags; | 41 return flags; |
41 } | 42 } |
42 | 43 |
43 } // namespace views | 44 } // namespace views |
OLD | NEW |