gimp r25471 - in trunk: . app/core



Author: martinn
Date: Sat Apr 12 06:47:56 2008
New Revision: 25471
URL: http://svn.gnome.org/viewvc/gimp?rev=25471&view=rev

Log:
2008-04-12  Martin Nordholts  <martinn svn gnome org>

	* app/core/gimpimage-snap.c (gimp_image_snap_rectangle): Applied
	patch from Mark Locascio that makes the center point of rectangles
	snap (bug #527659).


Modified:
   trunk/ChangeLog
   trunk/app/core/gimpimage-snap.c

Modified: trunk/app/core/gimpimage-snap.c
==============================================================================
--- trunk/app/core/gimpimage-snap.c	(original)
+++ trunk/app/core/gimpimage-snap.c	Sat Apr 12 06:47:56 2008
@@ -485,6 +485,8 @@
   gdouble  nx, ny;
   gdouble  mindist_x = G_MAXDOUBLE;
   gdouble  mindist_y = G_MAXDOUBLE;
+  gdouble  x_center  = (x1 + x2) / 2.0;
+  gdouble  y_center  = (y1 + y2) / 2.0;
   gboolean snapped   = FALSE;
 
   g_return_val_if_fail (GIMP_IS_IMAGE (image), FALSE);
@@ -525,6 +527,18 @@
       snapped = TRUE;
     }
 
+  /*  center, vertical  */
+  if (gimp_image_snap_x (image, x_center, &nx,
+                         MIN (epsilon_x, mindist_x),
+                         snap_to_guides,
+                         snap_to_grid,
+                         snap_to_canvas))
+    {
+      mindist_x = ABS (nx - x_center);
+      *tx1 = RINT (x1 + (nx - x_center));
+      snapped = TRUE;
+    }
+
   /*  top edge  */
   if (gimp_image_snap_y (image, y1, &ny,
                          MIN (epsilon_y, mindist_y),
@@ -549,6 +563,18 @@
       snapped = TRUE;
     }
 
+  /*  center, horizontal  */
+  if (gimp_image_snap_y (image, y_center, &ny,
+                         MIN (epsilon_y, mindist_y),
+                         snap_to_guides,
+                         snap_to_grid,
+                         snap_to_canvas))
+    {
+      mindist_y = ABS (ny - y_center);
+      *ty1 = RINT (y1 + (ny - y_center));
+      snapped = TRUE;
+    }
+
   if (snap_to_vectors)
     {
       GimpVectors *vectors = gimp_image_get_active_vectors (image);



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