diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-03-28 10:18:23 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-03-28 10:26:06 -0400 |
commit | 2d5dd7b3d72098a89ff610786a09bb23c3afbf05 (patch) | |
tree | 3710d27d0449ea48cf4f192cf6ffaf15a1d4c909 /gsk/gskrendernodeprivate.h | |
parent | 0904dd29c20ca8539b9b4261bc595a8f90d19933 (diff) | |
download | gtk+-2d5dd7b3d72098a89ff610786a09bb23c3afbf05.tar.gz |
gsk: Make rendernode diffing smarter
Allow comparing container nodes to any other
node, by pretending the other node is a single
child container (if it isn't one already).
This fixes a glitch where we redraw the full
entry text when the blinking cursor goes to
opacity 0, since GskSnapshot then optimizes
away first the opacity node, and then the
single-child container.
Diffstat (limited to 'gsk/gskrendernodeprivate.h')
-rw-r--r-- | gsk/gskrendernodeprivate.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gsk/gskrendernodeprivate.h b/gsk/gskrendernodeprivate.h index 07ec707c03..a767daa365 100644 --- a/gsk/gskrendernodeprivate.h +++ b/gsk/gskrendernodeprivate.h @@ -93,6 +93,9 @@ void gsk_render_node_diff (GskRenderNode void gsk_render_node_diff_impossible (GskRenderNode *node1, GskRenderNode *node2, cairo_region_t *region); +void gsk_container_node_diff_with (GskRenderNode *container, + GskRenderNode *other, + cairo_region_t *region); bool gsk_border_node_get_uniform (const GskRenderNode *self); bool gsk_border_node_get_uniform_color (const GskRenderNode *self); |