mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2025-10-31 22:25:29 -04:00
test: border fadeout
has some bug, so don't enable this feature
This commit is contained in:
parent
9b4d8d88b7
commit
06d47e87e8
1 changed files with 21 additions and 0 deletions
21
maomao.c
21
maomao.c
|
|
@ -721,6 +721,25 @@ double find_animation_curve_at(double t) {
|
|||
return baked_points[up].y;
|
||||
}
|
||||
|
||||
// 有 bug,只是让上面那根透明了
|
||||
void apply_opacity_to_rect_nodes(struct wlr_scene_node *node, double opacity) {
|
||||
if (node->type == WLR_SCENE_NODE_RECT) {
|
||||
struct wlr_scene_rect *rect = wlr_scene_rect_from_node(node);
|
||||
// Assuming the rect has a color field and we can modify it
|
||||
rect->color[3] = opacity; // Set the alpha channel of the color
|
||||
}
|
||||
|
||||
// If the node is a tree, recursively traverse its children
|
||||
if (node->type == WLR_SCENE_NODE_TREE) {
|
||||
struct wlr_scene_tree *scene_tree = wlr_scene_tree_from_node(node);
|
||||
struct wlr_scene_node *child;
|
||||
wl_list_for_each(child, &scene_tree->children, link) {
|
||||
apply_opacity_to_rect_nodes(child, opacity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void fadeout_client_animation_next_tick(Client *c) {
|
||||
if (!c)
|
||||
return;
|
||||
|
|
@ -751,6 +770,8 @@ void fadeout_client_animation_next_tick(Client *c) {
|
|||
wlr_scene_node_for_each_buffer(&c->snapshot_scene->node,
|
||||
scene_buffer_apply_opacity, &opacity);
|
||||
|
||||
// apply_opacity_to_rect_nodes(&c->snapshot_scene->node, opacity);
|
||||
|
||||
if (animation_passed == 1.0) {
|
||||
wl_list_remove(&c->fadeout_link);
|
||||
wlr_scene_node_destroy(&c->snapshot_scene->node);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue