[gimp/soc-2011-warp: 1/3] GimpWarpTool: skeleton of the tool, with options



commit 0a2b3dfb7f81cde01af3ff7f143da5f55d6f06ea
Author: Michael Muré <batolettre gmail com>
Date:   Mon May 23 21:11:08 2011 +0200

    GimpWarpTool: skeleton of the tool, with options

 app/tools/Makefile.am       |    6 +-
 app/tools/gimp-tools.c      |    2 +
 app/tools/gimpwarpoptions.c |  113 +++++++++++++++
 app/tools/gimpwarpoptions.h |   54 +++++++
 app/tools/gimpwarptool.c    |  325 +++++++++++++++++++++++++++++++++++++++++++
 app/tools/gimpwarptool.h    |   57 ++++++++
 app/tools/makefile.msc      |    2 +
 app/widgets/gimphelp-ids.h  |    1 +
 libgimpwidgets/gimpstock.h  |    1 +
 9 files changed, 560 insertions(+), 1 deletions(-)
---
diff --git a/app/tools/Makefile.am b/app/tools/Makefile.am
index d0f3624..1fd609c 100644
--- a/app/tools/Makefile.am
+++ b/app/tools/Makefile.am
@@ -195,7 +195,11 @@ libapptools_a_sources = \
 	gimpvectoroptions.c		\
 	gimpvectoroptions.h		\
 	gimpvectortool.c		\
-	gimpvectortool.h
+	gimpvectortool.h		\
+	gimpwarpoptions.c		\
+	gimpwarpoptions.h		\
+	gimpwarptool.c		\
+	gimpwarptool.h
 
 libapptools_a_built_sources = tools-enums.c
 
diff --git a/app/tools/gimp-tools.c b/app/tools/gimp-tools.c
index 56e027c..a59b9e1 100644
--- a/app/tools/gimp-tools.c
+++ b/app/tools/gimp-tools.c
@@ -82,6 +82,7 @@
 #include "gimpsmudgetool.h"
 #include "gimptexttool.h"
 #include "gimpvectortool.h"
+#include "gimpwarptool.h"
 
 #include "gimp-intl.h"
 
@@ -157,6 +158,7 @@ gimp_tools_init (Gimp *gimp)
     gimp_crop_tool_register,
     gimp_align_tool_register,
     gimp_move_tool_register,
+    gimp_warp_tool_register,
 
     /*  non-modifying tools  */
 
