OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "services/view_manager/gesture_manager.h" | 5 #include "services/view_manager/gesture_manager.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "mojo/services/input_events/public/interfaces/input_events.mojom.h" | 9 #include "mojo/services/input_events/public/interfaces/input_events.mojom.h" |
10 #include "mojo/services/view_manager/public/cpp/keys.h" | 10 #include "mojo/services/view_manager/public/cpp/keys.h" |
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
475 gesture_to_choose = gesture; | 475 gesture_to_choose = gesture; |
476 } | 476 } |
477 } | 477 } |
478 } | 478 } |
479 if (view) | 479 if (view) |
480 gesture_manager_->ChooseGesture(gesture_to_choose, this, view); | 480 gesture_manager_->ChooseGesture(gesture_to_choose, this, view); |
481 } | 481 } |
482 | 482 |
483 bool GestureManager::Pointer::ScheduleDeleteIfNecessary() { | 483 bool GestureManager::Pointer::ScheduleDeleteIfNecessary() { |
484 if (current_event_ && | 484 if (current_event_ && |
485 (current_event_->action == mojo::EVENT_TYPE_POINTER_UP || | 485 (current_event_->action == mojo::EventType::POINTER_UP || |
486 current_event_->action == mojo::EVENT_TYPE_POINTER_CANCEL)) { | 486 current_event_->action == mojo::EventType::POINTER_CANCEL)) { |
487 gesture_manager_->ScheduleDelete(this); | 487 gesture_manager_->ScheduleDelete(this); |
488 return true; | 488 return true; |
489 } | 489 } |
490 return false; | 490 return false; |
491 } | 491 } |
492 | 492 |
493 // ScheduledDeleteProcessor --------------------------------------------------- | 493 // ScheduledDeleteProcessor --------------------------------------------------- |
494 | 494 |
495 class GestureManager::ScheduledDeleteProcessor { | 495 class GestureManager::ScheduledDeleteProcessor { |
496 public: | 496 public: |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
540 } | 540 } |
541 | 541 |
542 bool GestureManager::ProcessEvent(const mojo::Event& event) { | 542 bool GestureManager::ProcessEvent(const mojo::Event& event) { |
543 if (!event.pointer_data) | 543 if (!event.pointer_data) |
544 return false; | 544 return false; |
545 | 545 |
546 ScheduledDeleteProcessor delete_processor(this); | 546 ScheduledDeleteProcessor delete_processor(this); |
547 const gfx::Point location(static_cast<int>(event.pointer_data->x), | 547 const gfx::Point location(static_cast<int>(event.pointer_data->x), |
548 static_cast<int>(event.pointer_data->y)); | 548 static_cast<int>(event.pointer_data->y)); |
549 switch (event.action) { | 549 switch (event.action) { |
550 case mojo::EVENT_TYPE_POINTER_DOWN: { | 550 case mojo::EventType::POINTER_DOWN: { |
551 if (GetPointerById(event.pointer_data->pointer_id)) { | 551 if (GetPointerById(event.pointer_data->pointer_id)) { |
552 DVLOG(1) << "received more than one down for a pointer without a " | 552 DVLOG(1) << "received more than one down for a pointer without a " |
553 << "corresponding up, id=" << event.pointer_data->pointer_id; | 553 << "corresponding up, id=" << event.pointer_data->pointer_id; |
554 NOTREACHED(); | 554 NOTREACHED(); |
555 return true; | 555 return true; |
556 } | 556 } |
557 | 557 |
558 const ServerView* deepest = FindDeepestVisibleView(root_view_, location); | 558 const ServerView* deepest = FindDeepestVisibleView(root_view_, location); |
559 Views targets(GetTouchTargets(deepest)); | 559 Views targets(GetTouchTargets(deepest)); |
560 if (targets.empty()) | 560 if (targets.empty()) |
561 return true; | 561 return true; |
562 | 562 |
563 scoped_ptr<Pointer> pointer( | 563 scoped_ptr<Pointer> pointer( |
564 new Pointer(this, event.pointer_data->pointer_id, event, targets)); | 564 new Pointer(this, event.pointer_data->pointer_id, event, targets)); |
565 active_pointers_.push_back(pointer.Pass()); | 565 active_pointers_.push_back(pointer.Pass()); |
566 return true; | 566 return true; |
567 } | 567 } |
568 | 568 |
569 case mojo::EVENT_TYPE_POINTER_CANCEL: | 569 case mojo::EventType::POINTER_CANCEL: |
570 case mojo::EVENT_TYPE_POINTER_MOVE: | 570 case mojo::EventType::POINTER_MOVE: |
571 case mojo::EVENT_TYPE_POINTER_UP: { | 571 case mojo::EventType::POINTER_UP: { |
572 Pointer* pointer = GetPointerById(event.pointer_data->pointer_id); | 572 Pointer* pointer = GetPointerById(event.pointer_data->pointer_id); |
573 // We delete a pointer when it has no gestures, so it's possible to get | 573 // We delete a pointer when it has no gestures, so it's possible to get |
574 // here with no gestures. Additionally there is no need to explicitly | 574 // here with no gestures. Additionally there is no need to explicitly |
575 // delete |pointer| as it'll tell us when it's ready to be deleted. | 575 // delete |pointer| as it'll tell us when it's ready to be deleted. |
576 if (pointer) | 576 if (pointer) |
577 pointer->ProcessEvent(event); | 577 pointer->ProcessEvent(event); |
578 return true; | 578 return true; |
579 } | 579 } |
580 | 580 |
581 default: | 581 default: |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
692 void GestureManager::ScheduleDelete(Pointer* pointer) { | 692 void GestureManager::ScheduleDelete(Pointer* pointer) { |
693 auto iter = | 693 auto iter = |
694 std::find(active_pointers_.begin(), active_pointers_.end(), pointer); | 694 std::find(active_pointers_.begin(), active_pointers_.end(), pointer); |
695 if (iter != active_pointers_.end()) { | 695 if (iter != active_pointers_.end()) { |
696 active_pointers_.weak_erase(iter); | 696 active_pointers_.weak_erase(iter); |
697 pointers_to_delete_.push_back(pointer); | 697 pointers_to_delete_.push_back(pointer); |
698 } | 698 } |
699 } | 699 } |
700 | 700 |
701 } // namespace view_manager | 701 } // namespace view_manager |
OLD | NEW |