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 #ifndef UI_VIEWS_ANIMATION_INK_DROP_ANIMATION_CONTROLLER_FACTORY_H_ | 5 #ifndef UI_VIEWS_ANIMATION_INK_DROP_ANIMATION_CONTROLLER_FACTORY_H_ |
6 #define UI_VIEWS_ANIMATION_INK_DROP_ANIMATION_CONTROLLER_FACTORY_H_ | 6 #define UI_VIEWS_ANIMATION_INK_DROP_ANIMATION_CONTROLLER_FACTORY_H_ |
7 | 7 |
| 8 #include <memory> |
| 9 |
8 #include "base/macros.h" | 10 #include "base/macros.h" |
9 #include "base/memory/scoped_ptr.h" | |
10 #include "ui/views/views_export.h" | 11 #include "ui/views/views_export.h" |
11 | 12 |
12 namespace views { | 13 namespace views { |
13 class InkDropAnimationController; | 14 class InkDropAnimationController; |
14 class InkDropHost; | 15 class InkDropHost; |
15 | 16 |
16 // A factory to create InkDropAnimationController. A different | 17 // A factory to create InkDropAnimationController. A different |
17 // InkDropAnimationController type will be created based on whether or not | 18 // InkDropAnimationController type will be created based on whether or not |
18 // material design is enabled. | 19 // material design is enabled. |
19 class VIEWS_EXPORT InkDropAnimationControllerFactory { | 20 class VIEWS_EXPORT InkDropAnimationControllerFactory { |
20 public: | 21 public: |
21 // Creates a new InkDropAnimationController that will add/remove an | 22 // Creates a new InkDropAnimationController that will add/remove an |
22 // InkDropAnimation's ui::Layer to/from the |ink_drop_host| when the animation | 23 // InkDropAnimation's ui::Layer to/from the |ink_drop_host| when the animation |
23 // is active/inactive. | 24 // is active/inactive. |
24 static scoped_ptr<InkDropAnimationController> | 25 static std::unique_ptr<InkDropAnimationController> |
25 CreateInkDropAnimationController(InkDropHost* ink_drop_host); | 26 CreateInkDropAnimationController(InkDropHost* ink_drop_host); |
26 | 27 |
27 private: | 28 private: |
28 InkDropAnimationControllerFactory(); | 29 InkDropAnimationControllerFactory(); |
29 ~InkDropAnimationControllerFactory(); | 30 ~InkDropAnimationControllerFactory(); |
30 | 31 |
31 DISALLOW_COPY_AND_ASSIGN(InkDropAnimationControllerFactory); | 32 DISALLOW_COPY_AND_ASSIGN(InkDropAnimationControllerFactory); |
32 }; | 33 }; |
33 | 34 |
34 } // namespace views | 35 } // namespace views |
35 | 36 |
36 #endif // UI_VIEWS_ANIMATION_INK_DROP_ANIMATION_CONTROLLER_FACTORY_H_ | 37 #endif // UI_VIEWS_ANIMATION_INK_DROP_ANIMATION_CONTROLLER_FACTORY_H_ |
OLD | NEW |