1// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "ui/base/events/event.h"
6#include "ui/base/events/event_constants.h"
7#include "ui/base/events/event_utils.h"
8
9namespace ui {
10
11void UpdateDeviceList() { NOTIMPLEMENTED(); }
12
13base::TimeDelta EventTimeFromNative(const base::NativeEvent& native_event) {
14  const ui::Event* event = static_cast<const ui::Event*>(native_event);
15  return event->time_stamp();
16}
17
18int EventFlagsFromNative(const base::NativeEvent& native_event) {
19  const ui::Event* event = static_cast<const ui::Event*>(native_event);
20  return event->flags();
21}
22
23EventType EventTypeFromNative(const base::NativeEvent& native_event) {
24  const ui::Event* event = static_cast<const ui::Event*>(native_event);
25  return event->type();
26}
27
28gfx::Point EventSystemLocationFromNative(
29    const base::NativeEvent& native_event) {
30  const ui::LocatedEvent* e =
31      static_cast<const ui::LocatedEvent*>(native_event);
32  DCHECK(e->IsMouseEvent() || e->IsTouchEvent() || e->IsGestureEvent() ||
33         e->IsScrollEvent());
34  return e->location();
35}
36
37gfx::Point EventLocationFromNative(const base::NativeEvent& native_event) {
38  return EventSystemLocationFromNative(native_event);
39}
40
41int GetChangedMouseButtonFlagsFromNative(
42    const base::NativeEvent& native_event) {
43  const ui::MouseEvent* event =
44      static_cast<const ui::MouseEvent*>(native_event);
45  DCHECK(event->IsMouseEvent());
46  return event->changed_button_flags();
47}
48
49KeyboardCode KeyboardCodeFromNative(const base::NativeEvent& native_event) {
50  const ui::KeyEvent* event = static_cast<const ui::KeyEvent*>(native_event);
51  DCHECK(event->IsKeyEvent());
52  return event->key_code();
53}
54
55bool IsMouseEvent(const base::NativeEvent& native_event) {
56  const ui::Event* e = static_cast<const ui::Event*>(native_event);
57  return e->IsMouseEvent();
58}
59
60gfx::Vector2d GetMouseWheelOffset(const base::NativeEvent& native_event) {
61  const ui::MouseWheelEvent* event =
62      static_cast<const ui::MouseWheelEvent*>(native_event);
63  DCHECK(event->type() == ET_MOUSEWHEEL);
64  return event->offset();
65}
66
67void ClearTouchIdIfReleased(const base::NativeEvent& xev) {
68}
69
70int GetTouchId(const base::NativeEvent& native_event) {
71  const ui::TouchEvent* event =
72      static_cast<const ui::TouchEvent*>(native_event);
73  DCHECK(event->IsTouchEvent());
74  return event->touch_id();
75}
76
77float GetTouchRadiusX(const base::NativeEvent& native_event) {
78  const ui::TouchEvent* event =
79      static_cast<const ui::TouchEvent*>(native_event);
80  DCHECK(event->IsTouchEvent());
81  return event->radius_x();
82}
83
84float GetTouchRadiusY(const base::NativeEvent& native_event) {
85  const ui::TouchEvent* event =
86      static_cast<const ui::TouchEvent*>(native_event);
87  DCHECK(event->IsTouchEvent());
88  return event->radius_y();
89}
90
91float GetTouchAngle(const base::NativeEvent& native_event) {
92  const ui::TouchEvent* event =
93      static_cast<const ui::TouchEvent*>(native_event);
94  DCHECK(event->IsTouchEvent());
95  return event->rotation_angle();
96}
97
98float GetTouchForce(const base::NativeEvent& native_event) {
99  const ui::TouchEvent* event =
100      static_cast<const ui::TouchEvent*>(native_event);
101  DCHECK(event->IsTouchEvent());
102  return event->force();
103}
104
105bool GetScrollOffsets(const base::NativeEvent& native_event,
106                      float* x_offset,
107                      float* y_offset,
108                      float* x_offset_ordinal,
109                      float* y_offset_ordinal,
110                      int* finger_count) {
111  NOTIMPLEMENTED();
112  return false;
113}
114
115bool GetFlingData(const base::NativeEvent& native_event,
116                  float* vx,
117                  float* vy,
118                  float* vx_ordinal,
119                  float* vy_ordinal,
120                  bool* is_cancel) {
121  NOTIMPLEMENTED();
122  return false;
123}
124
125bool GetGestureTimes(const base::NativeEvent& native_event,
126                     double* start_time,
127                     double* end_time) {
128  *start_time = 0;
129  *end_time = 0;
130  return false;
131}
132
133void SetNaturalScroll(bool /* enabled */) { NOTIMPLEMENTED(); }
134
135bool IsNaturalScrollEnabled() { return false; }
136
137bool IsTouchpadEvent(const base::NativeEvent& event) {
138  NOTIMPLEMENTED();
139  return false;
140}
141
142bool IsNoopEvent(const base::NativeEvent& event) {
143  NOTIMPLEMENTED();
144  return false;
145}
146
147base::NativeEvent CreateNoopEvent() {
148  NOTIMPLEMENTED();
149  return NULL;
150}
151
152int GetModifiersFromKeyState() {
153  NOTIMPLEMENTED();
154  return 0;
155}
156
157}  // namespace ui
158