diff --git a/app/tools/gimpwarpoptions.c b/app/tools/gimpwarpoptions.c
new file mode 100644
index 0000000..e4460af
--- /dev/null
+++ b/app/tools/gimpwarpoptions.c
@@ -0,0 +1,113 @@
+/* GIMP - The GNU Image Manipulation Program
+ *
+ * gimpwarpoptions.c
+ * Copyright (C) 2011 Michael Muré <batolettre gmail com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "config.h"
+
+#include <gegl.h>
+#include <gtk/gtk.h>
+
+#include "libgimpconfig/gimpconfig.h"
+#include "libgimpwidgets/gimpwidgets.h"
+
+#include "tools-types.h"
+
+#include "gimpwarpoptions.h"
+#include "gimptooloptions-gui.h"
+
+#include "gimp-intl.h"
+
+
+enum
+{
+  PROP_0
+};
+
+
+static void   gimp_warp_options_set_property (GObject      *object,
+                                              guint         property_id,
+                                              const GValue *value,
+                                              GParamSpec   *pspec);
+static void   gimp_warp_options_get_property (GObject      *object,
+                                              guint         property_id,
+                                              GValue       *value,
+                                              GParamSpec   *pspec);
+
+
+G_DEFINE_TYPE (GimpWarpOptions, gimp_warp_options,
+               GIMP_TYPE_TOOL_OPTIONS)
+
+#define parent_class gimp_warp_options_parent_class
+
+
+static void
+gimp_warp_options_class_init (GimpWarpOptionsClass *klass)
+{
+  GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+  object_class->set_property = gimp_warp_options_set_property;
+  object_class->get_property = gimp_warp_options_get_property;
+}
+
+static void
+gimp_warp_options_init (GimpWarpOptions *options)
+{
+}
+
+static void
+gimp_warp_options_set_property (GObject      *object,
+                                guint         property_id,
+                                const GValue *value,
+                                GParamSpec   *pspec)
+{
+  GimpWarpOptions *options = GIMP_WARP_OPTIONS (object);
+
+  switch (property_id)
+    {
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+      break;
+    }
+}
+
+static void
+gimp_warp_options_get_property (GObject    *object,
+                                guint       property_id,
+                                GValue     *value,
+                                GParamSpec *pspec)
+{
+  GimpWarpOptions *options = GIMP_WARP_OPTIONS (object);
+
+  switch (property_id)
+    {
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+      break;
+    }
+}
+
+GtkWidget *
+gimp_warp_options_gui (GimpToolOptions *tool_options)
+{
+  GObject   *config = G_OBJECT (tool_options);
+  GtkWidget *vbox   = gimp_tool_options_gui (tool_options);
+
+  return vbox;
+}
diff --git a/app/tools/gimpwarpoptions.h b/app/tools/gimpwarpoptions.h
new file mode 100644
index 0000000..aba554c
--- /dev/null
+++ b/app/tools/gimpwarpoptions.h
@@ -0,0 +1,54 @@
+/* GIMP - The GNU Image Manipulation Program
+ *
+ * gimpwarpoptions.h
+ * Copyright (C) 2011 Michael Muré <batolettre gmail com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __GIMP_WARP_OPTIONS_H__
+#define __GIMP_WARP_OPTIONS_H__
+
+
+#include "core/gimptooloptions.h"
+
+
+#define GIMP_TYPE_WARP_OPTIONS            (gimp_warp_options_get_type ())
+#define GIMP_WARP_OPTIONS(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_WARP_OPTIONS, GimpWarpOptions))
+#define GIMP_WARP_OPTIONS_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_WARP_OPTIONS, GimpWarpOptionsClass))
+#define GIMP_IS_WARP_OPTIONS(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_WARP_OPTIONS))
+#define GIMP_IS_WARP_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_WARP_OPTIONS))
+#define GIMP_WARP_OPTIONS_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_WARP_OPTIONS, GimpWarpOptionsClass))
+
+
+typedef struct _GimpWarpOptions      GimpWarpOptions;
+typedef struct _GimpWarpOptionsClass GimpWarpOptionsClass;
+
+struct _GimpWarpOptions
+{
+  GimpToolOptions  parent_instance;
+};
+
+struct _GimpWarpOptionsClass
+{
+  GimpToolOptionsClass  parent_class;
+};
+
+
+GType       gimp_warp_options_get_type (void) G_GNUC_CONST;
+
+GtkWidget * gimp_warp_options_gui      (GimpToolOptions *tool_options);
+
+
+#endif  /*  __GIMP_WARP_OPTIONS_H__  */
diff --git a/app/tools/gimpwarptool.c b/app/tools/gimpwarptool.c
new file mode 100644
index 0000000..6e6d433
--- /dev/null
+++ b/app/tools/gimpwarptool.c
@@ -0,0 +1,325 @@
+/* GIMP - The GNU Image Manipulation Program
+ *
+ * gimpwarptool.c
+ * Copyright (C) 2011 Michael Muré <batolettre gmail com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "config.h"
+
+#include <string.h>
+#include <stdlib.h>
+
+#include <gegl.h>
+#include <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
+
+#include "libgimpbase/gimpbase.h"
+#include "libgimpmath/gimpmath.h"
+#include "libgimpwidgets/gimpwidgets.h"
+
+#include "tools-types.h"
+
+#include "base/tile-manager.h"
+
+#include "core/gimp.h"
+#include "core/gimpchannel.h"
+#include "core/gimpdrawable-shadow.h"
+#include "core/gimpimage.h"
+#include "core/gimpimagemap.h"
+#include "core/gimplayer.h"
+#include "core/gimpprogress.h"
+#include "core/gimpprojection.h"
+
+#include "widgets/gimphelp-ids.h"
+
+#include "display/gimpdisplay.h"
+#include "display/gimpdisplayshell.h"
+#include "display/gimpdisplayshell-transform.h"
+
+#include "gimpwarptool.h"
+#include "gimpwarpoptions.h"
+#include "gimptoolcontrol.h"
+
+#include "gimp-intl.h"
+
+
+static void       gimp_warp_tool_start              (GimpWarpTool          *wt,
+                                                     GimpDisplay           *display);
+
+static void       gimp_warp_tool_options_notify     (GimpTool              *tool,
+                                                     GimpToolOptions       *options,
+                                                     const GParamSpec      *pspec);
+static void       gimp_warp_tool_button_press       (GimpTool              *tool,
+                                                     const GimpCoords      *coords,
+                                                     guint32                time,
+                                                     GdkModifierType        state,
+                                                     GimpButtonPressType    press_type,
+                                                     GimpDisplay           *display);
+static void       gimp_warp_tool_button_release     (GimpTool              *tool,
+                                                     const GimpCoords      *coords,
+                                                     guint32                time,
+                                                     GdkModifierType        state,
+                                                     GimpButtonReleaseType  release_type,
+                                                     GimpDisplay           *display);
+static gboolean   gimp_warp_tool_key_press          (GimpTool              *tool,
+                                                     GdkEventKey           *kevent,
+                                                     GimpDisplay           *display);
+static void       gimp_warp_tool_motion             (GimpTool              *tool,
+                                                     const GimpCoords      *coords,
+                                                     guint32                time,
+                                                     GdkModifierType        state,
+                                                     GimpDisplay           *display);
+static void       gimp_warp_tool_control            (GimpTool              *tool,
+                                                     GimpToolAction         action,
+                                                     GimpDisplay           *display);
+static void       gimp_warp_tool_cursor_update      (GimpTool              *tool,
+                                                     const GimpCoords      *coords,
+                                                     GdkModifierType        state,
+                                                     GimpDisplay           *display);
+static void       gimp_warp_tool_oper_update        (GimpTool              *tool,
+                                                     const GimpCoords      *coords,
+                                                     GdkModifierType        state,
+                                                     gboolean               proximity,
+                                                     GimpDisplay           *display);
+
+static void       gimp_warp_tool_draw               (GimpDrawTool          *draw_tool);
+
+G_DEFINE_TYPE (GimpWarpTool, gimp_warp_tool, GIMP_TYPE_DRAW_TOOL)
+
+#define parent_class gimp_warp_tool_parent_class
+
+
+void
+gimp_warp_tool_register (GimpToolRegisterCallback  callback,
+                         gpointer                  data)
+{
+  (* callback) (GIMP_TYPE_WARP_TOOL,
+                GIMP_TYPE_WARP_OPTIONS,
+                gimp_warp_options_gui,
+                0,
+                "gimp-warp-tool",
+                _("Warp Transform"),
+                _("Warp Transform: Deform a selection with a warp"),
+                N_("_Warp Transform"), "W",
+                NULL, GIMP_HELP_TOOL_WARP,
+                GIMP_STOCK_TOOL_WARP,
+                data);
+}
+
+static void
+gimp_warp_tool_class_init (GimpWarpToolClass *klass)
+{
+  GimpToolClass     *tool_class      = GIMP_TOOL_CLASS (klass);
+  GimpDrawToolClass *draw_tool_class = GIMP_DRAW_TOOL_CLASS (klass);
+
+  tool_class->options_notify = gimp_warp_tool_options_notify;
+  tool_class->button_press   = gimp_warp_tool_button_press;
+  tool_class->button_release = gimp_warp_tool_button_release;
+  tool_class->key_press      = gimp_warp_tool_key_press;
+  tool_class->motion         = gimp_warp_tool_motion;
+  tool_class->control        = gimp_warp_tool_control;
+  tool_class->cursor_update  = gimp_warp_tool_cursor_update;
+  tool_class->oper_update    = gimp_warp_tool_oper_update;
+
+  draw_tool_class->draw      = gimp_warp_tool_draw;
+}
+
+static void
+gimp_warp_tool_init (GimpWarpTool *self)
+{
+  GimpTool *tool = GIMP_TOOL (self);
+
+  gimp_tool_control_set_dirty_mask  (tool->control,
+                                     GIMP_DIRTY_IMAGE           |
+                                     GIMP_DIRTY_IMAGE_STRUCTURE |
+                                     GIMP_DIRTY_DRAWABLE        |
+                                     GIMP_DIRTY_SELECTION);
+  gimp_tool_control_set_wants_click (tool->control, TRUE);
+  gimp_tool_control_set_tool_cursor (tool->control,
+                                     GIMP_TOOL_CURSOR_PERSPECTIVE);
+}
+
+static void
+gimp_warp_tool_control (GimpTool       *tool,
+                        GimpToolAction  action,
+                        GimpDisplay    *display)
+{
+  GimpWarpTool *wt = GIMP_WARP_TOOL (tool);
+
+  switch (action)
+    {
+    case GIMP_TOOL_ACTION_PAUSE:
+    case GIMP_TOOL_ACTION_RESUME:
+    case GIMP_TOOL_ACTION_HALT:
+      break;
+    }
+
+  GIMP_TOOL_CLASS (parent_class)->control (tool, action, display);
+}
+
+static void
+gimp_warp_tool_start (GimpWarpTool *wt,
+                      GimpDisplay  *display)
+{
+  GimpTool     *tool     = GIMP_TOOL (wt);
+
+  gimp_tool_control (tool, GIMP_TOOL_ACTION_HALT, display);
+
+  tool->display = display;
+
+  gimp_draw_tool_start (GIMP_DRAW_TOOL (wt), display);
+}
+
+static void
+gimp_warp_tool_options_notify (GimpTool         *tool,
+                               GimpToolOptions  *options,
+                               const GParamSpec *pspec)
+{
+  GimpWarpTool *ct = GIMP_WARP_TOOL (tool);
+
+  GIMP_TOOL_CLASS (parent_class)->options_notify (tool, options, pspec);
+
+  if (! tool->display)
+    return;
+
+  gimp_draw_tool_pause (GIMP_DRAW_TOOL (tool));
+
+  if (strcmp (pspec->name, "foo") == 0)
+    {
+    }
+
+  gimp_draw_tool_resume (GIMP_DRAW_TOOL (tool));
+}
+
+static gboolean
+gimp_warp_tool_key_press (GimpTool    *tool,
+                          GdkEventKey *kevent,
+                          GimpDisplay *display)
+{
+  GimpWarpTool *wt = GIMP_WARP_TOOL (tool);
+
+  switch (kevent->keyval)
+    {
+    case GDK_KEY_BackSpace:
+    case GDK_KEY_Return:
+    case GDK_KEY_KP_Enter:
+    case GDK_KEY_ISO_Enter:
+      return TRUE;
+
+    case GDK_KEY_Escape:
+      gimp_tool_control (tool, GIMP_TOOL_ACTION_HALT, display);
+      return TRUE;
+
+    default:
+      break;
+    }
+
+  return FALSE;
+}
+
+static void
+gimp_warp_tool_motion (GimpTool         *tool,
+                       const GimpCoords *coords,
+                       guint32           time,
+                       GdkModifierType   state,
+                       GimpDisplay      *display)
+{
+  GimpWarpTool    *wt       = GIMP_WARP_TOOL (tool);
+
+  gimp_draw_tool_pause (GIMP_DRAW_TOOL (tool));
+
+  gimp_draw_tool_resume (GIMP_DRAW_TOOL (tool));
+}
+
+static void
+gimp_warp_tool_oper_update (GimpTool         *tool,
+                            const GimpCoords *coords,
+                            GdkModifierType   state,
+                            gboolean          proximity,
+                            GimpDisplay      *display)
+{
+  GimpWarpTool *wt        = GIMP_WARP_TOOL (tool);
+  GimpDrawTool *draw_tool = GIMP_DRAW_TOOL (tool);
+
+  gimp_draw_tool_pause (draw_tool);
+
+  gimp_draw_tool_resume (draw_tool);
+}
+
+static void
+gimp_warp_tool_button_press (GimpTool            *tool,
+                             const GimpCoords    *coords,
+                             guint32              time,
+                             GdkModifierType      state,
+                             GimpButtonPressType  press_type,
+                             GimpDisplay         *display)
+{
+  GimpWarpTool    *wt        = GIMP_WARP_TOOL (tool);
+  GimpDrawTool    *draw_tool = GIMP_DRAW_TOOL (tool);
+
+  if (display != tool->display)
+    gimp_warp_tool_start (wt, display);
+
+  gimp_tool_control_activate (tool->control);
+}
+
+void
+gimp_warp_tool_button_release (GimpTool              *tool,
+                               const GimpCoords      *coords,
+                               guint32                time,
+                               GdkModifierType        state,
+                               GimpButtonReleaseType  release_type,
+                               GimpDisplay           *display)
+{
+  GimpWarpTool    *wt      = GIMP_WARP_TOOL (tool);
+
+  gimp_draw_tool_pause (GIMP_DRAW_TOOL (wt));
+
+  gimp_tool_control_halt (tool->control);
+
+  if (release_type == GIMP_BUTTON_RELEASE_CANCEL)
+    {
+    }
+  else
+    {
+    }
+
+  gimp_draw_tool_resume (GIMP_DRAW_TOOL (tool));
+}
+
+static void
+gimp_warp_tool_cursor_update (GimpTool         *tool,
+                              const GimpCoords *coords,
+                              GdkModifierType   state,
+                              GimpDisplay      *display)
+{
+  GimpCursorModifier  modifier = GIMP_CURSOR_MODIFIER_PLUS;
+
+  if (tool->display)
+    {
+      modifier = GIMP_CURSOR_MODIFIER_MOVE;
+    }
+
+  gimp_tool_control_set_cursor_modifier (tool->control, modifier);
+
+  GIMP_TOOL_CLASS (parent_class)->cursor_update (tool, coords, state, display);
+}
+
+static void
+gimp_warp_tool_draw (GimpDrawTool *draw_tool)
+{
+  GimpWarpTool    *wt        = GIMP_WARP_TOOL (draw_tool);
+}
diff --git a/app/tools/gimpwarptool.h b/app/tools/gimpwarptool.h
new file mode 100644
index 0000000..7144ff6
--- /dev/null
+++ b/app/tools/gimpwarptool.h
@@ -0,0 +1,57 @@
+/* GIMP - The GNU Image Manipulation Program
+ *
+ * gimpwarptool.h
+ * Copyright (C) 2011 Michael Muré <batolettre gmail com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __GIMP_WARP_TOOL_H__
+#define __GIMP_WARP_TOOL_H__
+
+
+#include "gimpdrawtool.h"
+
+
+#define GIMP_TYPE_WARP_TOOL            (gimp_warp_tool_get_type ())
+#define GIMP_WARP_TOOL(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_WARP_TOOL, GimpWarpTool))
+#define GIMP_WARP_TOOL_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_WARP_TOOL, GimpWarpToolClass))
+#define GIMP_IS_WARP_TOOL(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_WARP_TOOL))
+#define GIMP_IS_WARP_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_WARP_TOOL))
+#define GIMP_WARP_TOOL_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_WARP_TOOL, GimpWarpToolClass))
+
+//#define GIMP_WARP_TOOL_GET_OPTIONS(t)  (GIMP_WARP_OPTIONS (gimp_tool_get_options (GIMP_TOOL (t))))
+
+
+typedef struct _GimpWarpTool      GimpWarpTool;
+typedef struct _GimpWarpToolClass GimpWarpToolClass;
+
+struct _GimpWarpTool
+{
+  GimpDrawTool    parent_instance;
+};
+
+struct _GimpWarpToolClass
+{
+  GimpDrawToolClass parent_class;
+};
+
+
+void    gimp_warp_tool_register (GimpToolRegisterCallback  callback,
+                                 gpointer                  data);
+
+GType   gimp_warp_tool_get_type (void) G_GNUC_CONST;
+
+
+#endif  /*  __GIMP_WARP_TOOL_H__  */
diff --git a/app/tools/makefile.msc b/app/tools/makefile.msc
index afe5c20..64a7db2 100644
--- a/app/tools/makefile.msc
+++ b/app/tools/makefile.msc
@@ -106,6 +106,8 @@ OBJECTS = \
 	gimptransformtoolundo.obj \
 	gimpvectoroptions.obj \
 	gimpvectortool.obj \
