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_BASE_MATERIAL_DESIGN_MATERIAL_DESIGN_CONTROLLER_H_ | 5 #ifndef UI_BASE_MATERIAL_DESIGN_MATERIAL_DESIGN_CONTROLLER_H_ |
6 #define UI_BASE_MATERIAL_DESIGN_MATERIAL_DESIGN_CONTROLLER_H_ | 6 #define UI_BASE_MATERIAL_DESIGN_MATERIAL_DESIGN_CONTROLLER_H_ |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "ui/base/ui_base_export.h" | 9 #include "ui/base/ui_base_export.h" |
10 | 10 |
(...skipping 26 matching lines...) Expand all Loading... |
37 // Returns true if the current mode is a material design variant. | 37 // Returns true if the current mode is a material design variant. |
38 static bool IsModeMaterial(); | 38 static bool IsModeMaterial(); |
39 | 39 |
40 // Returns true if the current mode is a material design variant and this mode | 40 // Returns true if the current mode is a material design variant and this mode |
41 // should be extended to cover secondary UI. | 41 // should be extended to cover secondary UI. |
42 static bool IsSecondaryUiMaterial(); | 42 static bool IsSecondaryUiMaterial(); |
43 | 43 |
44 // Returns the per-platform default material design variant. | 44 // Returns the per-platform default material design variant. |
45 static Mode DefaultMode(); | 45 static Mode DefaultMode(); |
46 | 46 |
| 47 static bool is_mode_initialized() { return is_mode_initialized_; } |
| 48 |
47 private: | 49 private: |
48 friend class test::MaterialDesignControllerTestAPI; | 50 friend class test::MaterialDesignControllerTestAPI; |
49 | 51 |
50 // Tracks whether |mode_| has been initialized. This is necessary so tests can | 52 // Tracks whether |mode_| has been initialized. This is necessary to avoid |
51 // reset the state back to a clean state during tear down. | 53 // checking the |mode_| early in initialization before a call to Initialize(). |
| 54 // Tests can use it to reset the state back to a clean state during tear down. |
52 static bool is_mode_initialized_; | 55 static bool is_mode_initialized_; |
53 | 56 |
54 // The current Mode to be used by the system. | 57 // The current Mode to be used by the system. |
55 static Mode mode_; | 58 static Mode mode_; |
56 | 59 |
57 // True when |mode_| applies beyond the primary UI (toolbar, tabstrip, | 60 // True when |mode_| applies beyond the primary UI (toolbar, tabstrip, |
58 // etc.). For example, this controls use of MD inside bubbles and dialogs. | 61 // etc.). For example, this controls use of MD inside bubbles and dialogs. |
59 static bool include_secondary_ui_; | 62 static bool include_secondary_ui_; |
60 | 63 |
61 // Declarations only. Do not allow construction of an object. | 64 // Declarations only. Do not allow construction of an object. |
62 MaterialDesignController(); | 65 MaterialDesignController(); |
63 ~MaterialDesignController(); | 66 ~MaterialDesignController(); |
64 | 67 |
65 // Resets the initialization state to uninitialized. To be used by tests to | 68 // Resets the initialization state to uninitialized. To be used by tests to |
66 // allow calling Initialize() more than once. | 69 // allow calling Initialize() more than once. |
67 static void Uninitialize(); | 70 static void Uninitialize(); |
68 | 71 |
69 // Set |mode_| to |mode| and updates |is_mode_initialized_| to true. Can be | 72 // Set |mode_| to |mode| and updates |is_mode_initialized_| to true. Can be |
70 // used by tests to directly set the mode. | 73 // used by tests to directly set the mode. |
71 static void SetMode(Mode mode); | 74 static void SetMode(Mode mode); |
72 | 75 |
73 DISALLOW_COPY_AND_ASSIGN(MaterialDesignController); | 76 DISALLOW_COPY_AND_ASSIGN(MaterialDesignController); |
74 }; | 77 }; |
75 | 78 |
76 } // namespace ui | 79 } // namespace ui |
77 | 80 |
78 #endif // UI_BASE_MATERIAL_DESIGN_MATERIAL_DESIGN_CONTROLLER_H_ | 81 #endif // UI_BASE_MATERIAL_DESIGN_MATERIAL_DESIGN_CONTROLLER_H_ |
OLD | NEW |