summaryrefslogtreecommitdiff
path: root/src/managers/animation/DesktopAnimationManager.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/managers/animation/DesktopAnimationManager.hpp')
-rw-r--r--src/managers/animation/DesktopAnimationManager.hpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/managers/animation/DesktopAnimationManager.hpp b/src/managers/animation/DesktopAnimationManager.hpp
new file mode 100644
index 00000000..623fc5e9
--- /dev/null
+++ b/src/managers/animation/DesktopAnimationManager.hpp
@@ -0,0 +1,26 @@
+#pragma once
+
+#include "../../helpers/memory/Memory.hpp"
+#include "../../desktop/DesktopTypes.hpp"
+
+class CDesktopAnimationManager {
+ public:
+ enum eAnimationType : uint8_t {
+ ANIMATION_TYPE_IN = 0,
+ ANIMATION_TYPE_OUT,
+ };
+
+ void startAnimation(PHLWINDOW w, eAnimationType type, bool force = false);
+ void startAnimation(PHLLS ls, eAnimationType type, bool instant = false);
+ void startAnimation(PHLWORKSPACE ws, eAnimationType type, bool left = true, bool instant = false);
+
+ void setFullscreenFadeAnimation(PHLWORKSPACE ws, eAnimationType type);
+ void overrideFullscreenFadeAmount(PHLWORKSPACE ws, float fade, PHLWINDOW exclude = nullptr);
+
+ private:
+ void animationPopin(PHLWINDOW w, bool close = false, float minPerc = 0.f);
+ void animationSlide(PHLWINDOW w, std::string force = "", bool close = false);
+ void animationGnomed(PHLWINDOW w, bool close = false);
+};
+
+inline UP<CDesktopAnimationManager> g_pDesktopAnimationManager = makeUnique<CDesktopAnimationManager>();