mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-26 13:41:07 +00:00
Ensure blur nodes have a positive blur radius
This commit is contained in:
parent
e7ac8275ea
commit
085f0171c1
@ -4858,7 +4858,7 @@ gsk_blur_node_diff (GskRenderNode *node1,
|
|||||||
/**
|
/**
|
||||||
* gsk_blur_node_new:
|
* gsk_blur_node_new:
|
||||||
* @child: the child node to blur
|
* @child: the child node to blur
|
||||||
* @radius: the blur radius
|
* @radius: the blur radius. Must be positive
|
||||||
*
|
*
|
||||||
* Creates a render node that blurs the child.
|
* Creates a render node that blurs the child.
|
||||||
*
|
*
|
||||||
@ -4873,6 +4873,7 @@ gsk_blur_node_new (GskRenderNode *child,
|
|||||||
float clip_radius;
|
float clip_radius;
|
||||||
|
|
||||||
g_return_val_if_fail (GSK_IS_RENDER_NODE (child), NULL);
|
g_return_val_if_fail (GSK_IS_RENDER_NODE (child), NULL);
|
||||||
|
g_return_val_if_fail (radius >= 0, NULL);
|
||||||
|
|
||||||
self = gsk_render_node_alloc (GSK_BLUR_NODE);
|
self = gsk_render_node_alloc (GSK_BLUR_NODE);
|
||||||
node = (GskRenderNode *) self;
|
node = (GskRenderNode *) self;
|
||||||
|
@ -520,6 +520,9 @@ gtk_snapshot_collect_blur (GtkSnapshot *snapshot,
|
|||||||
if (radius == 0.0)
|
if (radius == 0.0)
|
||||||
return node;
|
return node;
|
||||||
|
|
||||||
|
if (radius < 0)
|
||||||
|
return node;
|
||||||
|
|
||||||
blur_node = gsk_blur_node_new (node, radius);
|
blur_node = gsk_blur_node_new (node, radius);
|
||||||
|
|
||||||
gsk_render_node_unref (node);
|
gsk_render_node_unref (node);
|
||||||
@ -530,7 +533,7 @@ gtk_snapshot_collect_blur (GtkSnapshot *snapshot,
|
|||||||
/**
|
/**
|
||||||
* gtk_snapshot_push_blur:
|
* gtk_snapshot_push_blur:
|
||||||
* @snapshot: a `GtkSnapshot`
|
* @snapshot: a `GtkSnapshot`
|
||||||
* @radius: the blur radius to use
|
* @radius: the blur radius to use. Must be positive
|
||||||
*
|
*
|
||||||
* Blurs an image.
|
* Blurs an image.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user