From 9b8ef9206d9687fd2280cff5c0e6d5fe6abb395a Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Thu, 4 Apr 2024 22:41:09 +0700 Subject: layers: separate anim configs for open/close (#5421) --- src/helpers/WLClasses.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/helpers/WLClasses.cpp') diff --git a/src/helpers/WLClasses.cpp b/src/helpers/WLClasses.cpp index 084a719d..6135098a 100644 --- a/src/helpers/WLClasses.cpp +++ b/src/helpers/WLClasses.cpp @@ -3,9 +3,9 @@ #include "../Compositor.hpp" SLayerSurface::SLayerSurface() { - alpha.create(g_pConfigManager->getAnimationPropertyConfig("fadeLayers"), this, AVARDAMAGE_ENTIRE); - realPosition.create(g_pConfigManager->getAnimationPropertyConfig("layers"), this, AVARDAMAGE_ENTIRE); - realSize.create(g_pConfigManager->getAnimationPropertyConfig("layers"), this, AVARDAMAGE_ENTIRE); + alpha.create(g_pConfigManager->getAnimationPropertyConfig("fadeLayersIn"), this, AVARDAMAGE_ENTIRE); + realPosition.create(g_pConfigManager->getAnimationPropertyConfig("layersIn"), this, AVARDAMAGE_ENTIRE); + realSize.create(g_pConfigManager->getAnimationPropertyConfig("layersIn"), this, AVARDAMAGE_ENTIRE); alpha.registerVar(); realPosition.registerVar(); realSize.registerVar(); @@ -61,6 +61,15 @@ void SLayerSurface::applyRules() { void SLayerSurface::startAnimation(bool in, bool instant) { const auto ANIMSTYLE = animationStyle.value_or(realPosition.m_pConfig->pValues->internalStyle); + if (in) { + realPosition.m_pConfig = g_pConfigManager->getAnimationPropertyConfig("layersIn"); + realSize.m_pConfig = g_pConfigManager->getAnimationPropertyConfig("layersIn"); + alpha.m_pConfig = g_pConfigManager->getAnimationPropertyConfig("fadeLayersIn"); + } else { + realPosition.m_pConfig = g_pConfigManager->getAnimationPropertyConfig("layersOut"); + realSize.m_pConfig = g_pConfigManager->getAnimationPropertyConfig("layersOut"); + alpha.m_pConfig = g_pConfigManager->getAnimationPropertyConfig("fadeLayersOut"); + } if (ANIMSTYLE.starts_with("slide")) { // get closest edge -- cgit v1.2.3