summaryrefslogtreecommitdiff
path: root/src/events/Windows.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-12-09 15:00:58 +0000
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-12-09 15:00:58 +0000
commitb9812f8bc0f372875af8c332e4537fdbf2b99c23 (patch)
tree01a3983883cc85f31b5e6ce9c8b8d256ea9326ec /src/events/Windows.cpp
parentfba03540d53981bf1e1587ff27d98bf7347e9947 (diff)
use anim callbacks and don't spam config resets in drag
Diffstat (limited to 'src/events/Windows.cpp')
-rw-r--r--src/events/Windows.cpp16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp
index 45a0b561..99e9f623 100644
--- a/src/events/Windows.cpp
+++ b/src/events/Windows.cpp
@@ -29,18 +29,12 @@ void addViewCoords(void* pWindow, int* x, int* y) {
}
}
-int setAnimToMove(void* data) {
- const auto PWINDOW = (CWindow*)data;
-
+void setAnimToMove(void* data) {
auto *const PANIMCFG = g_pConfigManager->getAnimationPropertyConfig("windowsMove");
- if (!g_pCompositor->windowValidMapped(PWINDOW))
- return 0;
-
- PWINDOW->m_vRealPosition.setConfig(PANIMCFG);
- PWINDOW->m_vRealSize.setConfig(PANIMCFG);
+ CAnimatedVariable* animvar = (CAnimatedVariable*)data;
- return 0;
+ animvar->setConfig(PANIMCFG);
}
void Events::listener_mapWindow(void* owner, void* data) {
@@ -447,8 +441,8 @@ void Events::listener_mapWindow(void* owner, void* data) {
PWINDOW->m_fAlpha.setValueAndWarp(0.f);
PWINDOW->m_fAlpha = 255.f;
- const auto TIMER = wl_event_loop_add_timer(g_pCompositor->m_sWLEventLoop, setAnimToMove, PWINDOW);
- wl_event_source_timer_update(TIMER, PWINDOW->m_vRealPosition.getDurationLeftMs() + 5);
+ PWINDOW->m_vRealPosition.setCallbackOnEnd(setAnimToMove);
+ PWINDOW->m_vRealSize.setCallbackOnEnd(setAnimToMove);
if (requestsFullscreen && !PWINDOW->m_bNoFullscreenRequest) {
// fix fullscreen on requested (basically do a switcheroo)