[gimp] app: remove members "type" and "direction" from GimpTransformTool
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: remove members "type" and "direction" from GimpTransformTool
- Date: Sun, 27 Mar 2011 15:40:09 +0000 (UTC)
commit 6fe9430cab11493c6db49ad1faf720b5faa01590
Author: Michael Natterer <mitch gimp org>
Date: Sun Mar 27 17:38:49 2011 +0200
app: remove members "type" and "direction" from GimpTransformTool
and use the stuff from GimpTransformOptions directly. The copied
values were only there because of XOR drawing. Also did some more
cleanup and junk removal.
app/tools/gimptransformtool.c | 63 +++++++++++------------------------------
app/tools/gimptransformtool.h | 3 --
2 files changed, 17 insertions(+), 49 deletions(-)
---
diff --git a/app/tools/gimptransformtool.c b/app/tools/gimptransformtool.c
index 70d47b0..81d339d 100644
--- a/app/tools/gimptransformtool.c
+++ b/app/tools/gimptransformtool.c
@@ -34,6 +34,7 @@
#include "core/gimp.h"
#include "core/gimpcontext.h"
+#include "core/gimpchannel.h"
#include "core/gimpdrawable-transform.h"
#include "core/gimperror.h"
#include "core/gimpimage.h"
@@ -41,8 +42,6 @@
#include "core/gimpimage-undo-push.h"
#include "core/gimpitem-linked.h"
#include "core/gimplayer.h"
-#include "core/gimplayermask.h"
-#include "core/gimppickable.h"
#include "core/gimpprogress.h"
#include "core/gimptoolinfo.h"
@@ -67,9 +66,10 @@
#define MIN_HANDLE_SIZE 6
+#define MIN4(a,b,c,d) MIN(MIN((a),(b)),MIN((c),(d)))
+#define MAX4(a,b,c,d) MAX(MAX((a),(b)),MAX((c),(d)))
-static void gimp_transform_tool_constructed (GObject *object);
static void gimp_transform_tool_finalize (GObject *object);
static gboolean gimp_transform_tool_initialize (GimpTool *tool,
@@ -160,7 +160,6 @@ gimp_transform_tool_class_init (GimpTransformToolClass *klass)
GimpToolClass *tool_class = GIMP_TOOL_CLASS (klass);
GimpDrawToolClass *draw_class = GIMP_DRAW_TOOL_CLASS (klass);
- object_class->constructed = gimp_transform_tool_constructed;
object_class->finalize = gimp_transform_tool_finalize;
tool_class->initialize = gimp_transform_tool_initialize;
@@ -226,9 +225,6 @@ gimp_transform_tool_init (GimpTransformTool *tr_tool)
tr_tool->ngy = 0;
tr_tool->grid_coords = NULL;
- tr_tool->type = GIMP_TRANSFORM_TYPE_LAYER;
- tr_tool->direction = GIMP_TRANSFORM_FORWARD;
-
tr_tool->undo_desc = NULL;
tr_tool->progress_text = _("Transforming");
@@ -236,23 +232,6 @@ gimp_transform_tool_init (GimpTransformTool *tr_tool)
}
static void
-gimp_transform_tool_constructed (GObject *object)
-{
- GimpTool *tool = GIMP_TOOL (object);
- GimpTransformTool *tr_tool = GIMP_TRANSFORM_TOOL (object);
- GimpTransformOptions *options = GIMP_TRANSFORM_TOOL_GET_OPTIONS (tool);
-
- if (G_OBJECT_CLASS (parent_class)->constructed)
- G_OBJECT_CLASS (parent_class)->constructed (object);
-
- if (tr_tool->use_grid)
- {
- tr_tool->type = options->type;
- tr_tool->direction = options->direction;
- }
-}
-
-static void
gimp_transform_tool_finalize (GObject *object)
{
GimpTransformTool *tr_tool = GIMP_TRANSFORM_TOOL (object);
@@ -727,8 +706,6 @@ gimp_transform_tool_options_notify (GimpTool *tool,
if (tr_tool->use_grid)
{
- GimpTransformOptions *tr_options = GIMP_TRANSFORM_OPTIONS (options);
-
if (tr_tool->function != TRANSFORM_CREATING)
{
gimp_draw_tool_pause (GIMP_DRAW_TOOL (tr_tool));
@@ -737,9 +714,6 @@ gimp_transform_tool_options_notify (GimpTool *tool,
if (! strcmp (pspec->name, "type") ||
! strcmp (pspec->name, "direction"))
{
- tr_tool->type = tr_options->type;
- tr_tool->direction = tr_options->direction;
-
if (tr_tool->function != TRANSFORM_CREATING)
{
if (tool->display)
@@ -939,7 +913,7 @@ gimp_transform_tool_draw (GimpDrawTool *draw_tool)
GIMP_HANDLE_ANCHOR_CENTER);
}
- if (tr_tool->type == GIMP_TRANSFORM_TYPE_SELECTION)
+ if (options->type == GIMP_TRANSFORM_TYPE_SELECTION)
{
GimpMatrix3 matrix = tr_tool->transform;
const BoundSeg *orig_in;
@@ -1010,7 +984,7 @@ gimp_transform_tool_draw (GimpDrawTool *draw_tool)
g_free (segs_out);
}
}
- else if (tr_tool->type == GIMP_TRANSFORM_TYPE_PATH)
+ else if (options->type == GIMP_TRANSFORM_TYPE_PATH)
{
GimpVectors *vectors;
GimpStroke *stroke = NULL;
@@ -1020,7 +994,7 @@ gimp_transform_tool_draw (GimpDrawTool *draw_tool)
if (vectors)
{
- if (tr_tool->direction == GIMP_TRANSFORM_BACKWARD)
+ if (options->direction == GIMP_TRANSFORM_BACKWARD)
gimp_matrix3_invert (&matrix);
while ((stroke = gimp_vectors_stroke_get_next (vectors, stroke)))
@@ -1414,16 +1388,13 @@ gimp_transform_tool_grid_recalc (GimpTransformTool *tr_tool)
case GIMP_TRANSFORM_GRID_TYPE_N_LINES:
case GIMP_TRANSFORM_GRID_TYPE_SPACING:
{
- GimpTool *tool;
- gint i, gci;
- gdouble *coords;
- gint width, height;
+ gint i, gci;
+ gdouble *coords;
+ gint width, height;
width = MAX (1, tr_tool->x2 - tr_tool->x1);
height = MAX (1, tr_tool->y2 - tr_tool->y1);
- tool = GIMP_TOOL (tr_tool);
-
if (options->grid_type == GIMP_TRANSFORM_GRID_TYPE_N_LINES)
{
if (width <= height)
@@ -1502,10 +1473,10 @@ gimp_transform_tool_handles_recalc (GimpTransformTool *tr_tool,
tr_tool->tx4, tr_tool->ty4,
&dx4, &dy4);
- x1 = MIN (MIN (dx1, dx2), MIN (dx3, dx4));
- y1 = MIN (MIN (dy1, dy2), MIN (dy3, dy4));
- x2 = MAX (MAX (dx1, dx2), MAX (dx3, dx4));
- y2 = MAX (MAX (dy1, dy2), MAX (dy3, dy4));
+ x1 = MIN4 (dx1, dx2, dx3, dx4);
+ y1 = MIN4 (dy1, dy2, dy3, dy4);
+ x2 = MAX4 (dx1, dx2, dx3, dx4);
+ y2 = MAX4 (dy1, dy2, dy3, dy4);
tr_tool->handle_w = CLAMP ((x2 - x1) / 3,
MIN_HANDLE_SIZE, GIMP_TOOL_HANDLE_SIZE_LARGE);
@@ -1551,12 +1522,11 @@ static void
gimp_transform_tool_prepare (GimpTransformTool *tr_tool,
GimpDisplay *display)
{
- GimpTransformOptions *options = GIMP_TRANSFORM_TOOL_GET_OPTIONS (tr_tool);
- GimpImage *image = gimp_display_get_image (display);
-
if (tr_tool->dialog)
{
- GimpDrawable *drawable = gimp_image_get_active_drawable (image);
+ GimpTransformOptions *options = GIMP_TRANSFORM_TOOL_GET_OPTIONS (tr_tool);
+ GimpImage *image = gimp_display_get_image (display);
+ GimpDrawable *drawable = gimp_image_get_active_drawable (image);
gimp_viewable_dialog_set_viewable (GIMP_VIEWABLE_DIALOG (tr_tool->dialog),
GIMP_VIEWABLE (drawable),
@@ -1573,6 +1543,7 @@ void
gimp_transform_tool_recalc (GimpTransformTool *tr_tool,
GimpDisplay *display)
{
+ g_return_if_fail (GIMP_IS_TRANSFORM_TOOL (tr_tool));
g_return_if_fail (GIMP_IS_DISPLAY (display));
if (GIMP_TRANSFORM_TOOL_GET_CLASS (tr_tool)->recalc)
diff --git a/app/tools/gimptransformtool.h b/app/tools/gimptransformtool.h
index b1e2518..ee407ec 100644
--- a/app/tools/gimptransformtool.h
+++ b/app/tools/gimptransformtool.h
@@ -99,9 +99,6 @@ struct _GimpTransformTool
* coordinate pairs)
*/
- GimpTransformType type;
- GimpTransformDirection direction;
-
const gchar *undo_desc;
const gchar *progress_text;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]