Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(673)

Side by Side Diff: ui/events/gesture_detection/gesture_event_data_packet.cc

Issue 181833003: [Android] Out with the Android GR, in with the new unified C++ GR (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "ui/events/gesture_detection/gesture_event_data_packet.h"
6
7 #include "base/logging.h"
8 #include "ui/events/gesture_detection/motion_event.h"
9
10 namespace ui {
11 namespace {
12
13 GestureEventDataPacket::GestureSource ToGestureSource(
14 const ui::MotionEvent& event) {
15 switch (event.GetAction()) {
16 case ui::MotionEvent::ACTION_DOWN:
17 return GestureEventDataPacket::TOUCH_SEQUENCE_START;
18 case ui::MotionEvent::ACTION_UP:
19 return GestureEventDataPacket::TOUCH_SEQUENCE_END;
20 case ui::MotionEvent::ACTION_MOVE:
21 return GestureEventDataPacket::TOUCH_MOVE;
22 case ui::MotionEvent::ACTION_CANCEL:
23 return GestureEventDataPacket::TOUCH_SEQUENCE_END;
24 case ui::MotionEvent::ACTION_POINTER_DOWN:
25 return GestureEventDataPacket::TOUCH_START;
26 case ui::MotionEvent::ACTION_POINTER_UP:
27 return GestureEventDataPacket::TOUCH_END;
28 };
29 NOTREACHED() << "Invalid ui::MotionEvent action: " << event.GetAction();
30 return GestureEventDataPacket::INVALID;
31 }
32
33 } // namespace
34
35 GestureEventDataPacket::GestureEventDataPacket()
36 : gesture_count_(0), gesture_source_(UNDEFINED) {}
37
38 GestureEventDataPacket::GestureEventDataPacket(GestureSource source)
39 : gesture_count_(0), gesture_source_(source) {
40 DCHECK_NE(gesture_source_, UNDEFINED);
41 }
42
43 GestureEventDataPacket::GestureEventDataPacket(
44 const GestureEventDataPacket& other)
45 : gesture_count_(other.gesture_count_),
46 gesture_source_(other.gesture_source_) {
47 std::copy(other.gestures_, other.gestures_ + other.gesture_count_, gestures_);
48 }
49
50 GestureEventDataPacket::~GestureEventDataPacket() {}
51
52 GestureEventDataPacket& GestureEventDataPacket::operator=(
53 const GestureEventDataPacket& other) {
54 gesture_count_ = other.gesture_count_;
55 gesture_source_ = other.gesture_source_;
56 std::copy(other.gestures_, other.gestures_ + other.gesture_count_, gestures_);
57 return *this;
58 }
59
60 void GestureEventDataPacket::Push(const GestureEventData& gesture) {
61 DCHECK_NE(GESTURE_TYPE_INVALID, gesture.type);
62 CHECK_LT(gesture_count_, static_cast<size_t>(kMaxGesturesPerTouch));
63 gestures_[gesture_count_++] = gesture;
64 }
65
66 GestureEventDataPacket GestureEventDataPacket::FromTouch(
67 const ui::MotionEvent& touch) {
68 return GestureEventDataPacket(ToGestureSource(touch));
69 }
70
71 GestureEventDataPacket GestureEventDataPacket::FromTouchTimeout(
72 const GestureEventData& gesture) {
73 GestureEventDataPacket packet(TOUCH_TIMEOUT);
74 packet.Push(gesture);
75 return packet;
76 }
77
78 } // namespace ui
OLDNEW
« no previous file with comments | « ui/events/gesture_detection/gesture_event_data_packet.h ('k') | ui/events/gesture_detection/gesture_event_params.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698