app/tools/Makefile.am no. 15 is alive.

2001-03-11  Michael Natterer  <mitch@gimp.org>

	* app/tools/Makefile.am
	* app/tools/gimpiscissorstool.[ch]: no. 15 is alive.

	* app/tools/gimptool.[ch]
	* app/tools/selection_options.c
	* app/tools/tools.c: changed accordingly.
This commit is contained in:
Michael Natterer 2001-03-11 22:19:06 +00:00 committed by Michael Natterer
parent 543bf74598
commit 3eb5ebccfd
9 changed files with 526 additions and 439 deletions

View File

@ -1,3 +1,12 @@
2001-03-11 Michael Natterer <mitch@gimp.org>
* app/tools/Makefile.am
* app/tools/gimpiscissorstool.[ch]: no. 15 is alive.
* app/tools/gimptool.[ch]
* app/tools/selection_options.c
* app/tools/tools.c: changed accordingly.
2001-03-11 Michael Natterer <mitch@gimp.org>
* app/gimplayerlistview.c: minor cleanups.

View File

@ -39,8 +39,8 @@ libapptools_la_SOURCES = \
gimpinktool.h \
gimpinktool-blob.c \
gimpinktool-blob.h \
## gimpiscissorstool.c \
## gimpiscissorstool.h \
gimpiscissorstool.c \
gimpiscissorstool.h \
gimpmagnifytool.c \
gimpmagnifytool.h \
gimpmeasuretool.c \

File diff suppressed because it is too large Load Diff

View File

@ -16,12 +16,86 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __ISCISSORS_H__
#define __ISCISSORS_H__
#ifndef __GIMP_ISCISSORS_TOOL_H__
#define __GIMP_ISCISSORS_TOOL_H__
Tool * tools_new_iscissors (void);
void tools_free_iscissors (Tool *tool);
#include "gimpdrawtool.h"
#endif /* __ISCISSORS_H__ */
/* The possible states... */
typedef enum
{
NO_ACTION,
SEED_PLACEMENT,
SEED_ADJUSTMENT,
WAITING
} Iscissors_state;
/* The possible drawing states... */
typedef enum
{
DRAW_NOTHING = 0x0,
DRAW_CURRENT_SEED = 0x1,
DRAW_CURVE = 0x2,
DRAW_ACTIVE_CURVE = 0x4,
DRAW_LIVEWIRE = 0x8,
DRAW_ALL = (DRAW_CURRENT_SEED | DRAW_CURVE)
} Iscissors_draw;
typedef struct _ICurve ICurve;
#define GIMP_TYPE_ISCISSORS_TOOL (gimp_iscissors_tool_get_type ())
#define GIMP_ISCISSORS_TOOL(obj) (GTK_CHECK_CAST ((obj), GIMP_TYPE_ISCISSORS_TOOL, GimpIscissorsTool))
#define GIMP_IS_ISCISSORS_TOOL(obj) (GTK_CHECK_TYPE ((obj), GIMP_TYPE_ISCISSORS_TOOL))
#define GIMP_ISCISSORS_TOOL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GIMP_TYPE_ISCISSORS_TOOL, GimpIscissorsToolClass))
#define GIMP_IS_ISCISSORS_TOOL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_ISCISSORS_TOOL))
typedef struct _GimpIscissorsTool GimpIscissorsTool;
typedef struct _GimpIscissorsToolClass GimpIscissorsToolClass;
struct _GimpIscissorsTool
{
GimpDrawTool parent_instance;
SelectOps op;
gint x, y; /* upper left hand coordinate */
gint ix, iy; /* initial coordinates */
gint nx, ny; /* new coordinates */
TempBuf *dp_buf; /* dynamic programming buffer */
ICurve *livewire; /* livewire boundary curve */
ICurve *curve1; /* 1st curve connected to current point */
ICurve *curve2; /* 2nd curve connected to current point */
GSList *curves; /* the list of curves */
gboolean first_point; /* is this the first point? */
gboolean connected; /* is the region closed? */
Iscissors_state state; /* state of iscissors */
Iscissors_draw draw; /* items to draw on a draw request */
/* XXX might be useful */
GimpChannel *mask; /* selection mask */
TileManager *gradient_map; /* lazily filled gradient map */
};
struct _GimpIscissorsToolClass
{
GimpDrawToolClass parent_class;
};
void gimp_iscissors_tool_register (void);
GtkType gimp_iscissors_tool_get_type (void);
#endif /* __GIMP_ISCISSORS_TOOL_H__ */

View File

@ -28,6 +28,7 @@
#include "gimpellipseselecttool.h"
#include "gimpfuzzyselecttool.h"
#include "gimpiscissorstool.h"
#include "gimprectselecttool.h"
#include "gimptool.h"
#include "gimptoolinfo.h"

View File

@ -596,34 +596,6 @@ ToolInfo tool_info[] =
}
},
{
NULL,
N_("Intelligent Scissors"),
N_("/Tools/Select Tools/Intelligent Scissors"),
"I",
(char **) iscissors_bits,
NULL,
NULL,
N_("Select shapes from image"),
"tools/intelligent_scissors.html",
ISCISSORS,
tools_new_iscissors,
tools_free_iscissors,
NULL,
NULL,
NULL,
{
scissors_small_bits, scissors_small_mask_bits,
scissors_small_width, scissors_small_height,
0, 0, NULL, NULL, NULL
},
{
NULL, NULL,
0, 0,
0, 0, NULL, NULL, NULL
}
},
{
NULL,
N_("Transform"),

View File

@ -23,7 +23,6 @@
#include "gimpobject.h"
#define GIMP_TYPE_ISCISSORS_TOOL GTK_TYPE_NONE
#define GIMP_TYPE_BY_COLOR_SELECT_TOOL GTK_TYPE_NONE
#define GIMP_TYPE_PENCIL_TOOL GTK_TYPE_NONE
#define GIMP_TYPE_ERASER_TOOL GTK_TYPE_NONE

View File

@ -28,6 +28,7 @@
#include "gimpellipseselecttool.h"
#include "gimpfuzzyselecttool.h"
#include "gimpiscissorstool.h"
#include "gimprectselecttool.h"
#include "gimptool.h"
#include "gimptoolinfo.h"

View File

@ -40,6 +40,7 @@
#include "gimpfreeselecttool.h"
#include "gimpfuzzyselecttool.h"
#include "gimpinktool.h"
#include "gimpiscissorstool.h"
#include "gimpmagnifytool.h"
#include "gimpmeasuretool.h"
#include "gimpmovetool.h"
@ -90,9 +91,9 @@ register_tools (void)
gimp_magnify_tool_register ();
gimp_color_picker_tool_register ();
/* selection tool */
/* selection tools */
/* gimp_iscissors_tool_register (); */
gimp_iscissors_tool_register ();
gimp_fuzzy_select_tool_register ();
gimp_free_select_tool_register ();
gimp_ellipse_select_tool_register ();