mirror of
https://github.com/hyprwm/Hyprland
synced 2025-12-20 04:30:12 +01:00
animation: migrate PHLANIMVAR from SP to UP (#12486)
This commit is contained in:
parent
e4a8f2b14f
commit
7ccc57eb7c
5 changed files with 14 additions and 20 deletions
|
|
@ -128,7 +128,7 @@ find_package(OpenGL REQUIRED COMPONENTS ${GLES_VERSION})
|
|||
set(AQUAMARINE_MINIMUM_VERSION 0.9.3)
|
||||
set(HYPRLANG_MINIMUM_VERSION 0.6.7)
|
||||
set(HYPRCURSOR_MINIMUM_VERSION 0.1.7)
|
||||
set(HYPRUTILS_MINIMUM_VERSION 0.10.2)
|
||||
set(HYPRUTILS_MINIMUM_VERSION 0.11.0)
|
||||
set(HYPRGRAPHICS_MINIMUM_VERSION 0.1.6)
|
||||
|
||||
pkg_check_modules(aquamarine_dep REQUIRED IMPORTED_TARGET aquamarine>=${AQUAMARINE_MINIMUM_VERSION})
|
||||
|
|
|
|||
|
|
@ -639,14 +639,13 @@ void CWindow::onMap() {
|
|||
}
|
||||
|
||||
void CWindow::onBorderAngleAnimEnd(WP<CBaseAnimatedVariable> pav) {
|
||||
const auto PAV = pav.lock();
|
||||
if (!PAV)
|
||||
if (!pav)
|
||||
return;
|
||||
|
||||
if (PAV->getStyle() != "loop" || !PAV->enabled())
|
||||
if (pav->getStyle() != "loop" || !pav->enabled())
|
||||
return;
|
||||
|
||||
const auto PANIMVAR = dc<CAnimatedVariable<float>*>(PAV.get());
|
||||
const auto PANIMVAR = dc<CAnimatedVariable<float>*>(pav.get());
|
||||
|
||||
PANIMVAR->setCallbackOnEnd(nullptr); // we remove the callback here because otherwise setvalueandwarp will recurse this
|
||||
|
||||
|
|
@ -1912,16 +1911,14 @@ std::optional<Vector2D> CWindow::calculateExpression(const std::string& s) {
|
|||
}
|
||||
|
||||
static void setVector2DAnimToMove(WP<CBaseAnimatedVariable> pav) {
|
||||
const auto PAV = pav.lock();
|
||||
if (!PAV)
|
||||
if (!pav)
|
||||
return;
|
||||
|
||||
CAnimatedVariable<Vector2D>* animvar = dc<CAnimatedVariable<Vector2D>*>(PAV.get());
|
||||
CAnimatedVariable<Vector2D>* animvar = dc<CAnimatedVariable<Vector2D>*>(pav.get());
|
||||
animvar->setConfig(g_pConfigManager->getAnimationPropertyConfig("windowsMove"));
|
||||
|
||||
const auto PHLWINDOW = animvar->m_Context.pWindow.lock();
|
||||
if (PHLWINDOW)
|
||||
PHLWINDOW->m_animatingIn = false;
|
||||
if (animvar->m_Context.pWindow)
|
||||
animvar->m_Context.pWindow->m_animatingIn = false;
|
||||
}
|
||||
|
||||
void CWindow::mapWindow() {
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ template <Animable VarType>
|
|||
using CAnimatedVariable = Hyprutils::Animation::CGenericAnimatedVariable<VarType, SAnimationContext>;
|
||||
|
||||
template <Animable VarType>
|
||||
using PHLANIMVAR = SP<CAnimatedVariable<VarType>>;
|
||||
using PHLANIMVAR = UP<CAnimatedVariable<VarType>>;
|
||||
|
||||
template <Animable VarType>
|
||||
using PHLANIMVARREF = WP<CAnimatedVariable<VarType>>;
|
||||
|
|
|
|||
|
|
@ -209,8 +209,7 @@ void CHyprAnimationManager::tick() {
|
|||
|
||||
static auto PANIMENABLED = CConfigValue<Hyprlang::INT>("animations:enabled");
|
||||
|
||||
for (size_t i = 0; i < m_vActiveAnimatedVariables.size(); i++) {
|
||||
const auto PAV = m_vActiveAnimatedVariables[i].lock();
|
||||
for (const auto& PAV : m_vActiveAnimatedVariables) {
|
||||
if (!PAV)
|
||||
continue;
|
||||
|
||||
|
|
|
|||
|
|
@ -22,13 +22,11 @@ class CHyprAnimationManager : public Hyprutils::Animation::CAnimationManager {
|
|||
template <Animable VarType>
|
||||
void createAnimation(const VarType& v, PHLANIMVAR<VarType>& pav, SP<SAnimationPropertyConfig> pConfig, eAVarDamagePolicy policy) {
|
||||
constexpr const eAnimatedVarType EAVTYPE = typeToeAnimatedVarType<VarType>;
|
||||
const auto PAV = makeShared<CAnimatedVariable<VarType>>();
|
||||
pav = makeUnique<CAnimatedVariable<VarType>>();
|
||||
|
||||
PAV->create(EAVTYPE, sc<Hyprutils::Animation::CAnimationManager*>(this), PAV, v);
|
||||
PAV->setConfig(pConfig);
|
||||
PAV->m_Context.eDamagePolicy = policy;
|
||||
|
||||
pav = std::move(PAV);
|
||||
pav->create2(EAVTYPE, sc<Hyprutils::Animation::CAnimationManager*>(this), pav, v);
|
||||
pav->setConfig(pConfig);
|
||||
pav->m_Context.eDamagePolicy = policy;
|
||||
}
|
||||
|
||||
template <Animable VarType>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue