Commit 17335326 authored by Michael Natterer's avatar Michael Natterer 😴 Committed by Michael Natterer

updated.

2001-02-24  Michael Natterer  <mitch@gimp.org>

	* TODO.xml: updated.

	* app/appenums.h
	* app/apptypes.h: prefixed the cursor stuff with "Gimp", added
	the new stock tool cursor enum. Removed the old ToolType enum.

	* app/cursorutil.[ch]
	* app/gdisplay.[ch]: removed the old ToolType enum and prefixed
	the functions with "gimp_". Also stripped all "toggle cursor"
	stuff from the cursor code, so the new API is easier and not
	depending on the tool system.

	All existing tool cursors can be used via the new stock tool
	cursor enum, so no tool has to fiddle around with bitmap cursors.
	There will be an cursorutil function for registering stock tool
	cursor types on the fly.

	* app/disp_callbacks.c
	* app/scroll.[ch]: moved the display scrollbar callbacks from
	scroll.[ch] to disp_callbacks.c. Removed some crap from scroll.h

	* app/tools/tool.[ch]: removed the BitmapCursor pointers from the
	tool class struct and add cursor and toggle cursor IDs to the
	GimpTool struct. Work in progress.

	* app/dialog_handler.c
	* app/tools/bezier_select.c
	* app/tools/blend.c
	* app/tools/bucket_fill.c
	* app/tools/by_color_select.c
	* app/tools/clone.c
	* app/tools/color_picker.c
	* app/tools/convolve.c
	* app/tools/crop.c
	* app/tools/dodgeburn.c
	* app/tools/edit_selection.c
	* app/tools/ellipse_select.c
	* app/tools/flip_tool.c
	* app/tools/free_select.c
	* app/tools/fuzzy_select.c
	* app/tools/ink.c
	* app/tools/iscissors.c
	* app/tools/magnify.c
	* app/tools/measure.c
	* app/tools/move.c
	* app/tools/paint_core.[ch]
	* app/tools/perspective_tool.c
	* app/tools/rect_select.c
	* app/tools/rotate_tool.c
	* app/tools/scale_tool.c
	* app/tools/shear_tool.c
	* app/tools/text_tool.c
	* app/tools/transform_core.[ch]: changed accordingly. Did this
	"blind" for most tools because they don't compile. The changes are
	minimal, so there should be no conflicts.
