[gimp] Remove gimp_image_layer_boundary()



commit 391560154479b7499ddcc51e9126a2d3f29832f2
Author: Michael Natterer <mitch gimp org>
Date:   Mon Aug 31 20:57:52 2009 +0200

    Remove gimp_image_layer_boundary()
    
    Having a function that only abstracts whether there is an active
    layer or not is pretty useless. This also doesn't make the code in
    selection_generate_segs() more complex but rather more obvious.

 app/core/gimpimage.c                     |   29 ------------------------
 app/core/gimpimage.h                     |    3 --
 app/display/gimpdisplayshell-selection.c |   35 ++++++++++++++++-------------
 3 files changed, 19 insertions(+), 48 deletions(-)
---
diff --git a/app/core/gimpimage.c b/app/core/gimpimage.c
index cf241d0..f5b6cf5 100644
--- a/app/core/gimpimage.c
+++ b/app/core/gimpimage.c
@@ -4083,35 +4083,6 @@ gimp_image_reorder_vectors (GimpImage   *image,
   return TRUE;
 }
 
-gboolean
-gimp_image_layer_boundary (const GimpImage  *image,
-                           BoundSeg        **segs,
-                           gint             *n_segs)
-{
-  GimpLayer *layer;
-
-  g_return_val_if_fail (GIMP_IS_IMAGE (image), FALSE);
-  g_return_val_if_fail (segs != NULL, FALSE);
-  g_return_val_if_fail (n_segs != NULL, FALSE);
-
-  /*  The second boundary corresponds to the active layer's
-   *  perimeter...
-   */
-  layer = gimp_image_get_active_layer (image);
-
-  if (layer)
-    {
-      *segs = gimp_layer_boundary (layer, n_segs);
-      return TRUE;
-    }
-  else
-    {
-      *segs = NULL;
-      *n_segs = 0;
-      return FALSE;
-    }
-}
-
 GimpLayer *
 gimp_image_pick_layer (const GimpImage *image,
                        gint             x,
diff --git a/app/core/gimpimage.h b/app/core/gimpimage.h
index 2112d4b..b573730 100644
--- a/app/core/gimpimage.h
+++ b/app/core/gimpimage.h
@@ -554,9 +554,6 @@ gboolean        gimp_image_reorder_vectors       (GimpImage          *image,
                                                   gboolean            push_undo,
                                                   const gchar        *undo_desc);
 
-gboolean        gimp_image_layer_boundary        (const GimpImage    *image,
-                                                  BoundSeg          **segs,
-                                                  gint               *n_segs);
 GimpLayer     * gimp_image_pick_layer            (const GimpImage    *image,
                                                   gint                x,
                                                   gint                y);
diff --git a/app/display/gimpdisplayshell-selection.c b/app/display/gimpdisplayshell-selection.c
index 2a53708..73d8526 100644
--- a/app/display/gimpdisplayshell-selection.c
+++ b/app/display/gimpdisplayshell-selection.c
@@ -611,14 +611,15 @@ selection_transform_segs (Selection      *selection,
 static void
 selection_generate_segs (Selection *selection)
 {
+  GimpImage      *image = selection->shell->display->image;
   const BoundSeg *segs_in;
   const BoundSeg *segs_out;
-  BoundSeg       *segs_layer;
+  GimpLayer      *layer;
 
   /*  Ask the image for the boundary of its selected region...
    *  Then transform that information into a new buffer of GdkSegments
    */
-  gimp_channel_boundary (gimp_image_get_mask (selection->shell->display->image),
+  gimp_channel_boundary (gimp_image_get_mask (image),
                          &segs_in, &segs_out,
                          &selection->num_segs_in, &selection->num_segs_out,
                          0, 0, 0, 0);
@@ -650,23 +651,25 @@ selection_generate_segs (Selection *selection)
       selection->segs_out = NULL;
     }
 
-  /*  The active layer's boundary  */
-  gimp_image_layer_boundary (selection->shell->display->image,
-                             &segs_layer, &selection->num_segs_layer);
+  layer = gimp_image_get_active_layer (image);
 
-  if (selection->num_segs_layer)
+  if (layer)
     {
-      selection->segs_layer = g_new (GdkSegment, selection->num_segs_layer);
-      selection_transform_segs (selection, segs_layer,
-                                selection->segs_layer,
-                                selection->num_segs_layer);
-    }
-  else
-    {
-      selection->segs_layer = NULL;
-    }
+      BoundSeg *segs;
+
+      segs = gimp_layer_boundary (layer, &selection->num_segs_layer);
 
-  g_free (segs_layer);
+      if (selection->num_segs_layer)
+        {
+          selection->segs_layer = g_new (GdkSegment, selection->num_segs_layer);
+
+          selection_transform_segs (selection, segs,
+                                    selection->segs_layer,
+                                    selection->num_segs_layer);
+
+          g_free (segs);
+        }
+    }
 }
 
 static void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]