+	gimpwarpoptions.obj \
+	gimpwarptool.obj \
 	tool_manager.obj \
 	gimp-tools.obj \
 	tools-enums.obj \
diff --git a/app/widgets/gimphelp-ids.h b/app/widgets/gimphelp-ids.h
index b121c1f..86b45c5 100644
--- a/app/widgets/gimphelp-ids.h
+++ b/app/widgets/gimphelp-ids.h
@@ -281,6 +281,7 @@
 #define GIMP_HELP_TOOL_TEXT                       "gimp-tool-text"
 #define GIMP_HELP_TOOL_THRESHOLD                  "gimp-tool-threshold"
 #define GIMP_HELP_TOOL_VECTORS                    "gimp-tool-vectors"
+#define GIMP_HELP_TOOL_WARP                       "gimp-tool-warp"
 #define GIMP_HELP_TOOL_ZOOM                       "gimp-tool-zoom"
 
 #define GIMP_HELP_FILTER_REPEAT                   "gimp-filter-repeat"
diff --git a/libgimpwidgets/gimpstock.h b/libgimpwidgets/gimpstock.h
index cdb4423..09ece34 100644
--- a/libgimpwidgets/gimpstock.h
+++ b/libgimpwidgets/gimpstock.h
@@ -142,6 +142,7 @@ G_BEGIN_DECLS
 #define GIMP_STOCK_TOOL_SMUDGE              "gimp-tool-smudge"
 #define GIMP_STOCK_TOOL_TEXT                "gimp-tool-text"
 #define GIMP_STOCK_TOOL_THRESHOLD           "gimp-tool-threshold"
+#define GIMP_STOCK_TOOL_WARP                "gimp-tool-warp"
 #define GIMP_STOCK_TOOL_ZOOM                "gimp-tool-zoom"
 
 



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