-
-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
animation: add BezierCurve, AnimationManager and AnimatedVariable #27
Conversation
animation: add concrete CAnimatedVariable implementation
731f250
to
4984b5a
Compare
Now uses smart pointers for throughout. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
generally looks nice
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rest approved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thank you!
Moved from Hyprland.
I simplified the AnimationManager a bit, so that it only stores references to active variables. (Previously
registerVar
andunregister
existed as well)I also changed the way variables are removed from active, so that we don't have to search through the active vector each time an animation ends. It now just replaces the whole vector with a new one containing all variables that return true for
isBeeingAnimated()
on a call totickDone
.disconnectFromActive
is only used for the dtor ofCBaseAnimatedVariable
.CBaseAnimatedVariable
stores a reference to the animation manager for now in order to connect/disconnect an active var to the animation manager. (discussed that with vaxry)CGenericAnimatedVariable
is only defined in the header and takes two template parameters. The type of the underlying value and a context. The context is there to store damage policy and variable parent (window,workspace,layer) in Hyprland and the parent widget in hyprlock.The test shows an example usage of AnimationManager and AnimatedVariables.