projects
/
gtk4.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
41696b0
)
rendernode: clip when drawing shadows
author
Benjamin Otte
<otte@redhat.com>
Fri, 5 May 2023 02:53:08 +0000
(
04:53
+0200)
committer
Matthias Clasen
<mclasen@redhat.com>
Mon, 5 Jun 2023 11:52:27 +0000
(07:52 -0400)
Ensures the shadow stays small.
gsk/gskrendernodeimpl.c
patch
|
blob
|
history
diff --git
a/gsk/gskrendernodeimpl.c
b/gsk/gskrendernodeimpl.c
index 6dcad3002f4938a2fc72b9a5ff2367e909ecbde7..9a08c2b134a61b5979ee015a7f495f96797ce971 100644
(file)
--- a/
gsk/gskrendernodeimpl.c
+++ b/
gsk/gskrendernodeimpl.c
@@
-4108,6
+4108,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];
@@
-4129,6
+4134,7
@@
gsk_shadow_node_draw (GskRenderNode *node,
cairo_set_source (cr, pattern);
cairo_paint (cr);
+ cairo_restore (cr);
cairo_pattern_destroy (pattern);
}