diff options
| author | Vaxry <vaxry@vaxry.net> | 2026-04-29 16:37:48 +0100 |
|---|---|---|
| committer | Vaxry <43317083+vaxerski@users.noreply.github.com> | 2026-04-29 22:05:32 +0100 |
| commit | a92dae5af7bad3af53f6d6b689d71ee900077569 (patch) | |
| tree | 260db0af173ff63636d738dd64baa3b263fb6c53 /src/managers/input | |
| parent | 6bd15b948f1b266820c286c8f41fa7b4c2a12399 (diff) | |
desktop/window: add alpha container for alpha calculations
Diffstat (limited to 'src/managers/input')
| -rw-r--r-- | src/managers/input/trackpad/gestures/CloseGesture.cpp | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/managers/input/trackpad/gestures/CloseGesture.cpp b/src/managers/input/trackpad/gestures/CloseGesture.cpp index 59ff2838..225f3132 100644 --- a/src/managers/input/trackpad/gestures/CloseGesture.cpp +++ b/src/managers/input/trackpad/gestures/CloseGesture.cpp @@ -9,6 +9,8 @@ #include "../../../../desktop/state/FocusState.hpp" #include "../../../../layout/target/Target.hpp" +using namespace Desktop::View; + constexpr const float MAX_DISTANCE = 200.F; static std::vector<SP<CEventLoopTimer>> trackpadCloseTimers; @@ -33,18 +35,18 @@ void CCloseTrackpadGesture::begin(const ITrackpadGesture::STrackpadGestureBegin& if (!m_window) return; - m_alphaFrom = m_window->m_alpha->goal(); + m_alphaFrom = m_window->alphaGoal(WINDOW_ALPHA_FADE); m_posFrom = m_window->m_realPosition->goal(); m_sizeFrom = m_window->m_realSize->goal(); g_pDesktopAnimationManager->startAnimation(m_window.lock(), CDesktopAnimationManager::ANIMATION_TYPE_OUT, true); - *m_window->m_alpha = 0.f; + *m_window->alpha(WINDOW_ALPHA_FADE) = 0.f; - m_alphaTo = m_window->m_alpha->goal(); + m_alphaTo = m_window->alphaGoal(WINDOW_ALPHA_FADE); m_posTo = m_window->m_realPosition->goal(); m_sizeTo = m_window->m_realSize->goal(); - m_window->m_alpha->setValueAndWarp(m_alphaFrom); + m_window->alpha(WINDOW_ALPHA_FADE)->setValueAndWarp(m_alphaFrom); m_window->m_realPosition->setValueAndWarp(m_posFrom); m_window->m_realSize->setValueAndWarp(m_sizeFrom); @@ -61,7 +63,7 @@ void CCloseTrackpadGesture::update(const ITrackpadGesture::STrackpadGestureUpdat const auto FADEPERCENT = std::clamp(m_lastDelta / MAX_DISTANCE, 0.F, 1.F); - m_window->m_alpha->setValueAndWarp(lerpVal(m_alphaFrom, m_alphaTo, FADEPERCENT)); + m_window->alpha(WINDOW_ALPHA_FADE)->setValueAndWarp(lerpVal(m_alphaFrom, m_alphaTo, FADEPERCENT)); m_window->m_realPosition->setValueAndWarp(lerpVal(m_posFrom, m_posTo, FADEPERCENT)); m_window->m_realSize->setValueAndWarp(lerpVal(m_sizeFrom, m_sizeTo, FADEPERCENT)); @@ -81,20 +83,20 @@ void CCloseTrackpadGesture::end(const ITrackpadGesture::STrackpadGestureEnd& e) if (COMPLETION < 0.2F) { // revert the animation g_pHyprRenderer->damageWindow(m_window.lock()); - *m_window->m_alpha = m_alphaFrom; - *m_window->m_realPosition = m_posFrom; - *m_window->m_realSize = m_sizeFrom; + *m_window->alpha(WINDOW_ALPHA_FADE) = m_alphaFrom; + *m_window->m_realPosition = m_posFrom; + *m_window->m_realSize = m_sizeFrom; return; } // commence. Close the window and restore our current state to avoid a harsh anim - const auto CURRENT_ALPHA = m_window->m_alpha->value(); + const auto CURRENT_ALPHA = m_window->alphaValue(WINDOW_ALPHA_FADE); const auto CURRENT_POS = m_window->m_realPosition->value(); const auto CURRENT_SIZE = m_window->m_realSize->value(); Desktop::focusState()->window()->sendClose(); - m_window->m_alpha->setValueAndWarp(CURRENT_ALPHA); + m_window->alpha(WINDOW_ALPHA_FADE)->setValueAndWarp(CURRENT_ALPHA); m_window->m_realPosition->setValueAndWarp(CURRENT_POS); m_window->m_realSize->setValueAndWarp(CURRENT_SIZE); @@ -136,7 +138,7 @@ void CCloseTrackpadGesture::end(const ITrackpadGesture::STrackpadGestureEnd& e) window->layoutTarget()->recalc(); window->updateDecorationValues(); window->sendWindowSize(true); - *window->m_alpha = 1.F; + *window->alpha(WINDOW_ALPHA_FADE) = 1.F; }, nullptr); trackpadCloseTimers.emplace_back(timer); |
