OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 "athena/wm/window_overview_mode.h" | 5 #include "athena/wm/window_overview_mode.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <functional> | 8 #include <functional> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
585 dragged_window_->layer()->SetOpacity(1.f); | 585 dragged_window_->layer()->SetOpacity(1.f); |
586 dragged_window_ = NULL; | 586 dragged_window_ = NULL; |
587 } | 587 } |
588 | 588 |
589 void EndDragWindow(const ui::GestureEvent& gesture) { | 589 void EndDragWindow(const ui::GestureEvent& gesture) { |
590 CHECK(dragged_window_); | 590 CHECK(dragged_window_); |
591 CHECK(overview_toolbar_); | 591 CHECK(overview_toolbar_); |
592 OverviewToolbar::ActionType action = overview_toolbar_->current_action(); | 592 OverviewToolbar::ActionType action = overview_toolbar_->current_action(); |
593 overview_toolbar_.reset(); | 593 overview_toolbar_.reset(); |
594 if (action == OverviewToolbar::ACTION_TYPE_SPLIT) { | 594 if (action == OverviewToolbar::ACTION_TYPE_SPLIT) { |
595 delegate_->OnSplitViewMode(NULL, dragged_window_); | 595 delegate_->OnSelectSplitViewWindow(NULL, |
| 596 dragged_window_, |
| 597 dragged_window_); |
596 return; | 598 return; |
597 } | 599 } |
598 | 600 |
599 // If the window is dropped on one of the left/right windows in split-mode, | 601 // If the window is dropped on one of the left/right windows in split-mode, |
600 // then switch that window. | 602 // then switch that window. |
601 aura::Window* split_drop = GetSplitWindowDropTarget(gesture); | 603 aura::Window* split_drop = GetSplitWindowDropTarget(gesture); |
602 if (split_drop) { | 604 if (split_drop) { |
603 aura::Window* left = split_view_controller_->left_window(); | 605 aura::Window* left = split_view_controller_->left_window(); |
604 aura::Window* right = split_view_controller_->right_window(); | 606 aura::Window* right = split_view_controller_->right_window(); |
605 if (left == split_drop) | 607 if (left == split_drop) |
606 left = dragged_window_; | 608 left = dragged_window_; |
607 else | 609 else |
608 right = dragged_window_; | 610 right = dragged_window_; |
609 delegate_->OnSplitViewMode(left, right); | 611 delegate_->OnSelectSplitViewWindow(left, right, dragged_window_); |
610 return; | 612 return; |
611 } | 613 } |
612 | 614 |
613 if (ShouldCloseDragWindow(gesture)) | 615 if (ShouldCloseDragWindow(gesture)) |
614 CloseDragWindow(gesture); | 616 CloseDragWindow(gesture); |
615 else | 617 else |
616 RestoreDragWindow(); | 618 RestoreDragWindow(); |
617 } | 619 } |
618 | 620 |
619 void SelectWindow(aura::Window* window) { | 621 void SelectWindow(aura::Window* window) { |
620 if (!split_view_controller_->IsSplitViewModeActive()) { | 622 if (!split_view_controller_->IsSplitViewModeActive()) { |
621 delegate_->OnSelectWindow(window); | 623 delegate_->OnSelectWindow(window); |
622 } else { | 624 } else { |
623 // If the selected window is one of the left/right windows, then keep the | 625 // If the selected window is one of the left/right windows, then keep the |
624 // current state. | 626 // current state. |
625 if (window == split_view_controller_->left_window() || | 627 if (window == split_view_controller_->left_window() || |
626 window == split_view_controller_->right_window()) { | 628 window == split_view_controller_->right_window()) { |
627 delegate_->OnSplitViewMode(split_view_controller_->left_window(), | 629 delegate_->OnSelectSplitViewWindow( |
628 split_view_controller_->right_window()); | 630 split_view_controller_->left_window(), |
| 631 split_view_controller_->right_window(), |
| 632 window); |
629 } else { | 633 } else { |
630 delegate_->OnSelectWindow(window); | 634 delegate_->OnSelectWindow(window); |
631 } | 635 } |
632 } | 636 } |
633 } | 637 } |
634 | 638 |
635 // ui::EventHandler: | 639 // ui::EventHandler: |
636 virtual void OnMouseEvent(ui::MouseEvent* mouse) OVERRIDE { | 640 virtual void OnMouseEvent(ui::MouseEvent* mouse) OVERRIDE { |
637 if (mouse->type() == ui::ET_MOUSE_PRESSED) { | 641 if (mouse->type() == ui::ET_MOUSE_PRESSED) { |
638 aura::Window* select = SelectWindowAt(mouse); | 642 aura::Window* select = SelectWindowAt(mouse); |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
753 aura::Window* container, | 757 aura::Window* container, |
754 const WindowListProvider* window_list_provider, | 758 const WindowListProvider* window_list_provider, |
755 SplitViewController* split_view_controller, | 759 SplitViewController* split_view_controller, |
756 WindowOverviewModeDelegate* delegate) { | 760 WindowOverviewModeDelegate* delegate) { |
757 return scoped_ptr<WindowOverviewMode>( | 761 return scoped_ptr<WindowOverviewMode>( |
758 new WindowOverviewModeImpl(container, window_list_provider, | 762 new WindowOverviewModeImpl(container, window_list_provider, |
759 split_view_controller, delegate)); | 763 split_view_controller, delegate)); |
760 } | 764 } |
761 | 765 |
762 } // namespace athena | 766 } // namespace athena |
OLD | NEW |