rendernode: Remove gsk_render_node_set_name()
authorBenjamin Otte <otte@redhat.com>
Tue, 24 Apr 2018 01:46:44 +0000 (03:46 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 24 Apr 2018 02:06:58 +0000 (04:06 +0200)
And of course, gsk_render_node_get_name() is gone, too.
The replacement is of course debug nodes.

As a side effect, GskRenderNode is now *really* immutable.

docs/reference/gsk/gsk4-sections.txt
gsk/gskrendernode.c
gsk/gskrendernode.h
gsk/gskrendernodeprivate.h
gsk/vulkan/gskvulkanrenderpass.c
gtk/inspector/recorder.c

index 7c41a2a2395db0536276a5356bc374ac2135bc83..f6548f51370dd20b71bd70000887eb27127a1bb9 100644 (file)
@@ -29,8 +29,6 @@ gsk_render_node_serialize
 gsk_render_node_deserialize
 gsk_render_node_write_to_file
 GskScalingFilter
-gsk_render_node_set_name
-gsk_render_node_get_name
 gsk_render_node_get_bounds
 
 <SUBSECTION Nodes>
index da858b71e9942f41e4c6c959293a0e455c5042f9..343fd4b8cebed2dd222a60a34c63de30b9d57dae 100644 (file)
@@ -66,8 +66,6 @@ gsk_render_node_finalize (GskRenderNode *self)
 {
   self->node_class->finalize (self);
 
-  g_clear_pointer (&self->name, g_free);
-
   g_free (self);
 }
 
@@ -164,43 +162,6 @@ gsk_render_node_get_bounds (GskRenderNode   *node,
   graphene_rect_init_from_rect (bounds, &node->bounds);
 }
 
-/**
- * gsk_render_node_set_name:
- * @node: a #GskRenderNode
- * @name: (nullable): a name for the node
- *
- * Sets the name of the node.
- *
- * A name is generally useful for debugging purposes.
- */
-void
-gsk_render_node_set_name (GskRenderNode *node,
-                          const char    *name)
-{
-  g_return_if_fail (GSK_IS_RENDER_NODE (node));
-
-  g_free (node->name);
-  node->name = g_strdup (name);
-}
-
-/**
- * gsk_render_node_get_name:
- * @node: a #GskRenderNode
- *
- * Retrieves the name previously set via gsk_render_node_set_name().
- * If no name has been set, %NULL is returned.
- *
- * Returns: (nullable): The name previously set via
- *     gsk_render_node_set_name() or %NULL
- **/
-const char *
-gsk_render_node_get_name (GskRenderNode *node)
-{
-  g_return_val_if_fail (GSK_IS_RENDER_NODE (node), NULL);
-
-  return node->name;
-}
-
 /**
  * gsk_render_node_draw:
  * @node: a #GskRenderNode
@@ -238,8 +199,7 @@ gsk_render_node_draw (GskRenderNode *node,
 #endif
 
   GSK_NOTE (CAIRO, g_message ("Rendering node %s[%p]",
-                            node->name ? node->name : node->node_class->type_name,
-                            node));
+                            node->node_class->type_name, node));
 
   node->node_class->draw (node, cr);
 
@@ -259,9 +219,8 @@ gsk_render_node_draw (GskRenderNode *node,
 
   if (cairo_status (cr))
     {
-      g_warning ("drawing failure for render node %s '%s': %s",
+      g_warning ("drawing failure for render node %s: %s",
                  node->node_class->type_name,
-                 gsk_render_node_get_name (node),
                  cairo_status_to_string (cairo_status (cr)));
     }
 }
index b79381c2517465f7e1b599bd6cb965000ab76103..0515863cdfd648b13d9f34fd094c5a3b56c0a440 100644 (file)
@@ -66,11 +66,6 @@ void                    gsk_render_node_unref                   (GskRenderNode *
 GDK_AVAILABLE_IN_ALL
 GskRenderNodeType       gsk_render_node_get_node_type           (GskRenderNode *node);
 
-GDK_AVAILABLE_IN_ALL
-void                    gsk_render_node_set_name                (GskRenderNode *node,
-                                                                 const char    *name);
-GDK_AVAILABLE_IN_ALL
-const char *            gsk_render_node_get_name                (GskRenderNode *node);
 GDK_AVAILABLE_IN_ALL
 void                    gsk_render_node_get_bounds              (GskRenderNode   *node,
                                                                  graphene_rect_t *bounds);
index 89a7f21363e24e2e66b6cfda3f079bdf7c5b9037..145fec0955d8f3e09fecd92bf07be3a59b9b26ed 100644 (file)
@@ -16,9 +16,6 @@ struct _GskRenderNode
 
   volatile int ref_count;
 
-  /* Use for debugging */
-  char *name;
-
   graphene_rect_t bounds;
 };
 
