| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/test/motion_event_test_utils.h" | 5 #include "ui/events/test/motion_event_test_utils.h" |
| 6 | 6 |
| 7 #include <sstream> | 7 #include <sstream> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "ui/events/base_event_utils.h" | 10 #include "ui/events/base_event_utils.h" |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 PushPointer(positions[i].x(), positions[i].y()); | 85 PushPointer(positions[i].x(), positions[i].y()); |
| 86 } | 86 } |
| 87 | 87 |
| 88 MockMotionEvent::MockMotionEvent(const MockMotionEvent& other) | 88 MockMotionEvent::MockMotionEvent(const MockMotionEvent& other) |
| 89 : MotionEventGeneric(other) { | 89 : MotionEventGeneric(other) { |
| 90 } | 90 } |
| 91 | 91 |
| 92 MockMotionEvent::~MockMotionEvent() { | 92 MockMotionEvent::~MockMotionEvent() { |
| 93 } | 93 } |
| 94 | 94 |
| 95 void MockMotionEvent::PressPoint(float x, float y) { | 95 MockMotionEvent& MockMotionEvent::PressPoint(float x, float y) { |
| 96 UpdatePointersAndID(); | 96 UpdatePointersAndID(); |
| 97 PushPointer(x, y); | 97 PushPointer(x, y); |
| 98 if (GetPointerCount() > 1) { | 98 if (GetPointerCount() > 1) { |
| 99 set_action_index(static_cast<int>(GetPointerCount()) - 1); | 99 set_action_index(static_cast<int>(GetPointerCount()) - 1); |
| 100 set_action(ACTION_POINTER_DOWN); | 100 set_action(ACTION_POINTER_DOWN); |
| 101 } else { | 101 } else { |
| 102 set_action(ACTION_DOWN); | 102 set_action(ACTION_DOWN); |
| 103 } | 103 } |
| 104 return *this; |
| 104 } | 105 } |
| 105 | 106 |
| 106 void MockMotionEvent::MovePoint(size_t index, float x, float y) { | 107 MockMotionEvent& MockMotionEvent::MovePoint(size_t index, float x, float y) { |
| 107 UpdatePointersAndID(); | 108 UpdatePointersAndID(); |
| 108 DCHECK_LT(index, GetPointerCount()); | 109 DCHECK_LT(index, GetPointerCount()); |
| 109 PointerProperties& p = pointer(index); | 110 PointerProperties& p = pointer(index); |
| 110 float dx = x - p.x; | 111 float dx = x - p.x; |
| 111 float dy = x - p.y; | 112 float dy = x - p.y; |
| 112 p.x = x; | 113 p.x = x; |
| 113 p.y = y; | 114 p.y = y; |
| 114 p.raw_x += dx; | 115 p.raw_x += dx; |
| 115 p.raw_y += dy; | 116 p.raw_y += dy; |
| 116 set_action(ACTION_MOVE); | 117 set_action(ACTION_MOVE); |
| 118 return *this; |
| 117 } | 119 } |
| 118 | 120 |
| 119 void MockMotionEvent::ReleasePoint() { | 121 MockMotionEvent& MockMotionEvent::ReleasePoint() { |
| 120 UpdatePointersAndID(); | 122 UpdatePointersAndID(); |
| 121 DCHECK_GT(GetPointerCount(), 0U); | 123 DCHECK_GT(GetPointerCount(), 0U); |
| 122 if (GetPointerCount() > 1) { | 124 if (GetPointerCount() > 1) { |
| 123 set_action_index(static_cast<int>(GetPointerCount()) - 1); | 125 set_action_index(static_cast<int>(GetPointerCount()) - 1); |
| 124 set_action(ACTION_POINTER_UP); | 126 set_action(ACTION_POINTER_UP); |
| 125 } else { | 127 } else { |
| 126 set_action(ACTION_UP); | 128 set_action(ACTION_UP); |
| 127 } | 129 } |
| 130 return *this; |
| 128 } | 131 } |
| 129 | 132 |
| 130 void MockMotionEvent::CancelPoint() { | 133 MockMotionEvent& MockMotionEvent::CancelPoint() { |
| 131 UpdatePointersAndID(); | 134 UpdatePointersAndID(); |
| 132 DCHECK_GT(GetPointerCount(), 0U); | 135 DCHECK_GT(GetPointerCount(), 0U); |
| 133 set_action(ACTION_CANCEL); | 136 set_action(ACTION_CANCEL); |
| 137 return *this; |
| 134 } | 138 } |
| 135 | 139 |
| 136 void MockMotionEvent::SetTouchMajor(float new_touch_major) { | 140 MockMotionEvent& MockMotionEvent::SetTouchMajor(float new_touch_major) { |
| 137 for (size_t i = 0; i < GetPointerCount(); ++i) | 141 for (size_t i = 0; i < GetPointerCount(); ++i) |
| 138 pointer(i).touch_major = new_touch_major; | 142 pointer(i).touch_major = new_touch_major; |
| 143 return *this; |
| 139 } | 144 } |
| 140 | 145 |
| 141 void MockMotionEvent::SetRawOffset(float raw_offset_x, float raw_offset_y) { | 146 MockMotionEvent& MockMotionEvent::SetRawOffset(float raw_offset_x, |
| 147 float raw_offset_y) { |
| 142 for (size_t i = 0; i < GetPointerCount(); ++i) { | 148 for (size_t i = 0; i < GetPointerCount(); ++i) { |
| 143 pointer(i).raw_x = pointer(i).x + raw_offset_x; | 149 pointer(i).raw_x = pointer(i).x + raw_offset_x; |
| 144 pointer(i).raw_y = pointer(i).y + raw_offset_y; | 150 pointer(i).raw_y = pointer(i).y + raw_offset_y; |
| 145 } | 151 } |
| 152 return *this; |
| 146 } | 153 } |
| 147 | 154 |
| 148 void MockMotionEvent::SetToolType(size_t pointer_index, ToolType tool_type) { | 155 MockMotionEvent& MockMotionEvent::SetToolType(size_t pointer_index, |
| 156 ToolType tool_type) { |
| 149 DCHECK_LT(pointer_index, GetPointerCount()); | 157 DCHECK_LT(pointer_index, GetPointerCount()); |
| 150 pointer(pointer_index).tool_type = tool_type; | 158 pointer(pointer_index).tool_type = tool_type; |
| 159 return *this; |
| 151 } | 160 } |
| 152 | 161 |
| 153 void MockMotionEvent::PushPointer(float x, float y) { | 162 void MockMotionEvent::PushPointer(float x, float y) { |
| 154 MotionEventGeneric::PushPointer( | 163 MotionEventGeneric::PushPointer( |
| 155 CreatePointer(x, y, static_cast<int>(GetPointerCount()))); | 164 CreatePointer(x, y, static_cast<int>(GetPointerCount()))); |
| 156 } | 165 } |
| 157 | 166 |
| 158 void MockMotionEvent::UpdatePointersAndID() { | 167 void MockMotionEvent::UpdatePointersAndID() { |
| 159 set_action_index(-1); | 168 set_action_index(-1); |
| 160 set_unique_event_id(ui::GetNextTouchEventId()); | 169 set_unique_event_id(ui::GetNextTouchEventId()); |
| 161 switch (GetAction()) { | 170 switch (GetAction()) { |
| 162 case ACTION_UP: | 171 case ACTION_UP: |
| 163 case ACTION_POINTER_UP: | 172 case ACTION_POINTER_UP: |
| 164 case ACTION_CANCEL: | 173 case ACTION_CANCEL: |
| 165 PopPointer(); | 174 PopPointer(); |
| 166 return; | 175 return; |
| 167 default: | 176 default: |
| 168 break; | 177 break; |
| 169 } | 178 } |
| 170 } | 179 } |
| 171 | 180 |
| 172 void MockMotionEvent::SetPrimaryPointerId(int id) { | 181 MockMotionEvent& MockMotionEvent::SetPrimaryPointerId(int id) { |
| 173 DCHECK_GT(GetPointerCount(), 0U); | 182 DCHECK_GT(GetPointerCount(), 0U); |
| 174 pointer(0).id = id; | 183 pointer(0).id = id; |
| 184 return *this; |
| 175 } | 185 } |
| 176 | 186 |
| 177 std::string ToString(const MotionEvent& event) { | 187 std::string ToString(const MotionEvent& event) { |
| 178 std::stringstream ss; | 188 std::stringstream ss; |
| 179 ss << "MotionEvent {" | 189 ss << "MotionEvent {" |
| 180 << "\n Action: " << event.GetAction(); | 190 << "\n Action: " << event.GetAction(); |
| 181 if (event.GetAction() == MotionEvent::ACTION_POINTER_DOWN || | 191 if (event.GetAction() == MotionEvent::ACTION_POINTER_DOWN || |
| 182 event.GetAction() == MotionEvent::ACTION_POINTER_UP) | 192 event.GetAction() == MotionEvent::ACTION_POINTER_UP) |
| 183 ss << "\n ActionIndex: " << event.GetActionIndex(); | 193 ss << "\n ActionIndex: " << event.GetActionIndex(); |
| 184 ss << "\n Flags: " << event.GetFlags() | 194 ss << "\n Flags: " << event.GetFlags() |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 ss << ", "; | 231 ss << ", "; |
| 222 } | 232 } |
| 223 ss << "]\n}"; | 233 ss << "]\n}"; |
| 224 } | 234 } |
| 225 | 235 |
| 226 return ss.str(); | 236 return ss.str(); |
| 227 } | 237 } |
| 228 | 238 |
| 229 } // namespace test | 239 } // namespace test |
| 230 } // namespace ui | 240 } // namespace ui |
| OLD | NEW |