summaryrefslogtreecommitdiff
path: root/src/helpers/AnimatedVariable.hpp
Commit message (Collapse)AuthorAgeFilesLines
* core: move parts of the animation system to hyprutils (#8868)Maximilian Seidler2025-01-071-256/+19
| | | | | | | | | | | | | * core: change animation manager to use Hyprutils::Animation * config: move animation config to hyprutils animation tree * use g_pAnimationManager->createAnimation and the new PHLANIMVAR template * core: use CGenericAnimatedVariabled::{enabled,setConfig,getStyle} and adapt callbacks * core: adapt animated variable usage (dereference the shared pointer) * misc: bump CMakeLists to hyprutils 0.3.3
* internal: remove dead code (#8748)Ikalco2024-12-171-2/+0
|
* core: Add clang-tidy (#8664)Vaxry2024-12-071-28/+31
| | | | | This adds a .clang-tidy file for us. It's not a strict requirement to be compliant, but I tuned it to be alright.
* core: move colorspace handling to oklab (#8635)Vaxry2024-12-031-2/+2
| | | | | | | | | | | * Meson: add hyprgraphics * Nix: add hyprgraphics * CI/setup_base: get hyprgraphics-git --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* core: move to steady_clock where applicableVaxry2024-06-251-3/+3
| | | | avoid issues when system clock gets desynchronized or changed
* core: Move to hyprutils for MathVaxry2024-06-191-1/+1
| | | | | | Moves CRegion, CBox and Vector2D over to hyprutils. Requires hyprutils>=0.1.4
* internal: new shared_ptr and weak_ptr implementation (#5883)Vaxry2024-05-051-1/+1
| | | | | | | | | | | moves std::shared_ptrs to a new implementation Advantages: - you can dereference a weak_ptr directly. This will obviously segfault on a nullptr deref if it's expired. - this is useful to avoid the .lock() hell where we are 100% sure the pointer _should_ be valid. (and if it isn't, it should throw.) - weak_ptrs are still valid while the SP is being destroyed. - reasoning: while an object (e.g. CWindow) is being destroyed, its `weak_ptr self` should be accessible (the sp is still alive, and so is CWindow), but it's not because by stl it's already expired (to prevent resurrection) - this impl solves it differently. w_p is expired, but can still be dereferenced and used. Creating `s_p`s is not possible anymore, though. - this is useful in destructors and callbacks.
* layerSurface: refactor/move to a memory-safe implVaxry2024-04-301-6/+6
| | | | | Makes all the pointers smart to avoid memory issues Refactors layerSurface code to live inside desktop/layersurface
* internal: Window storage rework - part 1 (#5762)Vaxry2024-04-271-6/+6
| | | | | | | | | | | | | | | | | * Window storage rework - part 1 * format * remove useless include * fix pch * format * fix crash in dwindle * fix vram leak * prefer .expired() for bool checks
* Workspace/core: Refactor workspace storage (#5380)Vaxry2024-04-021-6/+7
| | | | | * refactor workspaces to use ptrs * clang-format
* avar: minor fixesVaxry2024-03-311-2/+4
|
* avar: fix warp onEnd conditionsVaxry2024-03-311-3/+2
| | | | ref #5348
* animvar: fixup update callbacks and cleanupVaxry2024-03-291-2/+26
|
* renderer: don't render window on other mons during anim inVaxry2024-03-171-0/+5
| | | | fixes #5139
* animations: fix m_Goal not being set after #4911 (#4992)outfoxxed2024-03-061-0/+1
|
* animations: Refactor AnimatedVariable (#4911)GartoxFR2024-03-021-176/+137
| | | | | | | | | | | | | | | | | | | | | | | * 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
* style/ci: apply clang-format and verify it in ci (#4039)François Conzelmann2023-12-061-7/+5
| | | | | * style: apply clang-format * ci: add new clang-format job to CI
* includes: add missing log include to animatedvariablevaxerski2023-09-301-0/+1
|
* animatedvariable: don't reset timers on duplicate settersvaxerski2023-09-041-5/+25
| | | | Fixes the annoying jump when a recalc happens while a window is being animated
* internal: cleanup headers in helpers/vaxerski2023-08-071-8/+10
|
* animationmgr: avoid looping over all avars in favor of only active onesvaxerski2023-07-201-0/+6
|
* animationmanager: optimize avar statevaxerski2023-07-191-13/+11
|
* Fix UAF in animation end callback if callback deletes the animation (#2389)outfoxxed2023-05-291-1/+3
| | | | Removes use after free when the end callback deletes the animation as long as `m_bRemoveEndAfterRan` is false.
* internal: make CAnimatedVariable non-move non-copyvaxerski2023-05-161-0/+5
|
* animationmgr: allow empty avarsvaxerski2023-05-151-2/+12
|
* make hyprerror follow fadein animvaxerski2023-01-201-3/+3
|
* use curves for special dim animvaxerski2022-12-291-4/+5
|
* Added clang format (#1239)Vaxry2022-12-161-59/+61
| | | * clang-format stuff and format files
* Reset callbacks on remapvaxerski2022-11-181-0/+8
|
* Added resize transitionsvaxerski2022-11-061-4/+44
|
* prevent double-registering of avarsvaxerski2022-11-051-0/+1
|
* Multiple animation optimization and xwayland wine fixesvaxerski2022-11-041-0/+21
|
* Remove trailing whitespace.Felix Dick2022-09-251-2/+2
|
* Animation config reworkvaxerski2022-07-281-6/+14
|
* use defines for unreachablevaxerski2022-07-251-3/+5
|
* Added shadow colors animations and inactive colvaxerski2022-07-161-1/+2
|
* use std::unreachable in avarsvaxerski2022-07-061-3/+3
|
* remove asserts in CAnimatedVariablevaxerski2022-06-301-15/+0
|
* Added a special workspacevaxerski2022-05-311-2/+2
|
* Fadein/out now applies to layersurfaces toovaxerski2022-05-141-0/+6
|
* Added workspace animationsvaxerski2022-05-121-0/+21
|
* optimization: dont damage entire window on border animvaxerski2022-05-051-3/+10
|
* assert -> rassert for animatedvariablevaxerski2022-04-241-15/+15
|
* Added bezier curvesvaxerski2022-04-231-5/+24
|
* return const refs + vec constantizevaxerski2022-04-231-6/+6
|
* fixed fullscreen, removed effective vars from windowsvaxerski2022-04-231-0/+21
|
* New animation systemvaxerski2022-04-231-0/+131