index 48e3b2c959cd2d5b98dd43e6dcd3a78f9477ed4f..b49c57294c8de6422e10138cb2e41e4aaf540196 100644 (file)
@@ -839,7 +839,7 @@ gsk_vulkan_render_pass_upload_fallback (GskVulkanRenderPass  *self,
             g_message ("Upload op=%s, node %s[%p], bounds %gx%g",
                      op->type == GSK_VULKAN_OP_FALLBACK_CLIP ? "fallback-clip" :
                      (op->type == GSK_VULKAN_OP_FALLBACK_ROUNDED_CLIP ? "fallback-rounded-clip" : "fallback"),
-                     node->name ? node->name : node->node_class->type_name, node,
+                     node->node_class->type_name, node,
                      ceil (node->bounds.size.width),
                      ceil (node->bounds.size.height)));
 #ifdef G_ENABLE_DEBUG
index e471bf21262f4496a5f99bafed9c982946b57101..ff3f098548dc28bc6fe4722f4a5bef56676fb9d8 100644 (file)
@@ -122,24 +122,6 @@ recordings_list_row_selected (GtkListBox           *box,
     g_object_unref (recording);
 }
 
-static void
-render_node_list_get_value (GtkTreeModelRenderNode *model,
-                            GskRenderNode          *node,
-                            int                     column,
-                            GValue                 *value)
-{
-  switch (column)
-    {
-    case COLUMN_NODE_NAME:
-      g_value_set_string (value, gsk_render_node_get_name (node));
-      break;
-
-    default:
-      g_assert_not_reached ();
-      break;
-    }
-}
-
 static const char *
 node_type_name (GskRenderNodeType type)
 {
@@ -196,6 +178,69 @@ node_type_name (GskRenderNodeType type)
     }
 }
 
+static char *
+node_name (GskRenderNode *node)
+{
+  switch (gsk_render_node_get_node_type (node))
+    {
+    case GSK_NOT_A_RENDER_NODE:
+    default:
+      g_assert_not_reached ();
+    case GSK_CONTAINER_NODE:
+    case GSK_CAIRO_NODE:
+    case GSK_LINEAR_GRADIENT_NODE:
+    case GSK_REPEATING_LINEAR_GRADIENT_NODE:
+    case GSK_BORDER_NODE:
+    case GSK_INSET_SHADOW_NODE:
+    case GSK_OUTSET_SHADOW_NODE:
+    case GSK_TRANSFORM_NODE:
+    case GSK_OPACITY_NODE:
+    case GSK_COLOR_MATRIX_NODE:
+    case GSK_REPEAT_NODE:
+    case GSK_CLIP_NODE:
+    case GSK_ROUNDED_CLIP_NODE:
+    case GSK_SHADOW_NODE:
+    case GSK_BLEND_NODE:
+    case GSK_CROSS_FADE_NODE:
+    case GSK_TEXT_NODE:
+    case GSK_BLUR_NODE:
+      return g_strdup (node_type_name (gsk_render_node_get_node_type (node)));
+
+    case GSK_OFFSET_NODE:
+      return g_strdup_printf ("Offset %g, %g", gsk_offset_node_get_x_offset (node), gsk_offset_node_get_y_offset (node));
+
+    case GSK_DEBUG_NODE:
+      return g_strdup (gsk_debug_node_get_message (node));
+
+    case GSK_COLOR_NODE:
+      return gdk_rgba_to_string (gsk_color_node_peek_color (node));
+
+    case GSK_TEXTURE_NODE:
+      {
+        GdkTexture *texture = gsk_texture_node_get_texture (node);
+        return g_strdup_printf ("%dx%d Texture", gdk_texture_get_width (texture), gdk_texture_get_height (texture));
+      }
+    }
+}
+
+static void
+render_node_list_get_value (GtkTreeModelRenderNode *model,
+                            GskRenderNode          *node,
+                            int                     column,
+                            GValue                 *value)
+{
+  switch (column)
+    {
+    case COLUMN_NODE_NAME:
+      g_value_take_string (value, node_name (node));
+      break;
+
+    default:
+      g_assert_not_reached ();
+      break;
+    }
+}
+
 static GdkTexture *
 get_color_texture (const GdkRGBA *color)
 {
@@ -742,7 +787,7 @@ render_node_save (GtkButton            *button,
   GskRenderNode *node;
   GtkTreeIter iter;
   GtkWidget *dialog;
-  char *filename;
+  char *filename, *nodename;
 
   if (!gtk_tree_selection_get_selected (gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->render_node_tree)), NULL, &iter))
     return;
@@ -755,8 +800,9 @@ render_node_save (GtkButton            *button,
                                         _("_Cancel"), GTK_RESPONSE_CANCEL,
                                         _("_Save"), GTK_RESPONSE_ACCEPT,
                                         NULL);
-  filename = g_strdup_printf ("%s.node", gsk_render_node_get_name (node) ? gsk_render_node_get_name (node)
-                                                                         : node_type_name (gsk_render_node_get_node_type (node)));
+  nodename = node_name (node);
+  filename = g_strdup_printf ("%s.node", nodename);
+  g_free (nodename);
   gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), filename);
   g_free (filename);
   gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT);