Ivan Molodetskikh
4c22c3285d
Refactor animation timing to use lazy clocks
2024-11-25 04:07:59 -08:00
Ivan Molodetskikh
93cee2994a
Refactor animations to take explicit current time
2024-11-25 04:07:59 -08:00
Ivan Molodetskikh
fce5d66878
Follow window corner radius in insert hint
2024-11-02 10:53:55 +03:00
Rasmus Eneman
e887ee93a3
Implement interactive window move
2024-10-27 23:07:39 -07:00
Ivan Molodetskikh
ab7d81aae0
layout: Reduce field visibility
...
The outside code isn't supposed to mess with the fields.
2024-10-10 09:24:20 +03:00
Ivan Molodetskikh
7bfdf87bf0
Implement resize transactions
2024-08-22 15:19:11 +03:00
Ivan Molodetskikh
618fa08aa5
Update Smithay (apply state in post commit)
2024-08-22 14:15:04 +03:00
Ivan Molodetskikh
3ace97660f
Implement gradient color interpolation option ( #548 )
...
* Added the better color averaging code (tested & functional)
* rustfmt
* Make Color f32 0..1, clarify premul/unpremul
* Fix imports and test name
* Premultiply gradient colors matching CSS
* Fix indentation
* fixup
* Add gradient image
---------
Co-authored-by: K's Thinkpad <K.T.Kraft@protonmail.com >
2024-07-16 07:22:03 +00:00
Ivan Molodetskikh
66202992c9
Fix blurry rounded corners on high scales
2024-06-18 14:01:34 +03:00
Ivan Molodetskikh
1dae45c58d
Refactor layout to fractional-logical
...
Lets borders, gaps, and everything else stay pixel-perfect even with
fractional scale. Allows setting fractional border widths, gaps,
struts.
See the new wiki .md for more details.
2024-06-18 14:01:28 +03:00
Ivan Molodetskikh
5335ef454b
Implement custom shader for window-open
2024-05-15 19:38:29 +04:00
Ivan Molodetskikh
5f40221051
Refactor column and tile offsets, fix a few issues
2024-05-14 15:35:43 +04:00
Ivan Molodetskikh
4073f9f522
closing_window: Remove starting_alpha/scale
2024-05-12 08:42:43 +04:00
Ivan Molodetskikh
641b44e006
Fix blocked-out surfaces on scaled outputs
2024-05-04 20:13:53 +04:00
Ivan Molodetskikh
314ad9d3e5
Fix rounded corners on blocked-out resizes
2024-05-04 11:54:52 +04:00
Ivan Molodetskikh
79093baeee
Extract rules out
2024-05-04 11:45:39 +04:00
Ivan Molodetskikh
7093385b4d
Update tile before taking unmap snapshot
2024-05-04 11:37:58 +04:00
Ivan Molodetskikh
3748f6cd6a
Fix border/focus ring options not applying right away
2024-05-04 11:11:01 +04:00
Ivan Molodetskikh
73cc0079d6
Split update_render_elements() from advance_animations()
...
advance_animations() is called from places like input, whereas
update_render_elements() is strictly for rendering.
2024-05-04 11:10:02 +04:00
Ivan Molodetskikh
69aeba2a4d
shader_element: Store and set location separately
2024-05-04 09:49:32 +04:00
Ivan Molodetskikh
74996a2416
Make BorderRenderElement scale-agnostic
2024-05-03 21:49:47 +04:00
Ivan Molodetskikh
8ab50f9d1c
shader_element: Store program type instead of shader
2024-05-03 21:23:32 +04:00
Ivan Molodetskikh
5c32031111
shader_element: Make shader optional
...
The element is long-lived, but the shader itself isn't.
2024-05-03 20:20:36 +04:00
Ivan Molodetskikh
2f42f8ac75
Damage window on corner radius changes
2024-05-02 14:27:53 +04:00
Ivan Molodetskikh
42cef79c69
Implement rounded window corners
2024-05-02 14:27:53 +04:00
Ivan Molodetskikh
d86df5025c
Add Tracy span to Tile::render_inner
2024-05-01 19:04:47 +04:00
Ivan Molodetskikh
9309b3be61
Split rendering between popups and window surface
2024-05-01 19:04:11 +04:00
Ivan Molodetskikh
c5be2dd549
Add Tracy span to Tile::render
2024-05-01 19:00:54 +04:00
Ivan Molodetskikh
365dbacae7
Move unmap snapshot from Mapped to Tile
2024-05-01 19:00:19 +04:00
Ivan Molodetskikh
f3ded0c2e6
Move shader get out of ResizeRenderElement::new
2024-04-29 14:27:38 +04:00
Ivan Molodetskikh
f43fa55526
Fix fullscreen backdrop rendering below focus ring
2024-04-28 06:48:48 +04:00
Ivan Molodetskikh
fd6c8c7790
Implement focus-ring window rule
2024-04-24 22:17:53 +04:00
Ivan Molodetskikh
3e598c565e
Implement border window rule
2024-04-24 22:01:26 +04:00
Ivan Molodetskikh
49f5402669
Implement window-resize custom-shader
2024-04-21 20:16:54 +04:00
Ivan Molodetskikh
2c8d1030ab
Separate tile X and Y movement animations
...
Helps with the jank caused by lack of transactions when consuming to the
left/right. Resize triggers a few frames later and restarts the
movement. Now it only restarts the vertical and not the horizontal
movement.
2024-04-19 12:44:24 +04:00
Ivan Molodetskikh
47f6c85f64
Preserve tile move config on animation restarts
...
This fixes a problem where consume-into-column would use resize
animation config instead of the window-movement config in most cases
(since a resize comes very shortly after the move starts).
A similar change to the column movement anim is more detrimental than
it's worth.
2024-04-18 00:30:12 +04:00
Ivan Molodetskikh
73e9ef5fe2
Resolve animation defaults during parsing
2024-04-17 14:06:32 +04:00
Ivan Molodetskikh
1b496ee21f
Clamp animated window size
2024-04-16 17:44:06 +04:00
Ivan Molodetskikh
21ef5aded8
Remove jumps on consume/expel animation start
2024-04-16 10:48:54 +04:00
Ivan Molodetskikh
69f723d68a
Implement vertical window move animations
2024-04-15 21:19:09 +04:00
Ivan Molodetskikh
2c873044e8
Restore view offset upon unfullscreening
2024-04-13 20:07:37 +04:00
Ivan Molodetskikh
1336a581a6
tile: Fix returned snapshot size
2024-04-13 18:05:56 +04:00
Ivan Molodetskikh
9d5f1c7ef7
Unify Animation- and RenderSnapshot
2024-04-13 14:16:07 +04:00
Ivan Molodetskikh
71be19b234
Implement window resize animations
2024-04-13 11:07:23 +04:00
Ivan Molodetskikh
5383a0591f
Use clamped animations where it makes sense
2024-04-10 11:28:49 +04:00
Ivan Molodetskikh
6cd3f96a10
Fix building on stable
2024-04-10 09:26:56 +04:00
Ivan Molodetskikh
1888696567
Reimplement window closing anim in an efficient way
...
- Keep a root surface cache to be accessible in surface destroyed()
- Only snapshot during / right before closing, rather than every frame
- Store textures rather than elements to handle scale and alpha properly
2024-04-10 09:14:04 +04:00
Ivan Molodetskikh
dd011f1012
Implement window closing animations
2024-04-09 23:42:01 +04:00
Ivan Molodetskikh
4856522a7a
Implement window open shift in terms of window-movement
...
This removes the quite unobvious visual size, and fixes jerking when
opening multiple windows in quick succession.
2024-04-08 19:25:45 +04:00
Ivan Molodetskikh
493c8dc890
Implement block-out-from window rule, fix alpha on window screenshots
2024-03-24 10:22:56 +04:00