[gimp] app: handle motion right just created size fixed rects



commit c8fa2c99e8036eb0920cd11f4ec7aa832b9aef4d
Author: Alexia Death <alexiadeath gmail com>
Date:   Sat Oct 1 14:19:51 2011 +0300

    app: handle motion right just created size fixed rects

 app/tools/gimprectangletool.c |   58 +++++++++++++++++++++-------------------
 1 files changed, 30 insertions(+), 28 deletions(-)
---
diff --git a/app/tools/gimprectangletool.c b/app/tools/gimprectangletool.c
index 94bddaa..15d6aba 100644
--- a/app/tools/gimprectangletool.c
+++ b/app/tools/gimprectangletool.c
@@ -1201,32 +1201,6 @@ gimp_rectangle_tool_motion (GimpTool         *tool,
        * function to one of the corner-grabbed functions, depending on
        * in what direction the user starts dragging the rectangle.
        */
-      if (dx < 0)
-        {
-          function = (dy < 0 ?
-                      GIMP_RECTANGLE_TOOL_RESIZING_UPPER_LEFT :
-                      GIMP_RECTANGLE_TOOL_RESIZING_LOWER_LEFT);
-        }
-      else if (dx > 0)
-        {
-          function = (dy < 0 ?
-                      GIMP_RECTANGLE_TOOL_RESIZING_UPPER_RIGHT :
-                      GIMP_RECTANGLE_TOOL_RESIZING_LOWER_RIGHT);
-        }
-      else if (dy < 0)
-        {
-          function = (dx < 0 ?
-                      GIMP_RECTANGLE_TOOL_RESIZING_UPPER_LEFT :
-                      GIMP_RECTANGLE_TOOL_RESIZING_UPPER_RIGHT);
-        }
-      else if (dy > 0)
-        {
-          function = (dx < 0 ?
-                      GIMP_RECTANGLE_TOOL_RESIZING_LOWER_LEFT :
-                      GIMP_RECTANGLE_TOOL_RESIZING_LOWER_RIGHT);
-        }
-
-      gimp_rectangle_tool_set_function (rect_tool, function);
 
       if (gimp_rectangle_options_fixed_rule_active (options,
                                                     GIMP_RECTANGLE_TOOL_FIXED_SIZE))
@@ -1246,8 +1220,36 @@ gimp_rectangle_tool_motion (GimpTool         *tool,
                                               private->x2 - private->x1,
                                               private->y2 - private->y1);
 
-          gimp_rectangle_tool_set_function (rect_tool,
-                                            GIMP_RECTANGLE_TOOL_MOVING);
+          gimp_rectangle_tool_set_function (rect_tool, GIMP_RECTANGLE_TOOL_MOVING);
+        }
+      else
+        {
+          if (dx < 0)
+            {
+              function = (dy < 0 ?
+                          GIMP_RECTANGLE_TOOL_RESIZING_UPPER_LEFT :
+                          GIMP_RECTANGLE_TOOL_RESIZING_LOWER_LEFT);
+            }
+          else if (dx > 0)
+            {
+              function = (dy < 0 ?
+                          GIMP_RECTANGLE_TOOL_RESIZING_UPPER_RIGHT :
+                          GIMP_RECTANGLE_TOOL_RESIZING_LOWER_RIGHT);
+            }
+          else if (dy < 0)
+            {
+              function = (dx < 0 ?
+                          GIMP_RECTANGLE_TOOL_RESIZING_UPPER_LEFT :
+                          GIMP_RECTANGLE_TOOL_RESIZING_UPPER_RIGHT);
+            }
+          else if (dy > 0)
+            {
+              function = (dx < 0 ?
+                          GIMP_RECTANGLE_TOOL_RESIZING_LOWER_LEFT :
+                          GIMP_RECTANGLE_TOOL_RESIZING_LOWER_RIGHT);
+            }
+
+          gimp_rectangle_tool_set_function (rect_tool, function);
         }
     }
 



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