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 ASH_DISPLAY_DISPLAY_CONFIGURATOR_ANIMATION_H_ | 5 #ifndef ASH_DISPLAY_DISPLAY_CONFIGURATOR_ANIMATION_H_ |
6 #define ASH_DISPLAY_DISPLAY_CONFIGURATOR_ANIMATION_H_ | 6 #define ASH_DISPLAY_DISPLAY_CONFIGURATOR_ANIMATION_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 | 9 |
10 #include "ash/ash_export.h" | 10 #include "ash/ash_export.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 | 24 |
25 namespace ash { | 25 namespace ash { |
26 | 26 |
27 // DisplayConfiguratorAnimation provides the visual effects for | 27 // DisplayConfiguratorAnimation provides the visual effects for |
28 // ui::DisplayConfigurator, such like fade-out/in during changing | 28 // ui::DisplayConfigurator, such like fade-out/in during changing |
29 // the display mode. | 29 // the display mode. |
30 class ASH_EXPORT DisplayConfiguratorAnimation | 30 class ASH_EXPORT DisplayConfiguratorAnimation |
31 : public ui::DisplayConfigurator::Observer { | 31 : public ui::DisplayConfigurator::Observer { |
32 public: | 32 public: |
33 DisplayConfiguratorAnimation(); | 33 DisplayConfiguratorAnimation(); |
34 virtual ~DisplayConfiguratorAnimation(); | 34 ~DisplayConfiguratorAnimation() override; |
35 | 35 |
36 // Starts the fade-out animation for the all root windows. It will | 36 // Starts the fade-out animation for the all root windows. It will |
37 // call |callback| once all of the animations have finished. | 37 // call |callback| once all of the animations have finished. |
38 void StartFadeOutAnimation(base::Closure callback); | 38 void StartFadeOutAnimation(base::Closure callback); |
39 | 39 |
40 // Starts the animation to clear the fade-out animation effect | 40 // Starts the animation to clear the fade-out animation effect |
41 // for the all root windows. | 41 // for the all root windows. |
42 void StartFadeInAnimation(); | 42 void StartFadeInAnimation(); |
43 | 43 |
44 protected: | 44 protected: |
45 // ui::DisplayConfigurator::Observer overrides: | 45 // ui::DisplayConfigurator::Observer overrides: |
46 virtual void OnDisplayModeChanged( | 46 void OnDisplayModeChanged( |
47 const ui::DisplayConfigurator::DisplayStateList& outputs) override; | 47 const ui::DisplayConfigurator::DisplayStateList& outputs) override; |
48 virtual void OnDisplayModeChangeFailed( | 48 void OnDisplayModeChangeFailed( |
49 ui::MultipleDisplayState failed_new_state) override; | 49 ui::MultipleDisplayState failed_new_state) override; |
50 | 50 |
51 private: | 51 private: |
52 // Clears all hiding layers. Note that in case that this method is called | 52 // Clears all hiding layers. Note that in case that this method is called |
53 // during an animation, the method call will cancel all of the animations | 53 // during an animation, the method call will cancel all of the animations |
54 // and *not* call the registered callback. | 54 // and *not* call the registered callback. |
55 void ClearHidingLayers(); | 55 void ClearHidingLayers(); |
56 | 56 |
57 std::map<aura::Window*, ui::Layer*> hiding_layers_; | 57 std::map<aura::Window*, ui::Layer*> hiding_layers_; |
58 scoped_ptr<base::OneShotTimer<DisplayConfiguratorAnimation> > timer_; | 58 scoped_ptr<base::OneShotTimer<DisplayConfiguratorAnimation> > timer_; |
59 base::WeakPtrFactory<DisplayConfiguratorAnimation> weak_ptr_factory_; | 59 base::WeakPtrFactory<DisplayConfiguratorAnimation> weak_ptr_factory_; |
60 | 60 |
61 DISALLOW_COPY_AND_ASSIGN(DisplayConfiguratorAnimation); | 61 DISALLOW_COPY_AND_ASSIGN(DisplayConfiguratorAnimation); |
62 }; | 62 }; |
63 | 63 |
64 } // namespace ash | 64 } // namespace ash |
65 | 65 |
66 #endif // ASH_DISPLAY_DISPLAY_CONFIGURATION_CONTROLLER_H_ | 66 #endif // ASH_DISPLAY_DISPLAY_CONFIGURATION_CONTROLLER_H_ |
OLD | NEW |