animations: fix borderangle once (#9149)
This commit is contained in:
parent
fda9790cde
commit
80b2fd135b
3 changed files with 10 additions and 4 deletions
|
|
@ -1155,6 +1155,7 @@ void CCompositor::focusWindow(PHLWINDOW pWindow, SP<CWLSurfaceResource> pSurface
|
|||
g_pXWaylandManager->activateWindow(pWindow, true); // sets the m_pLastWindow
|
||||
|
||||
pWindow->updateDynamicRules();
|
||||
pWindow->onFocusAnimUpdate();
|
||||
|
||||
updateWindowAnimatedDecorationValues(pWindow);
|
||||
|
||||
|
|
@ -1851,10 +1852,6 @@ void CCompositor::updateWindowAnimatedDecorationValues(PHLWINDOW pWindow) {
|
|||
}
|
||||
}
|
||||
|
||||
// tick angle if it's not running (aka dead)
|
||||
if (!pWindow->m_fBorderAngleAnimationProgress->isBeingAnimated())
|
||||
pWindow->m_fBorderAngleAnimationProgress->setValueAndWarp(0.f);
|
||||
|
||||
// opacity
|
||||
const auto PWORKSPACE = pWindow->m_pWorkspace;
|
||||
if (pWindow->isEffectiveInternalFSMode(FSMODE_FULLSCREEN)) {
|
||||
|
|
|
|||
|
|
@ -1274,6 +1274,14 @@ void CWindow::onWorkspaceAnimUpdate() {
|
|||
m_vFloatingOffset = offset;
|
||||
}
|
||||
|
||||
void CWindow::onFocusAnimUpdate() {
|
||||
// borderangle once
|
||||
if (m_fBorderAngleAnimationProgress->enabled() && !m_fBorderAngleAnimationProgress->isBeingAnimated()) {
|
||||
m_fBorderAngleAnimationProgress->setValueAndWarp(0.f);
|
||||
*m_fBorderAngleAnimationProgress = 1.f;
|
||||
}
|
||||
}
|
||||
|
||||
int CWindow::popupsCount() {
|
||||
if (m_bIsX11)
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -454,6 +454,7 @@ class CWindow {
|
|||
void switchWithWindowInGroup(PHLWINDOW pWindow);
|
||||
void setAnimationsToMove();
|
||||
void onWorkspaceAnimUpdate();
|
||||
void onFocusAnimUpdate();
|
||||
void onUpdateState();
|
||||
void onUpdateMeta();
|
||||
void onX11Configure(CBox box);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue