summaryrefslogtreecommitdiff
path: root/gsk/gskrendernodeparser.c
diff options
context:
space:
mode:
Diffstat (limited to 'gsk/gskrendernodeparser.c')
-rw-r--r--gsk/gskrendernodeparser.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/gsk/gskrendernodeparser.c b/gsk/gskrendernodeparser.c
index 87bfca110c..4b31493fc3 100644
--- a/gsk/gskrendernodeparser.c
+++ b/gsk/gskrendernodeparser.c
@@ -2003,6 +2003,42 @@ render_node_print (Printer *p,
}
break;
+ case GSK_REPEATING_RADIAL_GRADIENT_NODE:
+ case GSK_RADIAL_GRADIENT_NODE:
+ {
+ const gsize n_stops = gsk_radial_gradient_node_get_n_color_stops (node);
+ const GskColorStop *stops = gsk_radial_gradient_node_peek_color_stops (node, NULL);
+ gsize i;
+
+ if (gsk_render_node_get_node_type (node) == GSK_REPEATING_RADIAL_GRADIENT_NODE)
+ start_node (p, "repeating-radial-gradient");
+ else
+ start_node (p, "radial-gradient");
+
+ append_rect_param (p, "bounds", &node->bounds);
+ append_point_param (p, "center", gsk_radial_gradient_node_peek_center (node));
+ append_float_param (p, "radius", gsk_radial_gradient_node_get_radius (node), 0.0f);
+ append_float_param (p, "scale", gsk_radial_gradient_node_get_scale (node), 1.0f);
+ append_float_param (p, "start", gsk_radial_gradient_node_get_start (node), 0.0f);
+ append_float_param (p, "end", gsk_radial_gradient_node_get_end (node), 1.0f);
+
+ _indent (p);
+ g_string_append (p->str, "stops: ");
+ for (i = 0; i < n_stops; i ++)
+ {
+ if (i > 0)
+ g_string_append (p->str, ", ");
+
+ string_append_double (p->str, stops[i].offset);
+ g_string_append_c (p->str, ' ');
+ append_rgba (p->str, &stops[i].color);
+ }
+ g_string_append (p->str, ";\n");
+
+ end_node (p);
+ }
+ break;
+
case GSK_OPACITY_NODE:
{
start_node (p, "opacity");