projects
/
gtk4.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d51c92f
)
rendernode: clip when drawing shadows
author
Benjamin Otte
<otte@redhat.com>
Fri, 5 May 2023 02:53:08 +0000
(
04:53
+0200)
committer
Benjamin Otte
<otte@redhat.com>
Tue, 16 May 2023 16:53:27 +0000
(18:53 +0200)
Ensures the shadow stays small.
gsk/gskrendernodeimpl.c
patch
|
blob
|
history
diff --git
a/gsk/gskrendernodeimpl.c
b/gsk/gskrendernodeimpl.c
index 90ef6fd13f78bc2827ecb5b451af012093d7d269..c60bd5b00f36ecda78609e4b45a186197967e6eb 100644
(file)
--- a/
gsk/gskrendernodeimpl.c
+++ b/
gsk/gskrendernodeimpl.c
@@
-4413,6
+4413,11
@@
gsk_shadow_node_draw (GskRenderNode *node,
pattern = cairo_pop_group (cr);
cairo_restore (cr);
+ cairo_save (cr);
+ /* clip so the blur area stays small */
+ gsk_cairo_rectangle (cr, &node->bounds);
+ cairo_clip (cr);
+
for (i = 0; i < self->n_shadows; i++)
{
GskShadow *shadow = &self->shadows[i];
@@
-4434,6
+4439,7
@@
gsk_shadow_node_draw (GskRenderNode *node,
cairo_set_source (cr, pattern);
cairo_paint (cr);
+ cairo_restore (cr);
cairo_pattern_destroy (pattern);
}