| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef ASH_WM_OVERVIEW_SCOPED_TRANSFORM_OVERVIEW_WINDOW_H_ | 5 #ifndef ASH_WM_OVERVIEW_SCOPED_TRANSFORM_OVERVIEW_WINDOW_H_ |
| 6 #define ASH_WM_OVERVIEW_SCOPED_TRANSFORM_OVERVIEW_WINDOW_H_ | 6 #define ASH_WM_OVERVIEW_SCOPED_TRANSFORM_OVERVIEW_WINDOW_H_ |
| 7 | 7 |
| 8 #include "ash/wm/overview/scoped_overview_animation_settings.h" | 8 #include "ash/wm/overview/scoped_overview_animation_settings.h" |
| 9 #include "ash/wm/overview/transparent_activate_window_button.h" | 9 #include "ash/wm/overview/transparent_activate_window_button.h" |
| 10 #include "ash/wm/overview/transparent_activate_window_button_delegate.h" | 10 #include "ash/wm/overview/transparent_activate_window_button_delegate.h" |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 gfx::Transform get_overview_transform() const { return overview_transform_; } | 56 gfx::Transform get_overview_transform() const { return overview_transform_; } |
| 57 | 57 |
| 58 void set_overview_transform(const gfx::Transform& transform) { | 58 void set_overview_transform(const gfx::Transform& transform) { |
| 59 overview_transform_ = transform; | 59 overview_transform_ = transform; |
| 60 } | 60 } |
| 61 | 61 |
| 62 TransparentActivateWindowButton* activate_button() { | 62 TransparentActivateWindowButton* activate_button() { |
| 63 return activate_button_.get(); | 63 return activate_button_.get(); |
| 64 } | 64 } |
| 65 | 65 |
| 66 | |
| 67 // Starts an animation sequence which will use animation settings specified by | 66 // Starts an animation sequence which will use animation settings specified by |
| 68 // |animation_type|. The |animation_settings| container is populated with | 67 // |animation_type|. The |animation_settings| container is populated with |
| 69 // scoped entities and the container should be destroyed at the end of the | 68 // scoped entities and the container should be destroyed at the end of the |
| 70 // animation sequence. | 69 // animation sequence. |
| 71 // | 70 // |
| 72 // Example: | 71 // Example: |
| 73 // ScopedTransformOverviewWindow overview_window(window); | 72 // ScopedTransformOverviewWindow overview_window(window); |
| 74 // ScopedTransformOverviewWindow::ScopedAnimationSettings scoped_settings; | 73 // ScopedTransformOverviewWindow::ScopedAnimationSettings scoped_settings; |
| 75 // overview_window.BeginScopedAnimation( | 74 // overview_window.BeginScopedAnimation( |
| 76 // OverviewAnimationType::OVERVIEW_ANIMATION_SELECTOR_ITEM_SCROLL_CANCEL, | 75 // OverviewAnimationType::OVERVIEW_ANIMATION_SELECTOR_ITEM_SCROLL_CANCEL, |
| 77 // &animation_settings); | 76 // &animation_settings); |
| 78 // // Calls to SetTransform & SetOpacity will use the same animation settings | 77 // // Calls to SetTransform & SetOpacity will use the same animation settings |
| 79 // // until scoped_settings is destroyed. | 78 // // until scoped_settings is destroyed. |
| 80 // overview_window.SetTransform(root_window, new_transform); | 79 // overview_window.SetTransform(root_window, new_transform); |
| 81 // overview_window.SetOpacity(1); | 80 // overview_window.SetOpacity(1); |
| 82 void BeginScopedAnimation( | 81 void BeginScopedAnimation( |
| 83 OverviewAnimationType animation_type, | 82 OverviewAnimationType animation_type, |
| 84 ScopedAnimationSettings* animation_settings); | 83 ScopedAnimationSettings* animation_settings); |
| 85 | 84 |
| 86 // Returns true if this window selector window contains the |target|. | 85 // Returns true if this window selector window contains the |target|. |
| 87 bool Contains(const aura::Window* target) const; | 86 bool Contains(const aura::Window* target) const; |
| 88 | 87 |
| 89 // Returns the original target bounds of all transformed windows. | 88 // Returns the original target bounds of all transformed windows. |
| 90 gfx::Rect GetTargetBoundsInScreen() const; | 89 gfx::Rect GetTargetBoundsInScreen() const; |
| 91 | 90 |
| 92 // Restores the window if it was minimized. | 91 // Restores and animates the managed window to it's non overview mode state. |
| 93 void RestoreWindow(); | 92 void RestoreWindow(); |
| 94 | 93 |
| 95 // Restores this window on exit rather than returning it to a minimized state | 94 // Forces the managed window to be shown (ie not hidden or minimized) when |
| 96 // if it was minimized on entering overview mode. | 95 // calling RestoreWindow(). |
| 97 void RestoreWindowOnExit(); | 96 void ShowWindowOnExit(); |
| 98 | 97 |
| 99 // Informs the ScopedTransformOverviewWindow that the window being watched was | 98 // Informs the ScopedTransformOverviewWindow that the window being watched was |
| 100 // destroyed. This resets the internal window pointer to avoid calling | 99 // destroyed. This resets the internal window pointer. |
| 101 // anything on the window at destruction time. | |
| 102 void OnWindowDestroyed(); | 100 void OnWindowDestroyed(); |
| 103 | 101 |
| 104 // Prepares for overview mode by doing any necessary actions before entering. | 102 // Prepares for overview mode by doing any necessary actions before entering. |
| 105 void PrepareForOverview(); | 103 void PrepareForOverview(); |
| 106 | 104 |
| 107 // Applies the |transform| to the overview window and all of its transient | 105 // Applies the |transform| to the overview window and all of its transient |
| 108 // children. | 106 // children. |
| 109 void SetTransform(aura::Window* root_window, | 107 void SetTransform(aura::Window* root_window, |
| 110 const gfx::Transform& transform); | 108 const gfx::Transform& transform); |
| 111 | 109 |
| 112 // Set's the opacity of the managed windows. | 110 // Set's the opacity of the managed windows. |
| 113 void SetOpacity(float opacity); | 111 void SetOpacity(float opacity); |
| 114 | 112 |
| 115 aura::Window* window() const { return window_; } | 113 aura::Window* window() const { return window_; } |
| 116 | 114 |
| 117 // Closes the transient root of the window managed by |this|. | 115 // Closes the transient root of the window managed by |this|. |
| 118 void Close(); | 116 void Close(); |
| 119 | 117 |
| 120 // ash::TransparentActivateWindowButtonDelegate: | 118 // ash::TransparentActivateWindowButtonDelegate: |
| 121 void Select() override; | 119 void Select() override; |
| 122 | 120 |
| 123 private: | 121 private: |
| 122 // Shows the window if it was minimized. |
| 123 void ShowWindowIfMinimized(); |
| 124 |
| 124 // A weak pointer to the real window in the overview. | 125 // A weak pointer to the real window in the overview. |
| 125 aura::Window* window_; | 126 aura::Window* window_; |
| 126 | 127 |
| 127 // The transparent overlay that captures events. | 128 // The transparent overlay that captures events. |
| 128 scoped_ptr<TransparentActivateWindowButton> activate_button_; | 129 scoped_ptr<TransparentActivateWindowButton> activate_button_; |
| 129 | 130 |
| 130 // If true, the window was minimized and should be restored if the window | 131 // If true, the window was minimized and should be restored if the window |
| 131 // was not selected. | 132 // was not selected. |
| 132 bool minimized_; | 133 bool minimized_; |
| 133 | 134 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 146 | 147 |
| 147 // The original opacity of the window before entering overview mode. | 148 // The original opacity of the window before entering overview mode. |
| 148 float original_opacity_; | 149 float original_opacity_; |
| 149 | 150 |
| 150 DISALLOW_COPY_AND_ASSIGN(ScopedTransformOverviewWindow); | 151 DISALLOW_COPY_AND_ASSIGN(ScopedTransformOverviewWindow); |
| 151 }; | 152 }; |
| 152 | 153 |
| 153 } // namespace ash | 154 } // namespace ash |
| 154 | 155 |
| 155 #endif // ASH_WM_OVERVIEW_SCOPED_TRANSFORM_OVERVIEW_WINDOW_H_ | 156 #endif // ASH_WM_OVERVIEW_SCOPED_TRANSFORM_OVERVIEW_WINDOW_H_ |
| OLD | NEW |