summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2023-04-19 07:44:45 +0000
committerMatthias Clasen <mclasen@redhat.com>2023-04-19 07:44:45 +0000
commit9892243df671dcfe437ef6b19e07598b1170f952 (patch)
treeb74e2433902edca127993a811d77b5bf414fa7e8
parent40ac37245d21a2cd9d3f2784fa9745836d888987 (diff)
parent83091c4f15db3105f7092b80497d7122a547a8e0 (diff)
downloadgtk+-9892243df671dcfe437ef6b19e07598b1170f952.tar.gz
Merge branch 'mask-node-transforms' into 'main'
Fix a comment See merge request GNOME/gtk!5848
-rw-r--r--gsk/gl/gskglrenderjob.c36
-rw-r--r--gtk/gskpango.c6
2 files changed, 34 insertions, 8 deletions
diff --git a/gsk/gl/gskglrenderjob.c b/gsk/gl/gskglrenderjob.c
index ecc78e6a4a..39d9990de5 100644
--- a/gsk/gl/gskglrenderjob.c
+++ b/gsk/gl/gskglrenderjob.c
@@ -255,7 +255,7 @@ gsk_rounded_rect_shrink_to_minimum (GskRoundedRect *self)
static inline gboolean G_GNUC_PURE
node_supports_2d_transform (const GskRenderNode *node)
{
- switch ((int)gsk_render_node_get_node_type (node))
+ switch (gsk_render_node_get_node_type (node))
{
case GSK_COLOR_NODE:
case GSK_OPACITY_NODE:
@@ -273,6 +273,7 @@ node_supports_2d_transform (const GskRenderNode *node)
case GSK_CAIRO_NODE:
case GSK_BLEND_NODE:
case GSK_BLUR_NODE:
+ case GSK_MASK_NODE:
return TRUE;
case GSK_SHADOW_NODE:
@@ -289,8 +290,18 @@ node_supports_2d_transform (const GskRenderNode *node)
}
return TRUE;
- default:
+ case GSK_BORDER_NODE:
+ case GSK_INSET_SHADOW_NODE:
+ case GSK_OUTSET_SHADOW_NODE:
+ case GSK_REPEAT_NODE:
+ case GSK_CLIP_NODE:
+ case GSK_ROUNDED_CLIP_NODE:
+ case GSK_GL_SHADER_NODE:
return FALSE;
+
+ case GSK_NOT_A_RENDER_NODE:
+ default:
+ g_assert_not_reached ();
}
}
@@ -304,7 +315,7 @@ node_supports_transform (const GskRenderNode *node)
* opacity or color matrix.
*/
- switch ((int)gsk_render_node_get_node_type (node))
+ switch (gsk_render_node_get_node_type (node))
{
case GSK_COLOR_NODE:
case GSK_OPACITY_NODE:
@@ -325,8 +336,25 @@ node_supports_transform (const GskRenderNode *node)
case GSK_TRANSFORM_NODE:
return node_supports_transform (gsk_transform_node_get_child (node));
- default:
+ case GSK_CONTAINER_NODE:
+ case GSK_LINEAR_GRADIENT_NODE:
+ case GSK_REPEATING_LINEAR_GRADIENT_NODE:
+ case GSK_RADIAL_GRADIENT_NODE:
+ case GSK_REPEATING_RADIAL_GRADIENT_NODE:
+ case GSK_CONIC_GRADIENT_NODE:
+ case GSK_BORDER_NODE:
+ case GSK_INSET_SHADOW_NODE:
+ case GSK_OUTSET_SHADOW_NODE:
+ case GSK_REPEAT_NODE:
+ case GSK_CLIP_NODE:
+ case GSK_ROUNDED_CLIP_NODE:
+ case GSK_GL_SHADER_NODE:
+ case GSK_TEXTURE_SCALE_NODE:
return FALSE;
+
+ case GSK_NOT_A_RENDER_NODE:
+ default:
+ g_assert_not_reached ();
}
}
diff --git a/gtk/gskpango.c b/gtk/gskpango.c
index 4dd0a853b7..c83f97f537 100644
--- a/gtk/gskpango.c
+++ b/gtk/gskpango.c
@@ -461,10 +461,8 @@ gsk_pango_renderer_release (GskPangoRenderer *renderer)
* and appends them to the current node of @snapshot without changing the
* current node.
*
- * Note that if the layout does not contain any printable character, then
- * current node.
- *
- * Note that if the layout does not produce any visible output, then nodes may not be added to the @snapshot.
+ * Note that if the layout does not produce any visible output, then nodes
+ * may not be added to the @snapshot.
**/
void
gtk_snapshot_append_layout (GtkSnapshot *snapshot,