Index: ui/events/ozone/events_ozone.cc |
diff --git a/ui/events/ozone/events_ozone.cc b/ui/events/ozone/events_ozone.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d29f9da022a54e5330a84e1294ff1495afbf650e |
--- /dev/null |
+++ b/ui/events/ozone/events_ozone.cc |
@@ -0,0 +1,201 @@ |
+// Copyright (c) 2013 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. |
+ |
+#include "ui/events/ozone/events_ozone.h" |
+ |
+#include "ui/events/event.h" |
+#include "ui/events/event_constants.h" |
+#include "ui/events/event_utils.h" |
+ |
+namespace ui { |
+ |
+void UpdateDeviceList() { NOTIMPLEMENTED(); } |
+ |
+base::TimeDelta EventTimeFromNative(const base::NativeEvent& native_event) { |
+ const ui::Event* event = static_cast<const ui::Event*>(native_event); |
+ return event->time_stamp(); |
+} |
+ |
+int EventFlagsFromNative(const base::NativeEvent& native_event) { |
+ const ui::Event* event = static_cast<const ui::Event*>(native_event); |
+ return event->flags(); |
+} |
+ |
+EventType EventTypeFromNative(const base::NativeEvent& native_event) { |
+ const ui::Event* event = static_cast<const ui::Event*>(native_event); |
+ return event->type(); |
+} |
+ |
+gfx::Point EventSystemLocationFromNative( |
+ const base::NativeEvent& native_event) { |
+ const ui::LocatedEvent* e = |
+ static_cast<const ui::LocatedEvent*>(native_event); |
+ DCHECK(e->IsMouseEvent() || e->IsTouchEvent() || e->IsGestureEvent() || |
+ e->IsScrollEvent()); |
+ return e->location(); |
+} |
+ |
+gfx::Point EventLocationFromNative(const base::NativeEvent& native_event) { |
+ return EventSystemLocationFromNative(native_event); |
+} |
+ |
+int GetChangedMouseButtonFlagsFromNative( |
+ const base::NativeEvent& native_event) { |
+ const ui::MouseEvent* event = |
+ static_cast<const ui::MouseEvent*>(native_event); |
+ DCHECK(event->IsMouseEvent() || event->IsScrollEvent()); |
+ return event->changed_button_flags(); |
+} |
+ |
+KeyboardCode KeyboardCodeFromNative(const base::NativeEvent& native_event) { |
+ const ui::KeyEvent* event = static_cast<const ui::KeyEvent*>(native_event); |
+ DCHECK(event->IsKeyEvent()); |
+ return event->key_code(); |
+} |
+ |
+DomCode CodeFromNative(const base::NativeEvent& native_event) { |
+ const ui::KeyEvent* event = static_cast<const ui::KeyEvent*>(native_event); |
+ DCHECK(event->IsKeyEvent()); |
+ return event->code(); |
+} |
+ |
+uint32 PlatformKeycodeFromNative(const base::NativeEvent& native_event) { |
+ const ui::KeyEvent* event = static_cast<const ui::KeyEvent*>(native_event); |
+ DCHECK(event->IsKeyEvent()); |
+ return event->platform_keycode(); |
+} |
+ |
+bool IsCharFromNative(const base::NativeEvent& native_event) { |
+ const ui::KeyEvent* event = static_cast<const ui::KeyEvent*>(native_event); |
+ DCHECK(event->IsKeyEvent()); |
+ return event->is_char(); |
+} |
+ |
+gfx::Vector2d GetMouseWheelOffset(const base::NativeEvent& native_event) { |
+ const ui::MouseWheelEvent* event = |
+ static_cast<const ui::MouseWheelEvent*>(native_event); |
+ DCHECK(event->type() == ET_MOUSEWHEEL); |
+ return event->offset(); |
+} |
+ |
+base::NativeEvent CopyNativeEvent(const base::NativeEvent& event) { |
+ return NULL; |
+} |
+ |
+void ReleaseCopiedNativeEvent(const base::NativeEvent& event) { |
+} |
+ |
+void ClearTouchIdIfReleased(const base::NativeEvent& xev) { |
+} |
+ |
+int GetTouchId(const base::NativeEvent& native_event) { |
+ const ui::TouchEvent* event = |
+ static_cast<const ui::TouchEvent*>(native_event); |
+ DCHECK(event->IsTouchEvent()); |
+ return event->touch_id(); |
+} |
+ |
+float GetTouchRadiusX(const base::NativeEvent& native_event) { |
+ const ui::TouchEvent* event = |
+ static_cast<const ui::TouchEvent*>(native_event); |
+ DCHECK(event->IsTouchEvent()); |
+ return event->radius_x(); |
+} |
+ |
+float GetTouchRadiusY(const base::NativeEvent& native_event) { |
+ const ui::TouchEvent* event = |
+ static_cast<const ui::TouchEvent*>(native_event); |
+ DCHECK(event->IsTouchEvent()); |
+ return event->radius_y(); |
+} |
+ |
+float GetTouchAngle(const base::NativeEvent& native_event) { |
+ const ui::TouchEvent* event = |
+ static_cast<const ui::TouchEvent*>(native_event); |
+ DCHECK(event->IsTouchEvent()); |
+ return event->rotation_angle(); |
+} |
+ |
+float GetTouchForce(const base::NativeEvent& native_event) { |
+ const ui::TouchEvent* event = |
+ static_cast<const ui::TouchEvent*>(native_event); |
+ DCHECK(event->IsTouchEvent()); |
+ return event->force(); |
+} |
+ |
+bool GetScrollOffsets(const base::NativeEvent& native_event, |
+ float* x_offset, |
+ float* y_offset, |
+ float* x_offset_ordinal, |
+ float* y_offset_ordinal, |
+ int* finger_count) { |
+ const ui::ScrollEvent* event = |
+ static_cast<const ui::ScrollEvent*>(native_event); |
+ DCHECK(event->IsScrollEvent()); |
+ if (x_offset) |
+ *x_offset = event->x_offset(); |
+ if (y_offset) |
+ *y_offset = event->y_offset(); |
+ if (x_offset_ordinal) |
+ *x_offset_ordinal = event->x_offset_ordinal(); |
+ if (y_offset_ordinal) |
+ *y_offset_ordinal = event->y_offset_ordinal(); |
+ if (finger_count) |
+ *finger_count = event->finger_count(); |
+ |
+ return true; |
+} |
+ |
+bool GetFlingData(const base::NativeEvent& native_event, |
+ float* vx, |
+ float* vy, |
+ float* vx_ordinal, |
+ float* vy_ordinal, |
+ bool* is_cancel) { |
+ const ui::ScrollEvent* event = |
+ static_cast<const ui::ScrollEvent*>(native_event); |
+ DCHECK(event->IsScrollEvent()); |
+ if (vx) |
+ *vx = event->x_offset(); |
+ if (vy) |
+ *vy = event->y_offset(); |
+ if (vx_ordinal) |
+ *vx_ordinal = event->x_offset_ordinal(); |
+ if (vy_ordinal) |
+ *vy_ordinal = event->y_offset_ordinal(); |
+ if (is_cancel) |
+ *is_cancel = event->type() == ET_SCROLL_FLING_CANCEL; |
+ |
+ return true; |
+} |
+ |
+int GetModifiersFromKeyState() { |
+ NOTIMPLEMENTED(); |
+ return 0; |
+} |
+ |
+void DispatchEventFromNativeUiEvent(const base::NativeEvent& native_event, |
+ base::Callback<void(ui::Event*)> callback) { |
+ const ui::Event* native_ui_event = static_cast<ui::Event*>(native_event); |
+ if (native_ui_event->IsKeyEvent()) { |
+ ui::KeyEvent key_event(native_event); |
+ callback.Run(&key_event); |
+ } else if (native_ui_event->IsMouseWheelEvent()) { |
+ ui::MouseWheelEvent wheel_event(native_event); |
+ callback.Run(&wheel_event); |
+ } else if (native_ui_event->IsMouseEvent()) { |
+ ui::MouseEvent mouse_event(native_event); |
+ callback.Run(&mouse_event); |
+ } else if (native_ui_event->IsTouchEvent()) { |
+ ui::TouchEvent touch_event(native_event); |
+ callback.Run(&touch_event); |
+ } else if (native_ui_event->IsScrollEvent()) { |
+ ui::ScrollEvent scroll_event(native_event); |
+ callback.Run(&scroll_event); |
+ } else { |
+ NOTREACHED(); |
+ } |
+} |
+ |
+} // namespace ui |