GartoxFR
b2c3440477
animations: Refactor AnimatedVariable ( #4911 )
...
* animation: Refactor AnimatedVariable
This commit decomposes the AnimatedVariable class into a base class
with the common attribute to all variable types and a templated derived
type containing strongly typed info on the type being animated.
Access to the typed version is perfomed using the visitor pattern. A
utility is provided to build a visitor on the fly using lambdas.
Adding a new type to be animated should just be a matter of adding the
typed in the list defined by the ANIMABLE_TYPES macro
The size of the commit is justified by the API change in the
AnimatedVariable class. No more vec(), fl() or col() method but a unified
value() method.
* animation: Remove visitor pattern
* animation: Fix coding style
* animation: Fix coding style
2024-03-02 00:35:17 +00:00
François Conzelmann
4a42344e97
style/ci: apply clang-format and verify it in ci ( #4039 )
...
* style: apply clang-format
* ci: add new clang-format job to CI
2023-12-06 22:54:56 +00:00
vaxerski
86e8ed038f
includes: add missing log include to animatedvariable
2023-09-30 02:09:08 +01:00
vaxerski
35df4693ea
animatedvariable: don't reset timers on duplicate setters
...
Fixes the annoying jump when a recalc happens while a window is being animated
2023-09-04 13:11:56 +02:00
261c3307f7
internal: cleanup headers in helpers/
2023-08-07 13:36:14 +02:00
vaxerski
6c1f4faff2
animationmgr: avoid looping over all avars in favor of only active ones
2023-07-20 19:26:10 +02:00
vaxerski
7091d4e597
animationmanager: optimize avar state
2023-07-19 22:40:03 +02:00
outfoxxed
409ff027f8
Fix UAF in animation end callback if callback deletes the animation ( #2389 )
...
Removes use after free when the end callback deletes the animation as
long as `m_bRemoveEndAfterRan` is false.
2023-05-29 09:51:58 +02:00
vaxerski
d68f8ea668
internal: make CAnimatedVariable non-move non-copy
2023-05-16 12:49:59 +01:00
vaxerski
5b84b0fb44
animationmgr: allow empty avars
2023-05-15 17:11:51 +01:00
5814d9b2a0
make hyprerror follow fadein anim
2023-01-20 20:48:07 +01:00
5d095bb9e1
use curves for special dim anim
2022-12-29 12:30:43 +01:00
Vaxry
98a4fa2b0d
Added clang format ( #1239 )
...
* clang-format stuff and format files
2022-12-16 17:17:31 +00:00
vaxerski
f91f3d1c81
Reset callbacks on remap
2022-11-18 13:53:54 +00:00
vaxerski
57817f7252
Added resize transitions
2022-11-06 17:52:09 +00:00
vaxerski
ff76fbe763
prevent double-registering of avars
2022-11-05 13:37:29 +00:00
vaxerski
206360177f
Multiple animation optimization and xwayland wine fixes
2022-11-04 15:56:31 +00:00
Felix Dick
bf3f519eb7
Remove trailing whitespace.
2022-09-25 20:07:48 +02:00
vaxerski
920fdd6bff
Animation config rework
2022-07-28 13:28:43 +02:00
vaxerski
6e16dfa5e5
use defines for unreachable
2022-07-25 21:34:57 +02:00
vaxerski
48e5bd96bc
Added shadow colors animations and inactive col
2022-07-16 12:44:45 +02:00
vaxerski
42d18143e5
use std::unreachable in avars
2022-07-06 16:54:45 +02:00
vaxerski
4101006b5e
remove asserts in CAnimatedVariable
2022-06-30 12:22:24 +02:00
vaxerski
0055efc4f1
Added a special workspace
2022-05-31 14:01:00 +02:00
vaxerski
109136af97
Fadein/out now applies to layersurfaces too
2022-05-14 17:23:46 +02:00
vaxerski
ff0f535c28
Added workspace animations
2022-05-12 11:27:31 +02:00
vaxerski
77d37cd72a
optimization: dont damage entire window on border anim
2022-05-05 14:02:30 +02:00
vaxerski
d798376330
assert -> rassert for animatedvariable
2022-04-24 17:01:39 +02:00
vaxerski
3ebe7d7972
Added bezier curves
2022-04-23 21:47:16 +02:00
vaxerski
306d163613
return const refs + vec constantize
2022-04-23 14:40:51 +02:00
vaxerski
f84294fe07
fixed fullscreen, removed effective vars from windows
2022-04-23 14:35:34 +02:00
vaxerski
0147975faf
New animation system
2022-04-23 14:16:02 +02:00