[gimp] app: add gimp_canvas_handle_set_size() and use it in GimpToolLine



commit 3c5d7075c1325cd982457521f376fe85a91bd8eb
Author: Michael Natterer <mitch gimp org>
Date:   Sun Jun 11 18:46:30 2017 +0200

    app: add gimp_canvas_handle_set_size() and use it in GimpToolLine

 app/display/gimpcanvashandle.c |   32 ++++++++++++++++++++++++++++++++
 app/display/gimpcanvashandle.h |    7 +++++++
 app/display/gimptoolline.c     |   20 ++++----------------
 3 files changed, 43 insertions(+), 16 deletions(-)
---
diff --git a/app/display/gimpcanvashandle.c b/app/display/gimpcanvashandle.c
index b76cf91..378351a 100644
--- a/app/display/gimpcanvashandle.c
+++ b/app/display/gimpcanvashandle.c
@@ -545,6 +545,38 @@ gimp_canvas_handle_set_position (GimpCanvasItem *handle,
 }
 
 void
+gimp_canvas_handle_get_size (GimpCanvasItem *handle,
+                             gint           *width,
+                             gint           *height)
+{
+  g_return_if_fail (GIMP_IS_CANVAS_HANDLE (handle));
+  g_return_if_fail (width != NULL);
+  g_return_if_fail (height != NULL);
+
+  g_object_get (handle,
+                "width",  width,
+                "height", height,
+                NULL);
+}
+
+void
+gimp_canvas_handle_set_size (GimpCanvasItem *handle,
+                             gint            width,
+                             gint            height)
+{
+  g_return_if_fail (GIMP_IS_CANVAS_HANDLE (handle));
+
+  gimp_canvas_item_begin_change (handle);
+
+  g_object_set (handle,
+                "width",  width,
+                "height", height,
+                NULL);
+
+  gimp_canvas_item_end_change (handle);
+}
+
+void
 gimp_canvas_handle_set_angles (GimpCanvasItem *handle,
                                gdouble         start_angle,
                                gdouble         slice_angle)
diff --git a/app/display/gimpcanvashandle.h b/app/display/gimpcanvashandle.h
index 2aeae08..df7a90a 100644
--- a/app/display/gimpcanvashandle.h
+++ b/app/display/gimpcanvashandle.h
@@ -64,6 +64,13 @@ void             gimp_canvas_handle_set_position (GimpCanvasItem   *handle,
                                                   gdouble           x,
                                                   gdouble           y);
 
+void             gimp_canvas_handle_get_size     (GimpCanvasItem   *handle,
+                                                  gint             *width,
+                                                  gint             *height);
+void             gimp_canvas_handle_set_size     (GimpCanvasItem   *handle,
+                                                  gint              width,
+                                                  gint              height);
+
 void             gimp_canvas_handle_set_angles   (GimpCanvasItem   *handle,
                                                   gdouble           start_handle,
                                                   gdouble           slice_handle);
diff --git a/app/display/gimptoolline.c b/app/display/gimptoolline.c
index 07ee9c5..0404aef 100644
--- a/app/display/gimptoolline.c
+++ b/app/display/gimptoolline.c
@@ -584,24 +584,12 @@ gimp_tool_line_update_hilight (GimpToolLine *line)
     hilight_point = gimp_tool_line_get_point (line);
 
   if (start_visible)
-    {
-      gimp_canvas_item_begin_change (private->start_handle_circle);
-      g_object_set (private->start_handle_circle,
-                    "width",  start_diameter,
-                    "height", start_diameter,
-                    NULL);
-      gimp_canvas_item_end_change (private->start_handle_circle);
-    }
+    gimp_canvas_handle_set_size (private->start_handle_circle,
+                                 start_diameter, start_diameter);
 
   if (end_visible)
-    {
-      gimp_canvas_item_begin_change (private->end_handle_circle);
-      g_object_set (private->end_handle_circle,
-                    "width",  end_diameter,
-                    "height", end_diameter,
-                    NULL);
-      gimp_canvas_item_end_change (private->end_handle_circle);
-    }
+    gimp_canvas_handle_set_size (private->end_handle_circle,
+                                 end_diameter, end_diameter);
 
   gimp_canvas_item_set_highlight (private->start_handle_circle,
                                   hilight_point == POINT_START);


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