| OLD | NEW |
| 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 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
| 10 | 10 |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 } | 315 } |
| 316 | 316 |
| 317 void Event::SetHandled() { | 317 void Event::SetHandled() { |
| 318 // TODO(sad): Re-enable these checks once View uses dispatcher to dispatch | 318 // TODO(sad): Re-enable these checks once View uses dispatcher to dispatch |
| 319 // events. | 319 // events. |
| 320 // CHECK(phase_ != EP_PREDISPATCH && phase_ != EP_POSTDISPATCH); | 320 // CHECK(phase_ != EP_PREDISPATCH && phase_ != EP_POSTDISPATCH); |
| 321 CHECK(cancelable_); | 321 CHECK(cancelable_); |
| 322 result_ = static_cast<EventResult>(result_ | ER_HANDLED); | 322 result_ = static_cast<EventResult>(result_ | ER_HANDLED); |
| 323 } | 323 } |
| 324 | 324 |
| 325 Event::Event(EventType type, base::TimeDelta time_stamp, int flags) | 325 Event::Event(EventType type, base::TimeTicks time_stamp, int flags) |
| 326 : type_(type), | 326 : type_(type), |
| 327 time_stamp_(time_stamp), | 327 time_stamp_(time_stamp), |
| 328 flags_(flags), | 328 flags_(flags), |
| 329 native_event_(base::NativeEvent()), | 329 native_event_(base::NativeEvent()), |
| 330 delete_native_event_(false), | 330 delete_native_event_(false), |
| 331 cancelable_(true), | 331 cancelable_(true), |
| 332 target_(NULL), | 332 target_(NULL), |
| 333 phase_(EP_PREDISPATCH), | 333 phase_(EP_PREDISPATCH), |
| 334 result_(ER_UNHANDLED), | 334 result_(ER_UNHANDLED), |
| 335 source_device_id_(ED_UNKNOWN_DEVICE) { | 335 source_device_id_(ED_UNKNOWN_DEVICE) { |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 name_ = std::string(); | 404 name_ = std::string(); |
| 405 type_ = type; | 405 type_ = type; |
| 406 if (type_ < ET_LAST) | 406 if (type_ < ET_LAST) |
| 407 name_ = EventTypeName(type_); | 407 name_ = EventTypeName(type_); |
| 408 } | 408 } |
| 409 | 409 |
| 410 //////////////////////////////////////////////////////////////////////////////// | 410 //////////////////////////////////////////////////////////////////////////////// |
| 411 // CancelModeEvent | 411 // CancelModeEvent |
| 412 | 412 |
| 413 CancelModeEvent::CancelModeEvent() | 413 CancelModeEvent::CancelModeEvent() |
| 414 : Event(ET_CANCEL_MODE, base::TimeDelta(), 0) { | 414 : Event(ET_CANCEL_MODE, base::TimeTicks(), 0) { |
| 415 set_cancelable(false); | 415 set_cancelable(false); |
| 416 } | 416 } |
| 417 | 417 |
| 418 CancelModeEvent::~CancelModeEvent() { | 418 CancelModeEvent::~CancelModeEvent() { |
| 419 } | 419 } |
| 420 | 420 |
| 421 //////////////////////////////////////////////////////////////////////////////// | 421 //////////////////////////////////////////////////////////////////////////////// |
| 422 // LocatedEvent | 422 // LocatedEvent |
| 423 | 423 |
| 424 LocatedEvent::~LocatedEvent() { | 424 LocatedEvent::~LocatedEvent() { |
| 425 } | 425 } |
| 426 | 426 |
| 427 LocatedEvent::LocatedEvent(const base::NativeEvent& native_event) | 427 LocatedEvent::LocatedEvent(const base::NativeEvent& native_event) |
| 428 : Event(native_event, | 428 : Event(native_event, |
| 429 EventTypeFromNative(native_event), | 429 EventTypeFromNative(native_event), |
| 430 EventFlagsFromNative(native_event)), | 430 EventFlagsFromNative(native_event)), |
| 431 location_(EventLocationFromNative(native_event)), | 431 location_(EventLocationFromNative(native_event)), |
| 432 root_location_(location_) { | 432 root_location_(location_) { |
| 433 } | 433 } |
| 434 | 434 |
| 435 LocatedEvent::LocatedEvent(EventType type, | 435 LocatedEvent::LocatedEvent(EventType type, |
| 436 const gfx::PointF& location, | 436 const gfx::PointF& location, |
| 437 const gfx::PointF& root_location, | 437 const gfx::PointF& root_location, |
| 438 base::TimeDelta time_stamp, | 438 base::TimeTicks time_stamp, |
| 439 int flags) | 439 int flags) |
| 440 : Event(type, time_stamp, flags), | 440 : Event(type, time_stamp, flags), |
| 441 location_(location), | 441 location_(location), |
| 442 root_location_(root_location) { | 442 root_location_(root_location) {} |
| 443 } | |
| 444 | 443 |
| 445 void LocatedEvent::UpdateForRootTransform( | 444 void LocatedEvent::UpdateForRootTransform( |
| 446 const gfx::Transform& reversed_root_transform) { | 445 const gfx::Transform& reversed_root_transform) { |
| 447 // Transform has to be done at root level. | 446 // Transform has to be done at root level. |
| 448 gfx::Point3F p(location_); | 447 gfx::Point3F p(location_); |
| 449 reversed_root_transform.TransformPoint(&p); | 448 reversed_root_transform.TransformPoint(&p); |
| 450 location_ = p.AsPointF(); | 449 location_ = p.AsPointF(); |
| 451 root_location_ = location_; | 450 root_location_ = location_; |
| 452 } | 451 } |
| 453 | 452 |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 498 break; | 497 break; |
| 499 | 498 |
| 500 default: | 499 default: |
| 501 NOTREACHED(); | 500 NOTREACHED(); |
| 502 } | 501 } |
| 503 } | 502 } |
| 504 | 503 |
| 505 MouseEvent::MouseEvent(EventType type, | 504 MouseEvent::MouseEvent(EventType type, |
| 506 const gfx::Point& location, | 505 const gfx::Point& location, |
| 507 const gfx::Point& root_location, | 506 const gfx::Point& root_location, |
| 508 base::TimeDelta time_stamp, | 507 base::TimeTicks time_stamp, |
| 509 int flags, | 508 int flags, |
| 510 int changed_button_flags) | 509 int changed_button_flags) |
| 511 : LocatedEvent(type, | 510 : LocatedEvent(type, |
| 512 gfx::PointF(location), | 511 gfx::PointF(location), |
| 513 gfx::PointF(root_location), | 512 gfx::PointF(root_location), |
| 514 time_stamp, | 513 time_stamp, |
| 515 flags), | 514 flags), |
| 516 changed_button_flags_(changed_button_flags), | 515 changed_button_flags_(changed_button_flags), |
| 517 pointer_details_(PointerDetails(EventPointerType::POINTER_TYPE_MOUSE)) { | 516 pointer_details_(PointerDetails(EventPointerType::POINTER_TYPE_MOUSE)) { |
| 518 latency()->AddLatencyNumber(INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0); | 517 latency()->AddLatencyNumber(INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0); |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 662 | 661 |
| 663 MouseWheelEvent::MouseWheelEvent(const MouseWheelEvent& mouse_wheel_event) | 662 MouseWheelEvent::MouseWheelEvent(const MouseWheelEvent& mouse_wheel_event) |
| 664 : MouseEvent(mouse_wheel_event), | 663 : MouseEvent(mouse_wheel_event), |
| 665 offset_(mouse_wheel_event.offset()) { | 664 offset_(mouse_wheel_event.offset()) { |
| 666 DCHECK(type() == ET_MOUSEWHEEL); | 665 DCHECK(type() == ET_MOUSEWHEEL); |
| 667 } | 666 } |
| 668 | 667 |
| 669 MouseWheelEvent::MouseWheelEvent(const gfx::Vector2d& offset, | 668 MouseWheelEvent::MouseWheelEvent(const gfx::Vector2d& offset, |
| 670 const gfx::Point& location, | 669 const gfx::Point& location, |
| 671 const gfx::Point& root_location, | 670 const gfx::Point& root_location, |
| 672 base::TimeDelta time_stamp, | 671 base::TimeTicks time_stamp, |
| 673 int flags, | 672 int flags, |
| 674 int changed_button_flags) | 673 int changed_button_flags) |
| 675 : MouseEvent(ui::ET_MOUSEWHEEL, | 674 : MouseEvent(ui::ET_MOUSEWHEEL, |
| 676 location, | 675 location, |
| 677 root_location, | 676 root_location, |
| 678 time_stamp, | 677 time_stamp, |
| 679 flags, | 678 flags, |
| 680 changed_button_flags), | 679 changed_button_flags), |
| 681 offset_(offset) {} | 680 offset_(offset) {} |
| 682 | 681 |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 737 break; | 736 break; |
| 738 | 737 |
| 739 default: | 738 default: |
| 740 NOTREACHED(); | 739 NOTREACHED(); |
| 741 } | 740 } |
| 742 } | 741 } |
| 743 | 742 |
| 744 TouchEvent::TouchEvent(EventType type, | 743 TouchEvent::TouchEvent(EventType type, |
| 745 const gfx::Point& location, | 744 const gfx::Point& location, |
| 746 int touch_id, | 745 int touch_id, |
| 747 base::TimeDelta time_stamp) | 746 base::TimeTicks time_stamp) |
| 748 : LocatedEvent(type, | 747 : LocatedEvent(type, |
| 749 gfx::PointF(location), | 748 gfx::PointF(location), |
| 750 gfx::PointF(location), | 749 gfx::PointF(location), |
| 751 time_stamp, | 750 time_stamp, |
| 752 0), | 751 0), |
| 753 touch_id_(touch_id), | 752 touch_id_(touch_id), |
| 754 unique_event_id_(ui::GetNextTouchEventId()), | 753 unique_event_id_(ui::GetNextTouchEventId()), |
| 755 rotation_angle_(0.0f), | 754 rotation_angle_(0.0f), |
| 756 may_cause_scrolling_(false), | 755 may_cause_scrolling_(false), |
| 757 should_remove_native_touch_id_mapping_(false), | 756 should_remove_native_touch_id_mapping_(false), |
| 758 pointer_details_(PointerDetails(EventPointerType::POINTER_TYPE_TOUCH)) { | 757 pointer_details_(PointerDetails(EventPointerType::POINTER_TYPE_TOUCH)) { |
| 759 latency()->AddLatencyNumber(INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0); | 758 latency()->AddLatencyNumber(INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0); |
| 760 } | 759 } |
| 761 | 760 |
| 762 TouchEvent::TouchEvent(EventType type, | 761 TouchEvent::TouchEvent(EventType type, |
| 763 const gfx::Point& location, | 762 const gfx::Point& location, |
| 764 int flags, | 763 int flags, |
| 765 int touch_id, | 764 int touch_id, |
| 766 base::TimeDelta time_stamp, | 765 base::TimeTicks time_stamp, |
| 767 float radius_x, | 766 float radius_x, |
| 768 float radius_y, | 767 float radius_y, |
| 769 float angle, | 768 float angle, |
| 770 float force) | 769 float force) |
| 771 : LocatedEvent(type, | 770 : LocatedEvent(type, |
| 772 gfx::PointF(location), | 771 gfx::PointF(location), |
| 773 gfx::PointF(location), | 772 gfx::PointF(location), |
| 774 time_stamp, | 773 time_stamp, |
| 775 flags), | 774 flags), |
| 776 touch_id_(touch_id), | 775 touch_id_(touch_id), |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 921 NOTREACHED(); | 920 NOTREACHED(); |
| 922 } | 921 } |
| 923 } | 922 } |
| 924 | 923 |
| 925 PointerEvent::PointerEvent(EventType type, | 924 PointerEvent::PointerEvent(EventType type, |
| 926 const gfx::Point& location, | 925 const gfx::Point& location, |
| 927 const gfx::Point& root_location, | 926 const gfx::Point& root_location, |
| 928 int flags, | 927 int flags, |
| 929 int pointer_id, | 928 int pointer_id, |
| 930 const PointerDetails& pointer_details, | 929 const PointerDetails& pointer_details, |
| 931 base::TimeDelta time_stamp) | 930 base::TimeTicks time_stamp) |
| 932 : LocatedEvent(type, | 931 : LocatedEvent(type, |
| 933 gfx::PointF(location), | 932 gfx::PointF(location), |
| 934 gfx::PointF(root_location), | 933 gfx::PointF(root_location), |
| 935 time_stamp, | 934 time_stamp, |
| 936 flags), | 935 flags), |
| 937 pointer_id_(pointer_id), | 936 pointer_id_(pointer_id), |
| 938 details_(pointer_details) {} | 937 details_(pointer_details) {} |
| 939 | 938 |
| 940 const int PointerEvent::kMousePointerId = std::numeric_limits<int32_t>::max(); | 939 const int PointerEvent::kMousePointerId = std::numeric_limits<int32_t>::max(); |
| 941 | 940 |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1020 : Event(type, EventTimeForNow(), flags), | 1019 : Event(type, EventTimeForNow(), flags), |
| 1021 key_code_(key_code), | 1020 key_code_(key_code), |
| 1022 code_(code) { | 1021 code_(code) { |
| 1023 } | 1022 } |
| 1024 | 1023 |
| 1025 KeyEvent::KeyEvent(EventType type, | 1024 KeyEvent::KeyEvent(EventType type, |
| 1026 KeyboardCode key_code, | 1025 KeyboardCode key_code, |
| 1027 DomCode code, | 1026 DomCode code, |
| 1028 int flags, | 1027 int flags, |
| 1029 DomKey key, | 1028 DomKey key, |
| 1030 base::TimeDelta time_stamp) | 1029 base::TimeTicks time_stamp) |
| 1031 : Event(type, time_stamp, flags), | 1030 : Event(type, time_stamp, flags), |
| 1032 key_code_(key_code), | 1031 key_code_(key_code), |
| 1033 code_(code), | 1032 code_(code), |
| 1034 key_(key) { | 1033 key_(key) {} |
| 1035 } | |
| 1036 | 1034 |
| 1037 KeyEvent::KeyEvent(base::char16 character, KeyboardCode key_code, int flags) | 1035 KeyEvent::KeyEvent(base::char16 character, KeyboardCode key_code, int flags) |
| 1038 : Event(ET_KEY_PRESSED, EventTimeForNow(), flags), | 1036 : Event(ET_KEY_PRESSED, EventTimeForNow(), flags), |
| 1039 key_code_(key_code), | 1037 key_code_(key_code), |
| 1040 code_(DomCode::NONE), | 1038 code_(DomCode::NONE), |
| 1041 is_char_(true), | 1039 is_char_(true), |
| 1042 key_(DomKey::FromCharacter(character)) { | 1040 key_(DomKey::FromCharacter(character)) { |
| 1043 } | 1041 } |
| 1044 | 1042 |
| 1045 KeyEvent::KeyEvent(const KeyEvent& rhs) | 1043 KeyEvent::KeyEvent(const KeyEvent& rhs) |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1241 &x_offset_ordinal_, &y_offset_ordinal_, | 1239 &x_offset_ordinal_, &y_offset_ordinal_, |
| 1242 NULL); | 1240 NULL); |
| 1243 } else { | 1241 } else { |
| 1244 NOTREACHED() << "Unexpected event type " << type() | 1242 NOTREACHED() << "Unexpected event type " << type() |
| 1245 << " when constructing a ScrollEvent."; | 1243 << " when constructing a ScrollEvent."; |
| 1246 } | 1244 } |
| 1247 } | 1245 } |
| 1248 | 1246 |
| 1249 ScrollEvent::ScrollEvent(EventType type, | 1247 ScrollEvent::ScrollEvent(EventType type, |
| 1250 const gfx::Point& location, | 1248 const gfx::Point& location, |
| 1251 base::TimeDelta time_stamp, | 1249 base::TimeTicks time_stamp, |
| 1252 int flags, | 1250 int flags, |
| 1253 float x_offset, | 1251 float x_offset, |
| 1254 float y_offset, | 1252 float y_offset, |
| 1255 float x_offset_ordinal, | 1253 float x_offset_ordinal, |
| 1256 float y_offset_ordinal, | 1254 float y_offset_ordinal, |
| 1257 int finger_count) | 1255 int finger_count) |
| 1258 : MouseEvent(type, location, location, time_stamp, flags, 0), | 1256 : MouseEvent(type, location, location, time_stamp, flags, 0), |
| 1259 x_offset_(x_offset), | 1257 x_offset_(x_offset), |
| 1260 y_offset_(y_offset), | 1258 y_offset_(y_offset), |
| 1261 x_offset_ordinal_(x_offset_ordinal), | 1259 x_offset_ordinal_(x_offset_ordinal), |
| 1262 y_offset_ordinal_(y_offset_ordinal), | 1260 y_offset_ordinal_(y_offset_ordinal), |
| 1263 finger_count_(finger_count) { | 1261 finger_count_(finger_count) { |
| 1264 CHECK(IsScrollEvent()); | 1262 CHECK(IsScrollEvent()); |
| 1265 } | 1263 } |
| 1266 | 1264 |
| 1267 void ScrollEvent::Scale(const float factor) { | 1265 void ScrollEvent::Scale(const float factor) { |
| 1268 x_offset_ *= factor; | 1266 x_offset_ *= factor; |
| 1269 y_offset_ *= factor; | 1267 y_offset_ *= factor; |
| 1270 x_offset_ordinal_ *= factor; | 1268 x_offset_ordinal_ *= factor; |
| 1271 y_offset_ordinal_ *= factor; | 1269 y_offset_ordinal_ *= factor; |
| 1272 } | 1270 } |
| 1273 | 1271 |
| 1274 //////////////////////////////////////////////////////////////////////////////// | 1272 //////////////////////////////////////////////////////////////////////////////// |
| 1275 // GestureEvent | 1273 // GestureEvent |
| 1276 | 1274 |
| 1277 GestureEvent::GestureEvent(float x, | 1275 GestureEvent::GestureEvent(float x, |
| 1278 float y, | 1276 float y, |
| 1279 int flags, | 1277 int flags, |
| 1280 base::TimeDelta time_stamp, | 1278 base::TimeTicks time_stamp, |
| 1281 const GestureEventDetails& details) | 1279 const GestureEventDetails& details) |
| 1282 : LocatedEvent(details.type(), | 1280 : LocatedEvent(details.type(), |
| 1283 gfx::PointF(x, y), | 1281 gfx::PointF(x, y), |
| 1284 gfx::PointF(x, y), | 1282 gfx::PointF(x, y), |
| 1285 time_stamp, | 1283 time_stamp, |
| 1286 flags | EF_FROM_TOUCH), | 1284 flags | EF_FROM_TOUCH), |
| 1287 details_(details) { | 1285 details_(details) {} |
| 1288 } | |
| 1289 | 1286 |
| 1290 GestureEvent::~GestureEvent() { | 1287 GestureEvent::~GestureEvent() { |
| 1291 } | 1288 } |
| 1292 | 1289 |
| 1293 } // namespace ui | 1290 } // namespace ui |
| OLD | NEW |