summaryrefslogtreecommitdiff
path: root/gtk/inspector
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2023-02-11 08:59:06 -0500
committerMatthias Clasen <mclasen@redhat.com>2023-02-12 08:35:25 -0500
commit0d58e5365d23f2823f085434857e9b25ea9441bb (patch)
treea31c8eba6f2351303f3c9ba1f80e1387a47393e3 /gtk/inspector
parentd00d4c4475feedd40234b841819bce99beeaf95d (diff)
downloadgtk+-0d58e5365d23f2823f085434857e9b25ea9441bb.tar.gz
gsk: Introduce mask nodes
Add GskMaskNode, and support it in the render node parser, in the inspector and in GtkSnapshot. The rendering is just fallback for now. Based on old work by Timm Bäder.
Diffstat (limited to 'gtk/inspector')
-rw-r--r--gtk/inspector/recorder.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gtk/inspector/recorder.c b/gtk/inspector/recorder.c
index 53528a26cb..9f75b1ab6e 100644
--- a/gtk/inspector/recorder.c
+++ b/gtk/inspector/recorder.c
@@ -305,6 +305,10 @@ create_list_model_for_render_node (GskRenderNode *node)
return create_render_node_list_model ((GskRenderNode *[2]) { gsk_blend_node_get_bottom_child (node),
gsk_blend_node_get_top_child (node) }, 2);
+ case GSK_MASK_NODE:
+ return create_render_node_list_model ((GskRenderNode *[2]) { gsk_mask_node_get_source (node),
+ gsk_mask_node_get_mask (node) }, 2);
+
case GSK_CROSS_FADE_NODE:
return create_render_node_list_model ((GskRenderNode *[2]) { gsk_cross_fade_node_get_start_child (node),
gsk_cross_fade_node_get_end_child (node) }, 2);
@@ -425,6 +429,8 @@ node_type_name (GskRenderNodeType type)
return "Shadow";
case GSK_BLEND_NODE:
return "Blend";
+ case GSK_MASK_NODE:
+ return "Mask";
case GSK_CROSS_FADE_NODE:
return "CrossFade";
case GSK_TEXT_NODE:
@@ -462,6 +468,7 @@ node_name (GskRenderNode *node)
case GSK_ROUNDED_CLIP_NODE:
case GSK_SHADOW_NODE:
case GSK_BLEND_NODE:
+ case GSK_MASK_NODE:
case GSK_CROSS_FADE_NODE:
case GSK_TEXT_NODE:
case GSK_BLUR_NODE:
@@ -1132,6 +1139,9 @@ populate_render_node_properties (GListStore *store,
}
break;
+ case GSK_MASK_NODE:
+ break;
+
case GSK_BLUR_NODE:
add_float_row (store, "Radius", gsk_blur_node_get_radius (node));
break;