parent 04f71318
2001-02-24 Michael Natterer <mitch@gimp.org>
* TODO.xml: updated.
* app/appenums.h
* app/apptypes.h: prefixed the cursor stuff with "Gimp", added
the new stock tool cursor enum. Removed the old ToolType enum.
* app/cursorutil.[ch]
* app/gdisplay.[ch]: removed the old ToolType enum and prefixed
the functions with "gimp_". Also stripped all "toggle cursor"
stuff from the cursor code, so the new API is easier and not
depending on the tool system.
All existing tool cursors can be used via the new stock tool
cursor enum, so no tool has to fiddle around with bitmap cursors.
There will be an cursorutil function for registering stock tool
cursor types on the fly.
* app/disp_callbacks.c
* app/scroll.[ch]: moved the display scrollbar callbacks from
scroll.[ch] to disp_callbacks.c. Removed some crap from scroll.h
* app/tools/tool.[ch]: removed the BitmapCursor pointers from the
tool class struct and add cursor and toggle cursor IDs to the
GimpTool struct. Work in progress.
* app/dialog_handler.c
* app/tools/bezier_select.c
* app/tools/blend.c
* app/tools/bucket_fill.c
* app/tools/by_color_select.c
* app/tools/clone.c
* app/tools/color_picker.c
* app/tools/convolve.c
* app/tools/crop.c
* app/tools/dodgeburn.c
* app/tools/edit_selection.c
* app/tools/ellipse_select.c
* app/tools/flip_tool.c
* app/tools/free_select.c
* app/tools/fuzzy_select.c
* app/tools/ink.c
* app/tools/iscissors.c
* app/tools/magnify.c
* app/tools/measure.c
* app/tools/move.c
* app/tools/paint_core.[ch]
* app/tools/perspective_tool.c
* app/tools/rect_select.c
* app/tools/rotate_tool.c
* app/tools/scale_tool.c
* app/tools/shear_tool.c
* app/tools/text_tool.c
* app/tools/transform_core.[ch]: changed accordingly. Did this
"blind" for most tools because they don't compile. The changes are
minimal, so there should be no conflicts.
2001-02-24 Michael Natterer <mitch@gimp.org>
* app/commands.[ch]: added cmd_callbacks for the toolbox and
......
......@@ -106,7 +106,7 @@
</contact>
</entry>
<entry size="medium" difficulty="medium" status="10%" target="1.4">
<entry size="medium" difficulty="medium" status="30%" target="1.4">
<title>Cleanup existing internal objects</title>
<description>
<p>
......@@ -120,7 +120,7 @@
</contact>
</entry>
<entry size="medium" difficulty="advanced" status="0%" target="1.4">
<entry size="medium" difficulty="advanced" status="80%" target="1.4">
<title>Generic data structures</title>
<description>
<p>
......@@ -133,7 +133,7 @@
</contact>
</entry>
<entry size="medium" difficulty="medium" status="0%" target="1.4">
<entry size="medium" difficulty="medium" status="70%" target="1.4">
<title>Generic object container(s)</title>
<description>
<p>
......@@ -173,13 +173,14 @@
<section>
<title>LibGimp</title>
<entry size="medium" difficulty="medium" status="40%" target="1.4">
<entry size="medium" difficulty="medium" status="50%" target="1.4">
<title>Restructure LibGimp</title>
<description>
<p>
Put libgimp, libgimpui (and new libs) into their own subdirectories
under a toplevel libs directory. Install all header files under
$prefix/include/gimp/1.3/ and change gimptool accordingly.
Put libgimp, libgimpui (and new libs) into their own
subdirectories. Install all header files under
$prefix/include/gimp-MAJOR.MINOR/ and change gimptool
accordingly.
</p>
</description>
<contact>
......@@ -232,7 +233,7 @@
<section>
<title>User Interface</title>
<entry size="medium" difficulty="medium" status="0%" target="1.4">
<entry size="medium" difficulty="medium" status="70%" target="1.4">
<title>Abstract Container Views</title>
<description>
<p>
......
......@@ -230,53 +230,6 @@ typedef enum /*< skip >*/
RECREATE
} ToolAction;
/* Tool types */
typedef enum /*< skip >*/
{
TOOL_TYPE_NONE = -1,
FIRST_TOOLBOX_TOOL = 0,
RECT_SELECT = FIRST_TOOLBOX_TOOL,
ELLIPSE_SELECT,
FREE_SELECT,
FUZZY_SELECT,
BEZIER_SELECT,
ISCISSORS,
MOVE,
MAGNIFY,
CROP,
ROTATE,
SCALE,
SHEAR,
PERSPECTIVE,
FLIP,
TEXT,
COLOR_PICKER,
BUCKET_FILL,
BLEND,
PENCIL,
PAINTBRUSH,
AIRBRUSH,
INK,
CLONE,
ERASER,
SMUDGE,
CONVOLVE,
DODGEBURN,
MEASURE,
LAST_TOOLBOX_TOOL = MEASURE,
/* Non-toolbox tools */
BY_COLOR_SELECT,
COLOR_BALANCE,
BRIGHTNESS_CONTRAST,
HUE_SATURATION,
POSTERIZE,
THRESHOLD,
CURVES,
LEVELS,
HISTOGRAM
} ToolType;
/* possible transform functions */
typedef enum /*< skip >*/
{
......@@ -306,19 +259,56 @@ typedef enum /*< skip >*/
typedef enum /*< skip >*/
{
CURSOR_MODIFIER_NONE,
CURSOR_MODIFIER_PLUS,
CURSOR_MODIFIER_MINUS,
CURSOR_MODIFIER_INTERSECT,
CURSOR_MODIFIER_MOVE,
CURSOR_MODIFIER_RESIZE,
CURSOR_MODIFIER_CONTROL,
CURSOR_MODIFIER_ANCHOR,
CURSOR_MODIFIER_FOREGROUND,
CURSOR_MODIFIER_BACKGROUND,
CURSOR_MODIFIER_PATTERN,
CURSOR_MODIFIER_HAND
} CursorModifier;
GIMP_TOOL_CURSOR_NONE,
GIMP_RECT_SELECT_TOOL_CURSOR,
GIMP_ELLIPSE_SELECT_TOOL_CURSOR,
GIMP_FREE_SELECT_TOOL_CURSOR,
GIMP_FUZZY_SELECT_TOOL_CURSOR,
GIMP_BEZIER_SELECT_TOOL_CURSOR,
GIMP_SCISSORS_TOOL_CURSOR,
GIMP_MOVE_TOOL_CURSOR,
GIMP_ZOOM_TOOL_CURSOR,
GIMP_CROP_TOOL_CURSOR,
GIMP_RESIZE_TOOL_CURSOR,
GIMP_ROTATE_TOOL_CURSOR,
GIMP_SHEAR_TOOL_CURSOR,
GIMP_PERSPECTIVE_TOOL_CURSOR,
GIMP_FLIP_HORIZONTAL_TOOL_CURSOR,
GIMP_FLIP_VERTICAL_TOOL_CURSOR,
GIMP_TEXT_TOOL_CURSOR,
GIMP_COLOR_PICKER_TOOL_CURSOR,
GIMP_BUCKET_FILL_TOOL_CURSOR,
GIMP_BLEND_TOOL_CURSOR,
GIMP_PENCIL_TOOL_CURSOR,
GIMP_PAINTBRUSH_TOOL_CURSOR,
GIMP_AIRBRUSH_TOOL_CURSOR,
GIMP_INK_TOOL_CURSOR,
GIMP_CLONE_TOOL_CURSOR,
GIMP_ERASER_TOOL_CURSOR,
GIMP_SMUDGE_TOOL_CURSOR,
GIMP_BLUR_TOOL_CURSOR,
GIMP_DODGE_TOOL_CURSOR,
GIMP_BURN_TOOL_CURSOR,
GIMP_MEASURE_TOOL_CURSOR,
GIMP_LAST_STOCK_TOOL_CURSOR_ENTRY
} GimpToolCursorType;
typedef enum /*< skip >*/
{
GIMP_CURSOR_MODIFIER_NONE,
GIMP_CURSOR_MODIFIER_PLUS,
GIMP_CURSOR_MODIFIER_MINUS,
GIMP_CURSOR_MODIFIER_INTERSECT,
GIMP_CURSOR_MODIFIER_MOVE,
GIMP_CURSOR_MODIFIER_RESIZE,
GIMP_CURSOR_MODIFIER_CONTROL,
GIMP_CURSOR_MODIFIER_ANCHOR,
GIMP_CURSOR_MODIFIER_FOREGROUND,
GIMP_CURSOR_MODIFIER_BACKGROUND,
GIMP_CURSOR_MODIFIER_PATTERN,
GIMP_CURSOR_MODIFIER_HAND,
GIMP_LAST_CURSOR_MODIFIER_ENTRY
} GimpCursorModifier;
#endif /* __APPENUMS_H__ */
......@@ -105,7 +105,7 @@ typedef struct _Argument Argument;
typedef struct _BezierPoint BezierPoint;
typedef struct _BezierSelect BezierSelect;
typedef struct _BitmapCursor BitmapCursor;
typedef struct _GimpBitmapCursor GimpBitmapCursor;
typedef struct _BoundSeg BoundSeg;
......
......@@ -702,16 +702,16 @@ blend_cursor_update (Tool *tool,
{
case INDEXED_GIMAGE:
case INDEXEDA_GIMAGE:
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
BLEND,
CURSOR_MODIFIER_NONE,
FALSE);
gdisplay_install_tool_cursor (gdisp,
GIMP_BAD_CURSOR,
GIMP_BLEND_TOOL_CURSOR,
GIMP_CURSOR_MODIFIER_NONE);
break;
default:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BLEND,
CURSOR_MODIFIER_NONE,
FALSE);
gdisplay_install_tool_cursor (gdisp,
GIMP_MOUSE_CURSOR,
GIMP_BLEND_TOOL_CURSOR,
GIMP_CURSOR_MODIFIER_NONE);
break;
}
}
......
......@@ -158,9 +158,8 @@ gdisplay_new (GimpImage *gimage,
gdisp->disp_xoffset = 0;
gdisp->disp_yoffset = 0;
gdisp->current_cursor = (GdkCursorType) -1;
gdisp->cursor_tool = TOOL_TYPE_NONE;
gdisp->cursor_modifier = CURSOR_MODIFIER_NONE;
gdisp->toggle_cursor = FALSE;
gdisp->tool_cursor = GIMP_TOOL_CURSOR_NONE;
gdisp->cursor_modifier = GIMP_CURSOR_MODIFIER_NONE;
gdisp->draw_guides = TRUE;
gdisp->snap_to_guides = TRUE;
......@@ -210,10 +209,10 @@ gdisplay_new (GimpImage *gimage,
g_hash_table_insert (display_ht, gdisp->canvas, gdisp);
/* set the current tool cursor */
gdisplay_install_tool_cursor (gdisp, default_gdisplay_cursor,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
gdisplay_install_tool_cursor (gdisp,
default_gdisplay_cursor,
GIMP_TOOL_CURSOR_NONE,
GIMP_CURSOR_MODIFIER_NONE);
gimage->instance_count++; /* this is obsolete */
gimage->disp_count++;
......@@ -1313,10 +1312,10 @@ gdisplay_update_cursor (GDisplay *gdisp,
gint x,
gint y)
{
gint new_cursor;
gint new_cursor;
gchar buffer[CURSOR_STR_LENGTH];
gint t_x;
gint t_y;
gint t_x;
gint t_y;
new_cursor = gdisp->draw_cursor && gdisp->proximity;
......@@ -1395,8 +1394,8 @@ gdisplay_resize_cursor_label (GDisplay *gdisp)
{
/* Set a proper size for the coordinates display in the statusbar. */
gchar buffer[CURSOR_STR_LENGTH];
gint cursor_label_width;
gint label_frame_size_difference;
gint cursor_label_width;
gint label_frame_size_difference;
if (gdisp->dot_for_dot)
{
......@@ -1837,12 +1836,11 @@ gdisplay_untransform_coords_f (GDisplay *gdisp,
/* install and remove tool cursor from gdisplay... */
void
gdisplay_real_install_tool_cursor (GDisplay *gdisp,
GdkCursorType cursor_type,
ToolType tool_type,
CursorModifier modifier,
gboolean toggle_cursor,
gboolean always_install)
gdisplay_real_install_tool_cursor (GDisplay *gdisp,
GdkCursorType cursor_type,
GimpToolCursorType tool_cursor,
GimpCursorModifier modifier,
gboolean always_install)
{
if (cursor_type != GIMP_BAD_CURSOR)
{
......@@ -1857,44 +1855,39 @@ gdisplay_real_install_tool_cursor (GDisplay *gdisp,
case CURSOR_MODE_CROSSHAIR:
cursor_type = GIMP_CROSSHAIR_CURSOR;
tool_type = TOOL_TYPE_NONE;
modifier = CURSOR_MODIFIER_NONE;
tool_cursor = GIMP_TOOL_CURSOR_NONE;
modifier = GIMP_CURSOR_MODIFIER_NONE;
break;
}
}
if (gdisp->current_cursor != cursor_type ||
gdisp->cursor_tool != tool_type ||
gdisp->cursor_modifier != modifier ||
gdisp->toggle_cursor != toggle_cursor ||
if (gdisp->current_cursor != cursor_type ||
gdisp->tool_cursor != tool_cursor ||
gdisp->cursor_modifier != modifier ||
always_install)
{
gdisp->current_cursor = cursor_type;
gdisp->cursor_tool = tool_type;
gdisp->tool_cursor = tool_cursor;
gdisp->cursor_modifier = modifier;
gdisp->toggle_cursor = toggle_cursor;
change_win_cursor (gdisp->canvas->window,
cursor_type,
tool_type,
modifier,
toggle_cursor);
gimp_change_win_cursor (gdisp->canvas->window,
cursor_type,
tool_cursor,
modifier);
}
}
void
gdisplay_install_tool_cursor (GDisplay *gdisp,
GdkCursorType cursor_type,
ToolType tool_type,
CursorModifier modifier,
gboolean toggle_cursor)
gdisplay_install_tool_cursor (GDisplay *gdisp,
GdkCursorType cursor_type,
GimpToolCursorType tool_cursor,
GimpCursorModifier modifier)
{
if (!gdisp->using_override_cursor)
gdisplay_real_install_tool_cursor (gdisp,
cursor_type,
tool_type,
tool_cursor,
modifier,
toggle_cursor,
FALSE);
}
......@@ -1908,11 +1901,11 @@ gdisplay_install_override_cursor (GDisplay *gdisp,
{
gdisp->override_cursor = cursor_type;
gdisp->using_override_cursor = TRUE;
change_win_cursor (gdisp->canvas->window,
cursor_type,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
gimp_change_win_cursor (gdisp->canvas->window,
cursor_type,
GIMP_TOOL_CURSOR_NONE,
GIMP_CURSOR_MODIFIER_NONE);
}
}
......@@ -1924,9 +1917,8 @@ gdisplay_remove_override_cursor (GDisplay *gdisp)
gdisp->using_override_cursor = FALSE;
gdisplay_real_install_tool_cursor (gdisp,
gdisp->current_cursor,
gdisp->cursor_tool,
gdisp->tool_cursor,
gdisp->cursor_modifier,
gdisp->toggle_cursor,
TRUE);
}
}
......@@ -1934,7 +1926,7 @@ gdisplay_remove_override_cursor (GDisplay *gdisp)
void
gdisplay_remove_tool_cursor (GDisplay *gdisp)
{
unset_win_cursor (gdisp->canvas->window);
gimp_unset_win_cursor (gdisp->canvas->window);
}
void
......
......@@ -152,17 +152,16 @@ struct _GDisplay
GSList *update_areas; /* Update areas list */
GSList *display_areas; /* Display areas list */
GdkCursorType current_cursor; /* Currently installed cursor */
ToolType cursor_tool; /* Cursor for which tool? */
CursorModifier cursor_modifier; /* Cursor modifier (plus, minus, ...) */
gboolean toggle_cursor; /* Cursor toggled? */
GdkCursorType current_cursor; /* Currently installed main cursor */
GimpToolCursorType tool_cursor; /* Current Tool cursor */
GimpCursorModifier cursor_modifier; /* Cursor modifier (plus, minus, ...) */
GdkCursorType override_cursor; /* Overriding cursor (ie. hourglass) */
gboolean using_override_cursor; /* is the cursor overridden? (ie. hourglass)*/
gboolean draw_cursor; /* should we draw software cursor ? */
gint cursor_x; /* software cursor X value */
gint cursor_y; /* software cursor Y value */
gint cursor_x; /* software cursor X value */
gint cursor_y; /* software cursor Y value */
gboolean proximity; /* is a device in proximity of gdisplay ? */
gboolean have_cursor; /* is cursor currently drawn ? */
......@@ -193,21 +192,19 @@ void gdisplay_transform_coords_f (GDisplay *, gdouble, gdouble,
void gdisplay_untransform_coords_f (GDisplay *, gdouble, gdouble,
gdouble *, gdouble *, gboolean);
void gdisplay_real_install_tool_cursor (GDisplay *gdisp,
GdkCursorType cursor_type,
ToolType tool_type,
CursorModifier modifier,
gboolean toggle_cursor,
gboolean always_install);
void gdisplay_install_tool_cursor (GDisplay *gdisp,
GdkCursorType cursor_type,
ToolType tool_type,
CursorModifier modifier,
gboolean toggle_cursor);
void gdisplay_remove_tool_cursor (GDisplay *gdisp);
void gdisplay_install_override_cursor (GDisplay *gdisp,
GdkCursorType cursor_type);
void gdisplay_remove_override_cursor (GDisplay *gdisp);
void gdisplay_real_install_tool_cursor (GDisplay *gdisp,
GdkCursorType cursor_type,
GimpToolCursorType tool_cursor,
GimpCursorModifier modifier,
gboolean always_install);
void gdisplay_install_tool_cursor (GDisplay *gdisp,
GdkCursorType cursor_type,
GimpToolCursorType tool_cursor,
GimpCursorModifier modifier);
void gdisplay_remove_tool_cursor (GDisplay *gdisp);
void gdisplay_install_override_cursor (GDisplay *gdisp,
GdkCursorType cursor_type);
void gdisplay_remove_override_cursor (GDisplay *gdisp);
void gdisplay_set_menu_sensitivity (GDisplay *);
void gdisplay_expose_area (GDisplay *, gint, gint, gint, gint);
......
......@@ -26,8 +26,8 @@
#include "cursorutil.h"
#include "dialog_handler.h"
#include "gdisplay.h" /* for gdisplay_*_override_cursor() */
#include "tools/tool.h"
/* standard gimp cursors */
#include "cursors/mouse.xbm"
#include "cursors/mouse_mask.xbm"
#include "cursors/crosshair.xbm"
......@@ -41,6 +41,68 @@
#include "cursors/dropper.xbm"
#include "cursors/dropper_mask.xbm"
/* stock tool cursors */
#include "cursors/rect_select_small.xbm"
#include "cursors/rect_select_small_mask.xbm"
#include "cursors/ellipse_select_small.xbm"
#include "cursors/ellipse_select_small_mask.xbm"
#include "cursors/free_select_small.xbm"
#include "cursors/free_select_small_mask.xbm"
#include "cursors/fuzzy_select_small.xbm"
#include "cursors/fuzzy_select_small_mask.xbm"
#include "cursors/bezier_select_small.xbm"
#include "cursors/bezier_select_small_mask.xbm"
#include "cursors/scissors_small.xbm"
#include "cursors/scissors_small_mask.xbm"
#include "cursors/move_small.xbm"
#include "cursors/move_small_mask.xbm"
#include "cursors/zoom_small.xbm"
#include "cursors/zoom_small_mask.xbm"
#include "cursors/crop_small.xbm"
#include "cursors/crop_small_mask.xbm"
#include "cursors/resize_small.xbm"
#include "cursors/resize_small_mask.xbm"
#include "cursors/rotate_small.xbm"
#include "cursors/rotate_small_mask.xbm"
#include "cursors/shear_small.xbm"
#include "cursors/shear_small_mask.xbm"
#include "cursors/perspective_small.xbm"
#include "cursors/perspective_small_mask.xbm"
#include "cursors/flip_horizontal_small.xbm"
#include "cursors/flip_horizontal_small_mask.xbm"
#include "cursors/flip_vertical_small.xbm"
#include "cursors/flip_vertical_small_mask.xbm"
#include "cursors/text_small.xbm"
#include "cursors/text_small_mask.xbm"
#include "cursors/dropper_small.xbm"
#include "cursors/dropper_small_mask.xbm"
#include "cursors/bucket_fill_small.xbm"
#include "cursors/bucket_fill_small_mask.xbm"
#include "cursors/blend_small.xbm"
#include "cursors/blend_small_mask.xbm"
#include "cursors/pencil_small.xbm"
#include "cursors/pencil_small_mask.xbm"
#include "cursors/paintbrush_small.xbm"
#include "cursors/paintbrush_small_mask.xbm"
#include "cursors/eraser_small.xbm"
#include "cursors/eraser_small_mask.xbm"
#include "cursors/airbrush_small.xbm"
#include "cursors/airbrush_small_mask.xbm"
#include "cursors/clone_small.xbm"
#include "cursors/clone_small_mask.xbm"
#include "cursors/blur_small.xbm"
#include "cursors/blur_small_mask.xbm"
#include "cursors/ink_small.xbm"
#include "cursors/ink_small_mask.xbm"
#include "cursors/dodge_small.xbm"
#include "cursors/dodge_small_mask.xbm"
#include "cursors/burn_small.xbm"
#include "cursors/burn_small_mask.xbm"
#include "cursors/smudge_small.xbm"
#include "cursors/smudge_small_mask.xbm"
#include "cursors/measure_small.xbm"
#include "cursors/measure_small_mask.xbm"
/* modifiers */
#include "cursors/plus.xbm"
#include "cursors/plus_mask.xbm"
......@@ -69,7 +131,8 @@
/* FIXME: gimp_busy HACK */
gboolean gimp_busy = FALSE;
static BitmapCursor gimp_cursors[] =
static GimpBitmapCursor gimp_cursors[] =
/* these have to match up with the enum in cursorutil.h */
{
{
......@@ -104,24 +167,174 @@ static BitmapCursor gimp_cursors[] =
}
};
enum
static GimpBitmapCursor gimp_stock_tool_cursors[] =
/* these have to match up with the enum in appenums.h */
{
GIMP_PLUS_CURSOR = GIMP_LAST_CURSOR_ENTRY + 1,
GIMP_MINUS_CURSOR,
GIMP_INTERSECT_CURSOR,
GIMP_MOVE_CURSOR,
GIMP_RESIZE_CURSOR,
GIMP_CONTROL_CURSOR,
GIMP_ANCHOR_CURSOR,
GIMP_FOREGROUND_CURSOR,
GIMP_BACKGROUND_CURSOR,
GIMP_PATTERN_CURSOR,
GIMP_HAND_CURSOR
{
NULL, NULL,
0, 0,
0, 0, NULL, NULL, NULL