[gimp/soc-2010-cage] gimpcagetool: now inherit from GimpDrawTool. Moving cage point also works.
- From: Michael Muré <mmure src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/soc-2010-cage] gimpcagetool: now inherit from GimpDrawTool. Moving cage point also works.
- Date: Sat, 17 Jul 2010 11:34:43 +0000 (UTC)
commit e798b97db3d2cf245b58cb9fd5af09f1567893a9
Author: Michael Muré <batolettre gmail com>
Date: Sat Jul 17 13:33:48 2010 +0200
gimpcagetool: now inherit from GimpDrawTool. Moving cage point also works.
app/tools/gimpcagetool.c | 32 ++++++++++++++------------------
app/tools/gimpcagetool.h | 6 +++---
2 files changed, 17 insertions(+), 21 deletions(-)
---
diff --git a/app/tools/gimpcagetool.c b/app/tools/gimpcagetool.c
index df05d56..e151ef6 100644
--- a/app/tools/gimpcagetool.c
+++ b/app/tools/gimpcagetool.c
@@ -41,9 +41,9 @@
#include "gimp-intl.h"
-static gboolean gimp_cage_tool_initialize (GimpTool *tool,
+/*static gboolean gimp_cage_tool_initialize (GimpTool *tool,
GimpDisplay *display,
- GError **error);
+ GError **error);*/
static void gimp_cage_tool_finalize (GObject *object);
static void gimp_cage_tool_start (GimpCageTool *ct,
GimpDisplay *display);
@@ -84,11 +84,11 @@ static void gimp_cage_tool_draw (GimpDrawTool *draw_tool);
static void gimp_cage_tool_switch_to_deform (GimpCageTool *ct);
static void gimp_cage_tool_remove_last_handle (GimpCageTool *ct);
-G_DEFINE_TYPE (GimpCageTool, gimp_cage_tool, GIMP_TYPE_TRANSFORM_TOOL)
+G_DEFINE_TYPE (GimpCageTool, gimp_cage_tool, GIMP_TYPE_DRAW_TOOL)
#define parent_class gimp_cage_tool_parent_class
-#define HANDLE_SIZE 10
+#define HANDLE_SIZE 14
void
gimp_cage_tool_register (GimpToolRegisterCallback callback,
@@ -113,11 +113,10 @@ gimp_cage_tool_class_init (GimpCageToolClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GimpToolClass *tool_class = GIMP_TOOL_CLASS (klass);
GimpDrawToolClass *draw_tool_class = GIMP_DRAW_TOOL_CLASS (klass);
- GimpTransformToolClass *transformtool_class = GIMP_TRANSFORM_TOOL_CLASS (klass);
object_class->finalize = gimp_cage_tool_finalize;
- tool_class->initialize = gimp_cage_tool_initialize;
+ /*tool_class->initialize = gimp_cage_tool_initialize;*/
tool_class->button_press = gimp_cage_tool_button_press;
tool_class->button_release = gimp_cage_tool_button_release;
tool_class->key_press = gimp_cage_tool_key_press;
@@ -139,7 +138,7 @@ gimp_cage_tool_init (GimpCageTool *self)
self->cage_complete = FALSE;
}
-static gboolean
+/*static gboolean
gimp_cage_tool_initialize (GimpTool *tool,
GimpDisplay *display,
GError **error)
@@ -147,7 +146,7 @@ gimp_cage_tool_initialize (GimpTool *tool,
GimpCageTool *cage_tool = GIMP_CAGE_TOOL (tool);
return GIMP_TOOL_CLASS (parent_class)->initialize(tool, display, error);
-}
+}*/
static void
gimp_cage_tool_finalize (GObject *object)
@@ -162,14 +161,11 @@ gimp_cage_tool_finalize (GObject *object)
static void
-gimp_cage_tool_start (GimpCageTool *ct,
+gimp_cage_tool_start (GimpCageTool *ct,
GimpDisplay *display)
{
GimpTool *tool = GIMP_TOOL (ct);
GimpDrawTool *draw_tool = GIMP_DRAW_TOOL (tool);
- GimpCageOptions *options = GIMP_CAGE_TOOL_GET_OPTIONS (ct);
-
- gimp_cage_tool_halt (ct);
gimp_tool_control_activate (tool->control);
@@ -210,6 +206,9 @@ gimp_cage_tool_button_press (GimpTool *tool,
{
GimpCageTool *ct = GIMP_CAGE_TOOL (tool);
GimpCage *cage = ct->cage;
+
+ g_return_if_fail (GIMP_IS_CAGE_TOOL (ct));
+ g_return_if_fail (GIMP_IS_CAGE (cage));
if (display != tool->display)
{
@@ -267,7 +266,6 @@ gimp_cage_tool_key_press (GimpTool *tool,
GimpDisplay *display)
{
GimpCageTool *ct = GIMP_CAGE_TOOL (tool);
- GimpCage *cage = ct->cage;
switch (kevent->keyval)
{
@@ -344,7 +342,7 @@ gimp_cage_tool_cursor_update (GimpTool *tool,
GimpDisplay *display)
{
GimpCageTool *ct = GIMP_CAGE_TOOL (tool);
- GimpCageOptions *options = GIMP_CAGE_TOOL_GET_OPTIONS (tool);
+ GimpCageOptions *options = GIMP_CAGE_TOOL_GET_OPTIONS (ct);
if (tool->display == NULL)
{
@@ -382,14 +380,13 @@ gimp_cage_tool_oper_update (GimpTool *tool,
{
GimpCageTool *ct = GIMP_CAGE_TOOL (tool);
GimpDrawTool *draw_tool = GIMP_DRAW_TOOL (tool);
- GimpCage *cage = ct->cage;
- gimp_draw_tool_pause (GIMP_DRAW_TOOL (tool));
+ gimp_draw_tool_pause (draw_tool);
ct->cursor_position.x = coords->x;
ct->cursor_position.y = coords->y;
- gimp_draw_tool_resume (GIMP_DRAW_TOOL (tool));
+ gimp_draw_tool_resume (draw_tool);
}
/**
@@ -402,7 +399,6 @@ static void
gimp_cage_tool_draw (GimpDrawTool *draw_tool)
{
GimpCageTool *ct = GIMP_CAGE_TOOL (draw_tool);
- GimpTool *tool = GIMP_TOOL (draw_tool);
GimpCage *cage = ct->cage;
gint i = 0;
diff --git a/app/tools/gimpcagetool.h b/app/tools/gimpcagetool.h
index 14f64e5..16ca860 100644
--- a/app/tools/gimpcagetool.h
+++ b/app/tools/gimpcagetool.h
@@ -20,7 +20,7 @@
#ifndef __GIMP_CAGE_TOOL_H__
#define __GIMP_CAGE_TOOL_H__
-#include "gimptransformtool.h"
+#include "gimpdrawtool.h"
#include "libgimpmath/gimpvector.h"
#include "core/gimpcage.h"
@@ -39,7 +39,7 @@ typedef struct _GimpCageTool GimpCageTool;
struct _GimpCageTool
{
- GimpTransformTool parent_instance;
+ GimpDrawTool parent_instance;
GimpCage *cage;
GimpVector2 cursor_position;
@@ -50,7 +50,7 @@ struct _GimpCageTool
struct _GimpCageToolClass
{
- GimpTransformToolClass parent_class;
+ GimpDrawToolClass parent_class;
};
void gimp_cage_tool_register (GimpToolRegisterCallback callback,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]