| // Copyright 2021 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef ASH_APP_LIST_HOME_LAUNCHER_ANIMATION_INFO_H_ |
| #define ASH_APP_LIST_HOME_LAUNCHER_ANIMATION_INFO_H_ |
| |
| namespace ash { |
| |
| // The reason a home launcher animation was triggered. |
| enum class HomeLauncherAnimationTrigger { |
| // Launcher animation is triggered by pressing the AppList button. |
| kLauncherButton, |
| |
| // Launcher animation is triggered by window activation. |
| kHideForWindow, |
| |
| // Launcher animation is triggered by entering/exiting overview mode where |
| // overview UI fades in/out. |
| kOverviewModeFade |
| }; |
| |
| // Information used to configure animation metrics reporter when animating the |
| // home launcher. |
| struct HomeLauncherAnimationInfo { |
| HomeLauncherAnimationInfo(HomeLauncherAnimationTrigger trigger, bool showing) |
| : trigger(trigger), showing(showing) {} |
| ~HomeLauncherAnimationInfo() = default; |
| |
| // The animation trigger. |
| const HomeLauncherAnimationTrigger trigger; |
| |
| // Whether the home screen will be shown at the end of the animation. |
| const bool showing; |
| }; |
| |
| } // namespace ash |
| |
| #endif // ASH_APP_LIST_HOME_LAUNCHER_ANIMATION_INFO_H_ |