| 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 |