Commit Graph
11 Commits
Author SHA1 Message Date
thearturca e502cb3ffb refactor(animation): rename animation mod to engine
Linter was upset about this:
> error: module has the same name as its containing module
2024-11-10 17:45:03 +03:00
thearturca 44189d8382 refactor(animation): move generation of animation key to RenderDispatcher 2024-11-10 17:45:03 +03:00
thearturca 2400d757fe feat(animation): implement window transparency animation
this commit also fixes graceful shutdown of animations by disabling them
before exit and wait for all remaining animations for 20 seconds
2024-11-10 17:45:03 +03:00
thearturca 8290f143a6 feat(animation): introduce RenderDispatcher trait 2024-11-10 17:45:03 +03:00
thearturca 67b2a7a284 feat(animation): introduce AnimationPrefix enum 2024-11-10 17:45:03 +03:00
thearturca e449861c10 refactor(animation): generalized ANIMATION_MANAGER
instead of isize key for ANIMATION_MANAGER hashmap, now we use string
key. For window move animation key wouldbe `window_move:{hwnd}`.
That allows to use single manager for more types of animations.
2024-11-10 17:45:03 +03:00
thearturca 7b08afa891 refactor(animation): remove unused imports 2024-11-10 17:45:03 +03:00
thearturca 8a42b738fe refactor(animation): introduce Lerp trait 2024-11-10 17:45:03 +03:00
thearturca d3ac6b72c2 refactor(animation): reduce mutex call on ANIMATION_STYLE 2024-11-10 17:45:03 +03:00
thearturca 1a184a4442 refactor(animation): move animations to its own mod
First step for more rusty version animations. The goal is to make
animatnion more generic so its easier to add new animations to komorebi!
2024-11-10 17:45:02 +03:00
thearturca 3c03528750 fix(animation): enable cross-monitor animations
This commit is a squashed combination of the following commits from #920
by @thearturca. Thanks to both @thearturca for @amnweb for their work in
fixing and thoroughly testing these changes respectively.

935079281a
fix(animation): added pending cancel count to track `is_cancelled` state

84ad947e1f
refactor(animation): remove cancel idx decreasing

804b0380f7
refactor(animation): remove `ANIMATION_TEMPORARILY_DISABLED` global vars

f25787393c
fix(animation): extend cancelling system to support multiple cancel call

dfd6e98e9c
refactor(window): reuse window rect in `animate_position` method

18522db902
fix(animations): change check for existings animation to `pending_cancel_count` field

Before it was checking `cancel_idx_counter` which is `id` counter. It
never gonna equals `0` and doesn't represent all animations that running
for that window. So it doesn't delete entry from hashmap.
That leads to bug when border and stackbar doesn't get notified after
animation ends.
2024-08-25 13:44:50 -07:00