diff options
author | Matthias Clasen <mclasen@redhat.com> | 2023-02-11 08:59:06 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2023-02-12 08:35:25 -0500 |
commit | 0d58e5365d23f2823f085434857e9b25ea9441bb (patch) | |
tree | a31c8eba6f2351303f3c9ba1f80e1387a47393e3 /gtk/inspector | |
parent | d00d4c4475feedd40234b841819bce99beeaf95d (diff) | |
download | gtk+-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.c | 10 |
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; |