gsk: Use explicit switches
authorMatthias Clasen <mclasen@redhat.com>
Wed, 19 Apr 2023 07:19:12 +0000 (09:19 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 19 Apr 2023 07:19:12 +0000 (09:19 +0200)
This makes it harder to forget to add new
node types here.

gsk/gl/gskglrenderjob.c

index 43bd1ef960e1d9ad7ffe98f6145c46c35ba6e551..39d9990de59a588006b2ca18c2a9987e8e1d98ba 100644 (file)
@@ -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:
@@ -290,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 ();
     }
 }
 
@@ -305,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:
@@ -326,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 ();
     }
 }