forked from AuroraMiddleware/gtk
rendernode: draw() only in node bounds
We currently disable when draw()ing nodes using the cairo fallback path, which means we can't just use cairo_paint(). Use a proper rectangle instead. Fixes #2431
This commit is contained in:
parent
d702c159d5
commit
b12a6be9d9
@ -651,7 +651,10 @@ gsk_texture_node_draw (GskRenderNode *node,
|
||||
pattern = cairo_pattern_create_for_surface (surface);
|
||||
cairo_pattern_set_extend (pattern, CAIRO_EXTEND_PAD);
|
||||
cairo_set_source (cr, pattern);
|
||||
cairo_paint (cr);
|
||||
cairo_rectangle (cr,
|
||||
0, 0,
|
||||
gdk_texture_get_width (self->texture), gdk_texture_get_height (self->texture));
|
||||
cairo_fill (cr);
|
||||
|
||||
cairo_restore (cr);
|
||||
|
||||
@ -2549,7 +2552,10 @@ gsk_repeat_node_draw (GskRenderNode *node,
|
||||
});
|
||||
|
||||
cairo_set_source (cr, pattern);
|
||||
cairo_paint (cr);
|
||||
cairo_rectangle (cr,
|
||||
node->bounds.origin.x, node->bounds.origin.y,
|
||||
node->bounds.size.width, node->bounds.size.height);
|
||||
cairo_fill (cr);
|
||||
|
||||
cairo_pattern_destroy (pattern);
|
||||
cairo_surface_destroy (surface);
|
||||
@ -3821,7 +3827,10 @@ gsk_blur_node_draw (GskRenderNode *node,
|
||||
cairo_surface_unmap_image (surface, image_surface);
|
||||
|
||||
cairo_set_source (cr, pattern);
|
||||
cairo_paint (cr);
|
||||
cairo_rectangle (cr,
|
||||
node->bounds.origin.x, node->bounds.origin.y,
|
||||
node->bounds.size.width, node->bounds.size.height);
|
||||
cairo_fill (cr);
|
||||
|
||||
cairo_restore (cr);
|
||||
cairo_pattern_destroy (pattern);
|
||||
|
Loading…
Reference in New Issue
Block a user