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

Side by Side Diff: ui/events/event.cc

Issue 1728603002: Fix ui::Event::Clone() for ui::PointerEvent. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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
« no previous file with comments | « ui/events/event.h ('k') | ui/events/event_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include <utility> 7 #include <utility>
8 8
9 #if defined(USE_X11) 9 #if defined(USE_X11)
10 #include <X11/extensions/XInput2.h> 10 #include <X11/extensions/XInput2.h>
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 if (event.IsTouchEvent()) { 148 if (event.IsTouchEvent()) {
149 return make_scoped_ptr( 149 return make_scoped_ptr(
150 new TouchEvent(static_cast<const TouchEvent&>(event))); 150 new TouchEvent(static_cast<const TouchEvent&>(event)));
151 } 151 }
152 152
153 if (event.IsGestureEvent()) { 153 if (event.IsGestureEvent()) {
154 return make_scoped_ptr( 154 return make_scoped_ptr(
155 new GestureEvent(static_cast<const GestureEvent&>(event))); 155 new GestureEvent(static_cast<const GestureEvent&>(event)));
156 } 156 }
157 157
158 if (event.IsPointerEvent()) {
159 return make_scoped_ptr(
160 new PointerEvent(static_cast<const PointerEvent&>(event)));
161 }
162
158 if (event.IsScrollEvent()) { 163 if (event.IsScrollEvent()) {
159 return make_scoped_ptr( 164 return make_scoped_ptr(
160 new ScrollEvent(static_cast<const ScrollEvent&>(event))); 165 new ScrollEvent(static_cast<const ScrollEvent&>(event)));
161 } 166 }
162 167
163 return make_scoped_ptr(new Event(event)); 168 return make_scoped_ptr(new Event(event));
164 } 169 }
165 170
166 Event::~Event() { 171 Event::~Event() {
167 if (delete_native_event_) 172 if (delete_native_event_)
168 ReleaseCopiedNativeEvent(native_event_); 173 ReleaseCopiedNativeEvent(native_event_);
169 } 174 }
170 175
171 GestureEvent* Event::AsGestureEvent() { 176 GestureEvent* Event::AsGestureEvent() {
172 CHECK(IsGestureEvent()); 177 CHECK(IsGestureEvent());
173 return static_cast<GestureEvent*>(this); 178 return static_cast<GestureEvent*>(this);
174 } 179 }
175 180
176 const GestureEvent* Event::AsGestureEvent() const { 181 const GestureEvent* Event::AsGestureEvent() const {
177 CHECK(IsGestureEvent()); 182 CHECK(IsGestureEvent());
178 return static_cast<const GestureEvent*>(this); 183 return static_cast<const GestureEvent*>(this);
179 } 184 }
180 185
186 PointerEvent* Event::AsPointerEvent() {
187 CHECK(IsPointerEvent());
188 return static_cast<PointerEvent*>(this);
189 }
190
191 const PointerEvent* Event::AsPointerEvent() const {
192 CHECK(IsPointerEvent());
193 return static_cast<const PointerEvent*>(this);
194 }
195
181 bool Event::HasNativeEvent() const { 196 bool Event::HasNativeEvent() const {
182 base::NativeEvent null_event; 197 base::NativeEvent null_event;
183 std::memset(&null_event, 0, sizeof(null_event)); 198 std::memset(&null_event, 0, sizeof(null_event));
184 return !!std::memcmp(&native_event_, &null_event, sizeof(null_event)); 199 return !!std::memcmp(&native_event_, &null_event, sizeof(null_event));
185 } 200 }
186 201
187 void Event::StopPropagation() { 202 void Event::StopPropagation() {
188 // TODO(sad): Re-enable these checks once View uses dispatcher to dispatch 203 // TODO(sad): Re-enable these checks once View uses dispatcher to dispatch
189 // events. 204 // events.
190 // CHECK(phase_ != EP_PREDISPATCH && phase_ != EP_POSTDISPATCH); 205 // CHECK(phase_ != EP_PREDISPATCH && phase_ != EP_POSTDISPATCH);
(...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 void TouchEvent::FixRotationAngle() { 652 void TouchEvent::FixRotationAngle() {
638 while (rotation_angle_ < 0) 653 while (rotation_angle_ < 0)
639 rotation_angle_ += 180; 654 rotation_angle_ += 180;
640 while (rotation_angle_ >= 180) 655 while (rotation_angle_ >= 180)
641 rotation_angle_ -= 180; 656 rotation_angle_ -= 180;
642 } 657 }
643 658
644 //////////////////////////////////////////////////////////////////////////////// 659 ////////////////////////////////////////////////////////////////////////////////
645 // PointerEvent 660 // PointerEvent
646 661
662 PointerEvent::PointerEvent(const PointerEvent& pointer_event)
663 : LocatedEvent(pointer_event),
664 pointer_id_(pointer_event.pointer_id()),
665 details_(pointer_event.pointer_details()) {}
666
647 PointerEvent::PointerEvent(const MouseEvent& mouse_event) 667 PointerEvent::PointerEvent(const MouseEvent& mouse_event)
648 : LocatedEvent(mouse_event), 668 : LocatedEvent(mouse_event),
649 pointer_id_(kMousePointerId), 669 pointer_id_(kMousePointerId),
650 details_(mouse_event.pointer_details()) { 670 details_(mouse_event.pointer_details()) {
651 switch (mouse_event.type()) { 671 switch (mouse_event.type()) {
652 case ET_MOUSE_PRESSED: 672 case ET_MOUSE_PRESSED:
653 SetType(ET_POINTER_DOWN); 673 SetType(ET_POINTER_DOWN);
654 break; 674 break;
655 675
656 case ET_MOUSE_DRAGGED: 676 case ET_MOUSE_DRAGGED:
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
1047 gfx::PointF(x, y), 1067 gfx::PointF(x, y),
1048 time_stamp, 1068 time_stamp,
1049 flags | EF_FROM_TOUCH), 1069 flags | EF_FROM_TOUCH),
1050 details_(details) { 1070 details_(details) {
1051 } 1071 }
1052 1072
1053 GestureEvent::~GestureEvent() { 1073 GestureEvent::~GestureEvent() {
1054 } 1074 }
1055 1075
1056 } // namespace ui 1076 } // namespace ui
OLDNEW
« no previous file with comments | « ui/events/event.h ('k') | ui/events/event_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698