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 #ifndef CHROME_BROWSER_UI_ASH_MULTI_USER_USER_SWITCH_ANIMATOR_CHROMEOS_H_ | 5 #ifndef CHROME_BROWSER_UI_ASH_MULTI_USER_USER_SWITCH_ANIMATOR_CHROMEOS_H_ |
6 #define CHROME_BROWSER_UI_ASH_MULTI_USER_USER_SWITCH_ANIMATOR_CHROMEOS_H_ | 6 #define CHROME_BROWSER_UI_ASH_MULTI_USER_USER_SWITCH_ANIMATOR_CHROMEOS_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 17 matching lines...) Expand all Loading... |
28 // The animation step for the user change animation. | 28 // The animation step for the user change animation. |
29 enum AnimationStep { | 29 enum AnimationStep { |
30 ANIMATION_STEP_HIDE_OLD_USER, // Hiding the old user (and shelf). | 30 ANIMATION_STEP_HIDE_OLD_USER, // Hiding the old user (and shelf). |
31 ANIMATION_STEP_SHOW_NEW_USER, // Show the shelf of the new user. | 31 ANIMATION_STEP_SHOW_NEW_USER, // Show the shelf of the new user. |
32 ANIMATION_STEP_FINALIZE, // All animations are done - final cleanup. | 32 ANIMATION_STEP_FINALIZE, // All animations are done - final cleanup. |
33 ANIMATION_STEP_ENDED // The animation has ended. | 33 ANIMATION_STEP_ENDED // The animation has ended. |
34 }; | 34 }; |
35 | 35 |
36 UserSwichAnimatorChromeOS(MultiUserWindowManagerChromeOS* owner, | 36 UserSwichAnimatorChromeOS(MultiUserWindowManagerChromeOS* owner, |
37 const std::string& new_user_id, | 37 const std::string& new_user_id, |
38 bool animation_disabled); | 38 int animation_speed_ms); |
39 ~UserSwichAnimatorChromeOS(); | 39 ~UserSwichAnimatorChromeOS(); |
40 | 40 |
41 // Check if a window is covering the entire work area of the screen it is on. | 41 // Check if a window is covering the entire work area of the screen it is on. |
42 static bool CoversScreen(aura::Window* window); | 42 static bool CoversScreen(aura::Window* window); |
43 | 43 |
44 bool IsAnimationFinished() { | 44 bool IsAnimationFinished() { |
45 return animation_step_ == ANIMATION_STEP_ENDED; | 45 return animation_step_ == ANIMATION_STEP_ENDED; |
46 } | 46 } |
47 | 47 |
48 // Returns the user id for which the wallpaper is currently shown. | 48 // Returns the user id for which the wallpaper is currently shown. |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 // Check if a window is maximized / fullscreen / covering the entire screen. | 86 // Check if a window is maximized / fullscreen / covering the entire screen. |
87 // TODO(skuhne): We might want to do this on a per screen basis. | 87 // TODO(skuhne): We might want to do this on a per screen basis. |
88 TransitioningScreenCover GetScreenCover(); | 88 TransitioningScreenCover GetScreenCover(); |
89 | 89 |
90 // The owning window manager. | 90 // The owning window manager. |
91 MultiUserWindowManagerChromeOS* owner_; | 91 MultiUserWindowManagerChromeOS* owner_; |
92 | 92 |
93 // The new user to set. | 93 // The new user to set. |
94 std::string new_user_id_; | 94 std::string new_user_id_; |
95 | 95 |
96 // If true, all animations will be suppressed. | 96 // The animation speed in ms. If 0, animations are disabled. |
97 bool animation_disabled_; | 97 int animation_speed_ms_; |
98 | 98 |
99 // The next animation step for AdvanceUserTransitionAnimation(). | 99 // The next animation step for AdvanceUserTransitionAnimation(). |
100 AnimationStep animation_step_; | 100 AnimationStep animation_step_; |
101 | 101 |
102 // The screen cover status before the animation has started. | 102 // The screen cover status before the animation has started. |
103 TransitioningScreenCover screen_cover_; | 103 TransitioningScreenCover screen_cover_; |
104 | 104 |
105 // A timer which watches to executes the second part of a "user changed" | 105 // A timer which watches to executes the second part of a "user changed" |
106 // animation. Note that this timer exists only during such an animation. | 106 // animation. Note that this timer exists only during such an animation. |
107 scoped_ptr<base::Timer> user_changed_animation_timer_; | 107 scoped_ptr<base::Timer> user_changed_animation_timer_; |
108 | 108 |
109 // For unit tests: Check which wallpaper was set. | 109 // For unit tests: Check which wallpaper was set. |
110 std::string wallpaper_user_id_; | 110 std::string wallpaper_user_id_; |
111 | 111 |
112 DISALLOW_COPY_AND_ASSIGN(UserSwichAnimatorChromeOS); | 112 DISALLOW_COPY_AND_ASSIGN(UserSwichAnimatorChromeOS); |
113 }; | 113 }; |
114 | 114 |
115 } // namespace chrome | 115 } // namespace chrome |
116 | 116 |
117 #endif // CHROME_BROWSER_UI_ASH_MULTI_USER_USER_SWITCH_ANIMATOR_CHROMEOS_H_ | 117 #endif // CHROME_BROWSER_UI_ASH_MULTI_USER_USER_SWITCH_ANIMATOR_CHROMEOS_H_ |
OLD | NEW |