| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "ui/events/event.h" | 5 #include "ui/events/event.h" |
| 6 | 6 |
| 7 #if defined(USE_X11) | 7 #if defined(USE_X11) |
| 8 #include <X11/extensions/XInput2.h> | 8 #include <X11/extensions/XInput2.h> |
| 9 #include <X11/Xlib.h> | 9 #include <X11/Xlib.h> |
| 10 #endif | 10 #endif |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 #if defined(USE_X11) | 24 #if defined(USE_X11) |
| 25 #include "ui/events/keycodes/keyboard_code_conversion_x.h" | 25 #include "ui/events/keycodes/keyboard_code_conversion_x.h" |
| 26 #elif defined(USE_OZONE) | 26 #elif defined(USE_OZONE) |
| 27 #include "ui/events/keycodes/keyboard_code_conversion.h" | 27 #include "ui/events/keycodes/keyboard_code_conversion.h" |
| 28 #endif | 28 #endif |
| 29 | 29 |
| 30 namespace { | 30 namespace { |
| 31 | 31 |
| 32 base::NativeEvent CopyNativeEvent(const base::NativeEvent& event) { | 32 base::NativeEvent CopyNativeEvent(const base::NativeEvent& event) { |
| 33 #if defined(USE_X11) | 33 #if defined(USE_X11) |
| 34 if (!event || event->type == GenericEvent) | 34 if (!event) |
| 35 return NULL; | 35 return NULL; |
| 36 XEvent* copy = new XEvent; | 36 XEvent* copy = new XEvent; |
| 37 *copy = *event; | 37 *copy = *event; |
| 38 if (event->type == GenericEvent) { |
| 39 copy->xcookie.data = new XIDeviceEvent; |
| 40 *(static_cast<XIDeviceEvent*>(copy->xcookie.data)) = |
| 41 *(static_cast<XIDeviceEvent*>(event->xcookie.data)); |
| 42 } |
| 38 return copy; | 43 return copy; |
| 39 #elif defined(OS_WIN) | 44 #elif defined(OS_WIN) |
| 40 return event; | 45 return event; |
| 41 #elif defined(USE_OZONE) | 46 #elif defined(USE_OZONE) |
| 42 return NULL; | 47 return NULL; |
| 43 #else | 48 #else |
| 44 NOTREACHED() << | 49 NOTREACHED() << |
| 45 "Don't know how to copy base::NativeEvent for this platform"; | 50 "Don't know how to copy base::NativeEvent for this platform"; |
| 46 return NULL; | 51 return NULL; |
| 47 #endif | 52 #endif |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 | 118 |
| 114 } // namespace | 119 } // namespace |
| 115 | 120 |
| 116 namespace ui { | 121 namespace ui { |
| 117 | 122 |
| 118 //////////////////////////////////////////////////////////////////////////////// | 123 //////////////////////////////////////////////////////////////////////////////// |
| 119 // Event | 124 // Event |
| 120 | 125 |
| 121 Event::~Event() { | 126 Event::~Event() { |
| 122 #if defined(USE_X11) | 127 #if defined(USE_X11) |
| 123 if (delete_native_event_) | 128 if (delete_native_event_) { |
| 129 if (native_event_ && native_event_->type == GenericEvent) |
| 130 delete static_cast<XIDeviceEvent*>(native_event_->xcookie.data); |
| 124 delete native_event_; | 131 delete native_event_; |
| 132 } |
| 125 #endif | 133 #endif |
| 126 } | 134 } |
| 127 | 135 |
| 128 bool Event::HasNativeEvent() const { | 136 bool Event::HasNativeEvent() const { |
| 129 base::NativeEvent null_event; | 137 base::NativeEvent null_event; |
| 130 std::memset(&null_event, 0, sizeof(null_event)); | 138 std::memset(&null_event, 0, sizeof(null_event)); |
| 131 return !!std::memcmp(&native_event_, &null_event, sizeof(null_event)); | 139 return !!std::memcmp(&native_event_, &null_event, sizeof(null_event)); |
| 132 } | 140 } |
| 133 | 141 |
| 134 void Event::StopPropagation() { | 142 void Event::StopPropagation() { |
| (...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 731 int GestureEvent::GetLowestTouchId() const { | 739 int GestureEvent::GetLowestTouchId() const { |
| 732 if (touch_ids_bitfield_ == 0) | 740 if (touch_ids_bitfield_ == 0) |
| 733 return -1; | 741 return -1; |
| 734 int i = -1; | 742 int i = -1; |
| 735 // Find the index of the least significant 1 bit | 743 // Find the index of the least significant 1 bit |
| 736 while (!(1 << ++i & touch_ids_bitfield_)); | 744 while (!(1 << ++i & touch_ids_bitfield_)); |
| 737 return i; | 745 return i; |
| 738 } | 746 } |
| 739 | 747 |
| 740 } // namespace ui | 748 } // namespace ui |
| OLD | NEW |