Makefile.am app/cursorutil.[ch] app/tools.c added lots of new cursors and

2000-06-14  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* app/cursorutil.[ch]
	* app/tools.c
	* cursors/*: added lots of new cursors and removed old ones.

	* app/gdisplay.[ch]: enabled the cursor setting parameters in
	gdisplay_install_tool_cursor().

	* app/bezier_select.c
	* app/blend.c
	* app/bucket_fill.c
	* app/by_color_select.c
	* app/clone.c
	* app/color_picker.c
	* app/crop.c
	* app/disp_callbacks.c
	* app/edit_selection.c
	* app/eraser.c
	* app/flip_tool.c
	* app/ink.c
	* app/iscissors.c
	* app/magnify.c
	* app/measure.c
	* app/move.c
	* app/paint_core.c
	* app/rect_select.c
	* app/text_tool.c
	* app/transform_core.c: use the new cursors. Only the transform
	tools are still using old cursors.

	* app/layers_dialog.c: a tooltip for "Keep Trans."

	* app/user_install.c: set the ctree's selection mode to BROWSE.
This commit is contained in:
Michael Natterer 2000-06-14 10:59:16 +00:00 committed by Michael Natterer
parent db76b885a2
commit b8ee0c8c82
145 changed files with 2278 additions and 1122 deletions

View File

@ -1,3 +1,38 @@
2000-06-14 Michael Natterer <mitch@gimp.org>
* Makefile.am
* app/cursorutil.[ch]
* app/tools.c
* cursors/*: added lots of new cursors and removed old ones.
* app/gdisplay.[ch]: enabled the cursor setting parameters in
gdisplay_install_tool_cursor().
* app/bezier_select.c
* app/blend.c
* app/bucket_fill.c
* app/by_color_select.c
* app/clone.c
* app/color_picker.c
* app/crop.c
* app/disp_callbacks.c
* app/edit_selection.c
* app/eraser.c
* app/flip_tool.c
* app/ink.c
* app/iscissors.c
* app/magnify.c
* app/measure.c
* app/move.c
* app/paint_core.c
* app/rect_select.c
* app/text_tool.c
* app/transform_core.c: use the new cursors. Only the transform
tools are still using old cursors.
* app/layers_dialog.c: a tooltip for "Keep Trans."
* app/user_install.c: set the ctree's selection mode to BROWSE.
Tue Jun 13 22:38:22 BST 2000 Andy Thomas <alt@gimp.org>
@ -8,7 +43,6 @@ Tue Jun 13 22:38:22 BST 2000 Andy Thomas <alt@gimp.org>
to the edge of an image that cause the image to scroll in the viewing
window the section outline was drawn incorrectly.
2000-06-13 Jay Cox <jaycox@gimp.org>
* tools/pdbgen/pdb/help.pdb, app/help_cmds.c:

View File

@ -22,74 +22,89 @@ bin_SCRIPTS = gimptool @GIMPINSTALL@
EXTRA_SCRIPTS = gimpinstall
EXTRA_DIST = \
cursors/bad.xbm \
cursors/bad_mask.xbm \
cursors/bucket_fill_small.xbm \
cursors/bucket_fill_small_mask.xbm \
cursors/crop_small.xbm \
cursors/crop_small_mask.xbm \
cursors/mouse.xbm \
cursors/mouse_mask.xbm \
cursors/crosshair.xbm \
cursors/crosshair_mask.xbm \
cursors/crosshair_small.xbm \
cursors/crosshair_small_mask.xbm \
cursors/bad.xbm \
cursors/bad_mask.xbm \
cursors/zoom.xbm \
cursors/zoom_mask.xbm \
cursors/dropper.xbm \
cursors/dropper_mask.xbm \
\
cursors/plus.xbm \
cursors/plus_mask.xbm \
cursors/minus.xbm \
cursors/minus_mask.xbm \
cursors/intersect.xbm \
cursors/intersect_mask.xbm \
cursors/move.xbm \
cursors/move_mask.xbm \
cursors/resize.xbm \
cursors/rexize_mask.xbm \
cursors/control.xbm \
cursors/control_mask.xbm \
cursors/hand.xbm \
cursors/hand_mask.xbm \
\
cursors/rect_select_small.xbm \
cursors/rect_select_small_mask.xbm \
cursors/ellipse_select_small.xbm \
cursors/ellipse_select_small_mask.xbm \
cursors/eraser_small.xbm \
cursors/eraser_small_mask.xbm \
cursors/free_select_small.xbm \
cursors/free_select_small_mask.xbm \
cursors/fuzzy_select_small.xbm \
cursors/fuzzy_select_small_mask.xbm \
cursors/intersect.xbm \
cursors/intersect_mask.xbm \
cursors/minus.xbm \
cursors/minus_mask.xbm \
cursors/mouse.xbm \
cursors/mouse_add.xbm \
cursors/mouse_add_mask.xbm \
cursors/mouse_intersect.xbm \
cursors/mouse_intersect_mask.xbm \
cursors/mouse_mask.xbm \
cursors/mouse_move.xbm \
cursors/mouse_move_mask.xbm \
cursors/mouse_point.xbm \
cursors/mouse_point_mask.xbm \
cursors/mouse_rectangle.xbm \
cursors/mouse_rectangle_mask.xbm \
cursors/mouse_subtract.xbm \
cursors/mouse_subtract_mask.xbm \
cursors/move.xbm \
cursors/move_mask.xbm \
cursors/paintbrush_small.xbm \
cursors/paintbrush_small_mask.xbm \
cursors/pencil_small.xbm \
cursors/pencil_small_mask.xbm \
cursors/plus.xbm \
cursors/plus_mask.xbm \
cursors/rect_select_small.xbm \
cursors/rect_select_small_mask.xbm \
cursors/resize_small.xbm \
cursors/resize_small_mask.xbm \
cursors/selection.xbm \
cursors/selection_add.xbm \
cursors/selection_add_mask.xbm \
cursors/selection_intersect.xbm \
cursors/selection_intersect_mask.xbm \
cursors/selection_mask.xbm \
cursors/selection_move.xbm \
cursors/selection_move_mask.xbm \
cursors/selection_subtract.xbm \
cursors/selection_subtract_mask.xbm \
cursors/zoom.xbm \
cursors/zoom_in.xbm \
cursors/zoom_in_mask.xbm \
cursors/zoom_mask.xbm \
cursors/zoom_out.xbm \
cursors/zoom_out_mask.xbm \
cursors/bezier_select_small.xbm \
cursors/bezier_select_small_mask.xbm \
cursors/scissors_small.xbm \
cursors/scissors_small_mask.xbm \
cursors/move_small.xbm \
cursors/move_small_mask.xbm \
cursors/zoom_small.xbm \
cursors/zoom_small_mask.xbm \
cursors/crop_small.xbm \
cursors/crop_small_mask.xbm \
cursors/resize_small.xbm \
cursors/resize_small_mask.xbm \
cursors/flip_horizontal_small.xbm \
cursors/flip_horizontal_small_mask.xbm \
cursors/flip_vertical_small.xbm \
cursors/flip_vertical_small_mask.xbm \
cursors/text_small.xbm \
cursors/text_small_mask.xbm \
cursors/dropper_small.xbm \
cursors/dropper_small_mask.xbm \
cursors/bucket_fill_small.xbm \
cursors/bucket_fill_small_mask.xbm \
cursors/blend.xbm \
cursors/blend_small.xbm \
cursors/pencil_small.xbm \
cursors/pencil_small_mask.xbm \
cursors/paintbrush_small.xbm \
cursors/paintbrush_small_mask.xbm \
cursors/eraser_small.xbm \
cursors/eraser_small_mask.xbm \
cursors/airbrush_small.xbm \
cursors/airbrush_small_mask.xbm \
cursors/clone_small.xbm \
cursors/clone_small_mask.xbm \
cursors/blur_small.xbm \
cursors/blur_small_mask.xbm \
cursors/ink_small.xbm \
cursors/ink_small_mask.xbm \
cursors/dodge_small.xbm \
cursors/dodge_small_mask.xbm \
cursors/burn_small.xbm \
cursors/burn_small_mask.xbm \
cursors/smudge_small.xbm \
cursors/smudge_small_mask.xbm \
cursors/measure_small.xbm \
cursors/measure_small_mask.xbm \
\
docs/Wilber.xcf.gz \
docs/Wilber.xcf.gz.README \
docs/cheat_sheet.txt \
@ -97,6 +112,7 @@ EXTRA_DIST = \
docs/keybindings.txt \
docs/gimp_quick_reference.ps \
docs/gimp_quick_reference.tar.gz \
\
pixmaps/anchor.xpm \
pixmaps/chain.xpm \
pixmaps/channel.xbm \
@ -136,6 +152,7 @@ EXTRA_DIST = \
pixmaps/yes.xpm \
pixmaps/zoom_in.xpm \
pixmaps/zoom_out.xpm \
\
README.i18n \
README.win32 \
README.perl \

View File

@ -1582,9 +1582,12 @@ bezier_select_cursor_update (Tool *tool,
bezier_sel = tool->private;
if(gdisp != tool->gdisp_ptr || bezier_sel->core->draw_state == INVISIBLE)
if (gdisp != tool->gdisp_ptr || bezier_sel->core->draw_state == INVISIBLE)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
return;
}
@ -1608,21 +1611,33 @@ bezier_select_cursor_update (Tool *tool,
if ((mevent->state & GDK_SHIFT_MASK) &&
!(mevent->state & GDK_CONTROL_MASK))
{
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_ADD_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_PLUS,
FALSE);
}
else if ((mevent->state & GDK_CONTROL_MASK) &&
!(mevent->state & GDK_SHIFT_MASK))
{
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_SUBTRACT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_MINUS,
FALSE);
}
else if ((mevent->state & GDK_CONTROL_MASK) &&
(mevent->state & GDK_SHIFT_MASK))
{
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_INTERSECT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_INTERSECT,
FALSE);
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
}
return;
}
@ -1633,11 +1648,17 @@ bezier_select_cursor_update (Tool *tool,
if (mevent->state & GDK_SHIFT_MASK)
{
/* moving on 1 curve */
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_MOVE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_MOVE,
FALSE);
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_MOVE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_MOVE,
FALSE);
}
}
else
@ -1647,63 +1668,96 @@ bezier_select_cursor_update (Tool *tool,
case EXTEND_NEW:
if (on_control_pnt && bezier_sel->closed)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_RECTANGLE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_CONTROL,
FALSE);
/* g_print ("add to curve cursor\n"); */
}
else if (on_curve)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_POINT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
/* g_print ("edit control point cursor\n"); */
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_POINT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
}
break;
case EXTEND_ADD:
if (on_curve)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_ADD_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_PLUS,
FALSE);
/* g_print ("add to curve cursor\n"); */
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
/* g_print ("default no action cursor\n"); */
}
break;
case EXTEND_EDIT:
if (on_control_pnt)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_RECTANGLE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_CONTROL,
FALSE);
/* g_print ("edit control point cursor\n"); */
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
/* g_print ("default no action cursor\n"); */
}
break;
case EXTEND_REMOVE:
if (on_control_pnt && mevent->state & GDK_SHIFT_MASK)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_SUBTRACT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_MINUS,
FALSE);
/* g_print ("delete whole curve cursor\n"); */
}
else if (on_control_pnt)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_SUBTRACT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_MINUS,
FALSE);
/* g_print ("remove point cursor\n"); */
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
/* g_print ("default no action cursor\n"); */
}
break;
default:
g_print ("In default\n");
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
break;
}
}

View File

@ -641,10 +641,16 @@ blend_cursor_update (Tool *tool,
{
case INDEXED_GIMAGE:
case INDEXEDA_GIMAGE:
gdisplay_install_tool_cursor (gdisp, GDK_TOP_LEFT_ARROW);
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
BLEND,
CURSOR_MODIFIER_NONE,
FALSE);
break;
default:
gdisplay_install_tool_cursor (gdisp, GDK_TCROSS);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BLEND,
CURSOR_MODIFIER_NONE,
FALSE);
break;
}
}

View File

@ -262,24 +262,28 @@ bucket_fill_cursor_update (Tool *tool,
gdisp = (GDisplay *) gdisp_ptr;
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y, &x, &y, FALSE, FALSE);
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y,
&x, &y, FALSE, FALSE);
if ((layer = gimage_get_active_layer (gdisp->gimage)))
{
drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE(layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE(layer))))
x < (off_x + drawable_width (GIMP_DRAWABLE (layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE (layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GDK_TCROSS;
ctype = GIMP_MOUSE_CURSOR;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GDK_TCROSS;
ctype = GIMP_MOUSE_CURSOR;
}
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
BUCKET_FILL,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void

View File

@ -464,28 +464,49 @@ by_color_select_cursor_update (Tool *tool,
switch (by_col_sel->operation)
{
case SELECTION_ADD:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_ADD_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_PLUS,
FALSE);
break;
case SELECTION_SUB:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_SUBTRACT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_MINUS,
FALSE);
break;
case SELECTION_INTERSECT:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_INTERSECT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_INTERSECT,
FALSE);
break;
case SELECTION_REPLACE:
gdisplay_install_tool_cursor (gdisp, GDK_TCROSS);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
break;
case SELECTION_MOVE_MASK:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_MOVE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_MOVE,
FALSE);
break;
case SELECTION_MOVE:
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
}
return;
}
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void

View File

@ -323,31 +323,35 @@ clone_cursor_update (Tool *tool,
if ((layer = gimage_get_active_layer (gdisp->gimage)))
{
int off_x, off_y;
drawable_offsets (GIMP_DRAWABLE(layer), &off_x, &off_y);
drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE(layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE(layer))))
x < (off_x + drawable_width (GIMP_DRAWABLE (layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE (layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GDK_PENCIL;
ctype = GIMP_MOUSE_CURSOR;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GDK_PENCIL;
ctype = GIMP_MOUSE_CURSOR;
}
}
if (clone_options->type == IMAGE_CLONE)
{
if (mevent->state & GDK_CONTROL_MASK)
ctype = GDK_CROSSHAIR;
ctype = GIMP_CROSSHAIR_SMALL_CURSOR;
else if (!src_drawable_)
ctype = GIMP_BAD_CURSOR;
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
ctype == GIMP_CROSSHAIR_SMALL_CURSOR ?
TOOL_TYPE_NONE : CLONE,
CURSOR_MODIFIER_NONE,
FALSE);
}
Tool *

View File

@ -423,9 +423,15 @@ color_picker_cursor_update (Tool *tool,
FALSE, FALSE);
if (gimage_pick_correlate_layer (gdisp->gimage, x, y))
gdisplay_install_tool_cursor (gdisp, GIMP_COLOR_PICKER_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_COLOR_PICKER_CURSOR,
COLOR_PICKER,
CURSOR_MODIFIER_NONE,
FALSE);
else
gdisplay_install_tool_cursor (gdisp, GDK_TOP_LEFT_ARROW);
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
COLOR_PICKER,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void

View File

@ -641,10 +641,16 @@ blend_cursor_update (Tool *tool,
{
case INDEXED_GIMAGE:
case INDEXEDA_GIMAGE:
gdisplay_install_tool_cursor (gdisp, GDK_TOP_LEFT_ARROW);
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
BLEND,
CURSOR_MODIFIER_NONE,
FALSE);
break;
default:
gdisplay_install_tool_cursor (gdisp, GDK_TCROSS);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BLEND,
CURSOR_MODIFIER_NONE,
FALSE);
break;
}
}

View File

@ -166,7 +166,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);
gdisplay_install_tool_cursor (gdisp, default_gdisplay_cursor,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
gimage->instance_count++; /* this is obsolete */
gimage->disp_count++;
@ -1567,22 +1570,23 @@ gdisplay_real_install_tool_cursor (GDisplay *gdisp,
gboolean toggle_cursor,
gboolean always_install)
{
switch (cursor_mode)
if (cursor_type != GIMP_BAD_CURSOR)
{
case CURSOR_MODE_TOOL_ICON:
break;
switch (cursor_mode)
{
case CURSOR_MODE_TOOL_ICON:
break;
case CURSOR_MODE_TOOL_CROSSHAIR:
cursor_type = GIMP_CROSSHAIR_SMALL_CURSOR;
tool_type = RECT_SELECT;
modifier = CURSOR_MODIFIER_PLUS;
break;
case CURSOR_MODE_TOOL_CROSSHAIR:
cursor_type = GIMP_CROSSHAIR_SMALL_CURSOR;
break;
case CURSOR_MODE_CROSSHAIR:
cursor_type = GIMP_CROSSHAIR_CURSOR;
tool_type = TOOL_TYPE_NONE;
modifier = CURSOR_MODIFIER_NONE;
break;
case CURSOR_MODE_CROSSHAIR:
cursor_type = GIMP_CROSSHAIR_CURSOR;
tool_type = TOOL_TYPE_NONE;
modifier = CURSOR_MODIFIER_NONE;
break;
}
}
if (gdisp->current_cursor != cursor_type ||
@ -1606,20 +1610,17 @@ gdisplay_real_install_tool_cursor (GDisplay *gdisp,
void
gdisplay_install_tool_cursor (GDisplay *gdisp,
GdkCursorType cursor_type) /*,
GdkCursorType cursor_type,
ToolType tool_type,
CursorModifier modifier,
gboolean toggle_cursor) */
gboolean toggle_cursor)
{
if (!gdisp->using_override_cursor)
gdisplay_real_install_tool_cursor (gdisp,
cursor_type,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE,
/*tool_type,
tool_type,
modifier,
toggle_cursor,*/
toggle_cursor,
FALSE);
}
@ -1654,8 +1655,8 @@ gdisplay_remove_override_cursor (GDisplay *gdisp)
gdisplay_real_install_tool_cursor (gdisp,
gdisp->current_cursor,
gdisp->cursor_tool,
CURSOR_MODIFIER_NONE,
FALSE,
gdisp->cursor_modifier,
gdisp->toggle_cursor,
TRUE);
}
}

View File

@ -190,10 +190,10 @@ void gdisplay_real_install_tool_cursor (GDisplay *gdisp,
gboolean toggle_cursor,
gboolean always_install);
void gdisplay_install_tool_cursor (GDisplay *gdisp,
GdkCursorType cursor_type); /*,
GdkCursorType cursor_type,
ToolType tool_type,
CursorModifier modifier,
gboolean toggle_cursor); */
gboolean toggle_cursor);
void gdisplay_remove_tool_cursor (GDisplay *gdisp);
void gdisplay_install_override_cursor (GDisplay *gdisp,
GdkCursorType cursor_type);

View File

@ -27,42 +27,12 @@
#include "cursors/crosshair_mask.xbm"
#include "cursors/crosshair_small.xbm"
#include "cursors/crosshair_small_mask.xbm"
/* stuff to be reordered */
#include "cursors/zoom.xbm"
#include "cursors/zoom_mask.xbm"
/* old stuff */
#include "cursors/mouse_add.xbm"
#include "cursors/mouse_add_mask.xbm"
#include "cursors/mouse_subtract.xbm"
#include "cursors/mouse_subtract_mask.xbm"
#include "cursors/mouse_intersect.xbm"
#include "cursors/mouse_intersect_mask.xbm"
#include "cursors/mouse_point.xbm"
#include "cursors/mouse_point_mask.xbm"
#include "cursors/mouse_rectangle.xbm"
#include "cursors/mouse_rectangle_mask.xbm"
#include "cursors/mouse_move.xbm"
#include "cursors/mouse_move_mask.xbm"
#include "cursors/selection.xbm"
#include "cursors/selection_mask.xbm"
#include "cursors/selection_add.xbm"
#include "cursors/selection_add_mask.xbm"
#include "cursors/selection_subtract.xbm"
#include "cursors/selection_subtract_mask.xbm"
#include "cursors/selection_intersect.xbm"
#include "cursors/selection_intersect_mask.xbm"
#include "cursors/selection_move.xbm"
#include "cursors/selection_move_mask.xbm"
#include "cursors/bad.xbm"
#include "cursors/bad_mask.xbm"
#include "cursors/zoom.xbm"
#include "cursors/zoom_mask.xbm"
#include "cursors/dropper.xbm"
#include "cursors/dropper_mask.xbm"
#include "cursors/zoom_in.xbm"
#include "cursors/zoom_in_mask.xbm"
#include "cursors/zoom_out.xbm"
#include "cursors/zoom_out_mask.xbm"
/* modifiers */
#include "cursors/plus.xbm"
@ -73,6 +43,12 @@
#include "cursors/intersect_mask.xbm"
#include "cursors/move.xbm"
#include "cursors/move_mask.xbm"
#include "cursors/resize.xbm"
#include "cursors/resize_mask.xbm"
#include "cursors/control.xbm"
#include "cursors/control_mask.xbm"
#include "cursors/hand.xbm"
#include "cursors/hand_mask.xbm"
/* FIXME: gimp_busy HACK */
@ -96,89 +72,20 @@ static BitmapCursor gimp_cursors[] =
crosshair_small_width, crosshair_small_height,
crosshair_small_x_hot, crosshair_small_y_hot, NULL, NULL, NULL
},
/* to be reordered */
{
zoom_bits, zoom_mask_bits,
zoom_width, zoom_height,
zoom_x_hot, zoom_y_hot, NULL, NULL, NULL
},
/* to be removed */
{
mouse_add_bits, mouse_add_mask_bits,
mouse_add_width, mouse_add_height,
mouse_add_x_hot, mouse_add_y_hot, NULL, NULL, NULL
},
{
mouse_subtract_bits, mouse_subtract_mask_bits,
mouse_subtract_width, mouse_subtract_height,
mouse_subtract_x_hot, mouse_subtract_y_hot, NULL, NULL, NULL
},
{
mouse_intersect_bits, mouse_intersect_mask_bits,
mouse_intersect_width, mouse_intersect_height,
mouse_intersect_x_hot, mouse_intersect_y_hot, NULL, NULL, NULL
},
{
mouse_point_bits, mouse_point_mask_bits,
mouse_point_width, mouse_point_height,
mouse_point_x_hot, mouse_point_y_hot, NULL, NULL, NULL
},
{
mouse_rectangle_bits, mouse_rectangle_mask_bits,
mouse_rectangle_width, mouse_rectangle_height,
mouse_rectangle_x_hot, mouse_rectangle_y_hot, NULL, NULL, NULL
},
{
mouse_move_bits, mouse_move_mask_bits,
mouse_move_width, mouse_move_height,
mouse_move_x_hot, mouse_move_y_hot, NULL, NULL, NULL
},
{
selection_bits, selection_mask_bits,
selection_width, selection_height,
selection_x_hot, selection_y_hot, NULL, NULL, NULL
},
{
selection_add_bits, selection_add_mask_bits,
selection_add_width, selection_add_height,
selection_add_x_hot, selection_add_y_hot, NULL, NULL, NULL
},
{
selection_subtract_bits, selection_subtract_mask_bits,
selection_subtract_width, selection_subtract_height,
selection_subtract_x_hot, selection_subtract_y_hot, NULL, NULL, NULL
},
{
selection_intersect_bits, selection_intersect_mask_bits,
selection_intersect_width, selection_intersect_height,
selection_intersect_x_hot, selection_intersect_y_hot, NULL, NULL, NULL
},
{
selection_move_bits, selection_move_mask_bits,
selection_move_width, selection_move_height,
selection_move_x_hot, selection_move_y_hot, NULL, NULL, NULL
},
{
bad_bits, bad_mask_bits,
bad_width, bad_height,
bad_x_hot, bad_y_hot, NULL, NULL, NULL
},
{
zoom_bits, zoom_mask_bits,
zoom_width, zoom_height,
zoom_x_hot, zoom_y_hot, NULL, NULL, NULL
},
{
dropper_bits, dropper_mask_bits,
dropper_width, dropper_height,
dropper_x_hot, dropper_y_hot, NULL, NULL, NULL
},
{
zoom_in_bits, zoom_in_mask_bits,
zoom_in_width, zoom_in_height,
zoom_in_x_hot, zoom_in_y_hot, NULL, NULL, NULL
},
{
zoom_out_bits, zoom_out_mask_bits,
zoom_out_width, zoom_out_height,
zoom_out_x_hot, zoom_out_y_hot, NULL, NULL, NULL
}
};
@ -187,7 +94,10 @@ enum
GIMP_PLUS_CURSOR = GIMP_LAST_CURSOR_ENTRY + 1,
GIMP_MINUS_CURSOR,
GIMP_INTERSECT_CURSOR,
GIMP_MOVE_CURSOR
GIMP_MOVE_CURSOR,
GIMP_RESIZE_CURSOR,
GIMP_CONTROL_CURSOR,
GIMP_HAND_CURSOR
};
static BitmapCursor modifier_cursors[] =
@ -212,6 +122,21 @@ static BitmapCursor modifier_cursors[] =
move_bits, move_mask_bits,
move_width, move_height,
move_x_hot, move_y_hot, NULL, NULL, NULL
},
{
resize_bits, resize_mask_bits,
resize_width, resize_height,
resize_x_hot, resize_y_hot, NULL, NULL, NULL
},
{
control_bits, control_mask_bits,
control_width, control_height,
control_x_hot, control_y_hot, NULL, NULL, NULL
},
{
hand_bits, hand_mask_bits,
hand_width, hand_height,
hand_x_hot, hand_y_hot, NULL, NULL, NULL
}
};
@ -288,11 +213,12 @@ gimp_change_win_cursor (GdkWindow *win,
g_return_if_fail (curtype < GIMP_LAST_CURSOR_ENTRY);
/* allow the small tool cursor only with the standard mouse and
* the small crosshair
/* allow the small tool cursor only with the standard mouse,
* the small crosshair and the bad cursor
*/
if (curtype != GIMP_MOUSE_CURSOR &&
curtype != GIMP_CROSSHAIR_SMALL_CURSOR)
curtype != GIMP_CROSSHAIR_SMALL_CURSOR &&
curtype != GIMP_BAD_CURSOR)
tool_type = TOOL_TYPE_NONE;
curtype -= GIMP_MOUSE_CURSOR;
@ -323,6 +249,15 @@ gimp_change_win_cursor (GdkWindow *win,
case CURSOR_MODIFIER_MOVE:
modtype = GIMP_MOVE_CURSOR;
break;
case CURSOR_MODIFIER_RESIZE:
modtype = GIMP_RESIZE_CURSOR;
break;
case CURSOR_MODIFIER_CONTROL:
modtype = GIMP_CONTROL_CURSOR;
break;
case CURSOR_MODIFIER_HAND:
modtype = GIMP_HAND_CURSOR;
break;
default:
break;
}
@ -353,11 +288,12 @@ gimp_change_win_cursor (GdkWindow *win,
bmcursor->mask == NULL)
create_cursor_bitmaps (bmcursor);
if (bmmodifier->bitmap == NULL ||
bmmodifier->mask == NULL)
if (bmmodifier &&
(bmmodifier->bitmap == NULL ||
bmmodifier->mask == NULL))
create_cursor_bitmaps (bmmodifier);
if (bmtool &&
if (bmtool &&
(bmtool->bitmap == NULL ||
bmtool->mask == NULL))
create_cursor_bitmaps (bmtool);
@ -435,7 +371,9 @@ change_win_cursor (GdkWindow *win,
if (cursortype > GDK_LAST_CURSOR)
{
gimp_change_win_cursor (win, (GimpCursorType) cursortype,
tool_type, modifier, toggle_cursor);
tool_type,
modifier,
toggle_cursor);
return;
}

View File

@ -55,40 +55,26 @@ typedef enum
CURSOR_MODIFIER_PLUS,
CURSOR_MODIFIER_MINUS,
CURSOR_MODIFIER_INTERSECT,
CURSOR_MODIFIER_MOVE
CURSOR_MODIFIER_MOVE,
CURSOR_MODIFIER_RESIZE,
CURSOR_MODIFIER_CONTROL,
CURSOR_MODIFIER_HAND
} CursorModifier;
/* FIXME: gimp_busy HACK */
extern gboolean gimp_busy;
typedef enum
{
GIMP_MOUSE_CURSOR = (GDK_LAST_CURSOR + 2),
GIMP_CROSSHAIR_CURSOR,
GIMP_CROSSHAIR_SMALL_CURSOR,
/* to be reordered */
GIMP_ZOOM_CURSOR,
/* to be reordered / removed: */
GIMP_MOUSE_ADD_CURSOR,
GIMP_MOUSE_SUBTRACT_CURSOR,
GIMP_MOUSE_INTERSECT_CURSOR,
GIMP_MOUSE_POINT_CURSOR,
GIMP_MOUSE_RECTANGLE_CURSOR,
GIMP_MOUSE_MOVE_CURSOR,
GIMP_SELECTION_CURSOR,
GIMP_SELECTION_ADD_CURSOR,
GIMP_SELECTION_SUBTRACT_CURSOR,
GIMP_SELECTION_INTERSECT_CURSOR,
GIMP_SELECTION_MOVE_CURSOR,
GIMP_BAD_CURSOR,
GIMP_ZOOM_CURSOR,
GIMP_COLOR_PICKER_CURSOR,
GIMP_ZOOM_IN_CURSOR,
GIMP_ZOOM_OUT_CURSOR,
GIMP_LAST_CURSOR_ENTRY
} GimpCursorType;
/* FIXME: gimp_busy HACK */
extern gboolean gimp_busy;
void change_win_cursor (GdkWindow *win,
GdkCursorType curtype,
ToolType tool_type,

View File

@ -744,6 +744,7 @@ user_install_dialog_create (UserInstallCallback callback)
PAGE_STYLE (ctree);
gtk_ctree_set_indent (GTK_CTREE (ctree), 12);
gtk_clist_set_shadow_type (GTK_CLIST (ctree), GTK_SHADOW_NONE);
gtk_clist_set_selection_mode (GTK_CLIST (ctree), GTK_SELECTION_BROWSE);
gtk_box_pack_start (GTK_BOX (hbox), ctree, FALSE, FALSE, 0);
gtk_widget_show (ctree);

View File

@ -615,7 +615,10 @@ gdisplay_canvas_events (GtkWidget *canvas,
}
else if (gimage_is_empty (gdisp->gimage))
{
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
}
}

View File

@ -615,7 +615,10 @@ gdisplay_canvas_events (GtkWidget *canvas,
}
else if (gimage_is_empty (gdisp->gimage))
{
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
}
}

View File

@ -166,7 +166,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);
gdisplay_install_tool_cursor (gdisp, default_gdisplay_cursor,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
gimage->instance_count++; /* this is obsolete */
gimage->disp_count++;
@ -1567,22 +1570,23 @@ gdisplay_real_install_tool_cursor (GDisplay *gdisp,
gboolean toggle_cursor,
gboolean always_install)
{
switch (cursor_mode)
if (cursor_type != GIMP_BAD_CURSOR)
{
case CURSOR_MODE_TOOL_ICON:
break;
switch (cursor_mode)
{
case CURSOR_MODE_TOOL_ICON:
break;
case CURSOR_MODE_TOOL_CROSSHAIR:
cursor_type = GIMP_CROSSHAIR_SMALL_CURSOR;
tool_type = RECT_SELECT;
modifier = CURSOR_MODIFIER_PLUS;
break;
case CURSOR_MODE_TOOL_CROSSHAIR:
cursor_type = GIMP_CROSSHAIR_SMALL_CURSOR;
break;
case CURSOR_MODE_CROSSHAIR:
cursor_type = GIMP_CROSSHAIR_CURSOR;
tool_type = TOOL_TYPE_NONE;
modifier = CURSOR_MODIFIER_NONE;
break;
case CURSOR_MODE_CROSSHAIR:
cursor_type = GIMP_CROSSHAIR_CURSOR;
tool_type = TOOL_TYPE_NONE;
modifier = CURSOR_MODIFIER_NONE;
break;
}
}
if (gdisp->current_cursor != cursor_type ||
@ -1606,20 +1610,17 @@ gdisplay_real_install_tool_cursor (GDisplay *gdisp,
void
gdisplay_install_tool_cursor (GDisplay *gdisp,
GdkCursorType cursor_type) /*,
GdkCursorType cursor_type,
ToolType tool_type,
CursorModifier modifier,
gboolean toggle_cursor) */
gboolean toggle_cursor)
{
if (!gdisp->using_override_cursor)
gdisplay_real_install_tool_cursor (gdisp,
cursor_type,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE,
/*tool_type,
tool_type,
modifier,
toggle_cursor,*/
toggle_cursor,
FALSE);
}
@ -1654,8 +1655,8 @@ gdisplay_remove_override_cursor (GDisplay *gdisp)
gdisplay_real_install_tool_cursor (gdisp,
gdisp->current_cursor,
gdisp->cursor_tool,
CURSOR_MODIFIER_NONE,
FALSE,
gdisp->cursor_modifier,
gdisp->toggle_cursor,
TRUE);
}
}

View File

@ -190,10 +190,10 @@ void gdisplay_real_install_tool_cursor (GDisplay *gdisp,
gboolean toggle_cursor,
gboolean always_install);
void gdisplay_install_tool_cursor (GDisplay *gdisp,
GdkCursorType cursor_type); /*,
GdkCursorType cursor_type,
ToolType tool_type,
CursorModifier modifier,
gboolean toggle_cursor); */
gboolean toggle_cursor);
void gdisplay_remove_tool_cursor (GDisplay *gdisp);
void gdisplay_install_override_cursor (GDisplay *gdisp,
GdkCursorType cursor_type);

View File

@ -615,7 +615,10 @@ gdisplay_canvas_events (GtkWidget *canvas,
}
else if (gimage_is_empty (gdisp->gimage))
{
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
}
}

View File

@ -615,15 +615,15 @@ edit_selection_control (Tool *tool,
{
switch (action)
{
case PAUSE :
case PAUSE:
draw_core_pause (edit_select.core, tool);
break;
case RESUME :
case RESUME:
draw_core_resume (edit_select.core, tool);
break;
case HALT :
case HALT:
draw_core_stop (edit_select.core, tool);
draw_core_free (edit_select.core);
break;
@ -642,7 +642,10 @@ edit_selection_cursor_update (Tool *tool,
GDisplay *gdisp;
gdisp = (GDisplay *) gdisp_ptr;
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_MOVE,
FALSE);
}
static gint

View File

@ -140,12 +140,16 @@ eraser_modifier_key_func (Tool *tool,
case GDK_Shift_L:
case GDK_Shift_R:
if (kevent->state & GDK_CONTROL_MASK) /* reset tool toggle */
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (eraser_options->anti_erase_w), ! eraser_options->anti_erase);
gtk_toggle_button_set_active
(GTK_TOGGLE_BUTTON (eraser_options->anti_erase_w),
! eraser_options->anti_erase);
break;
case GDK_Control_L:
case GDK_Control_R:
if ( !(kevent->state & GDK_SHIFT_MASK) ) /* shift enables line draw mode */
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (eraser_options->anti_erase_w), ! eraser_options->anti_erase);
gtk_toggle_button_set_active
(GTK_TOGGLE_BUTTON (eraser_options->anti_erase_w),
! eraser_options->anti_erase);
break;
}
}

View File

@ -171,7 +171,7 @@ flip_cursor_update (Tool *tool,
{
GDisplay *gdisp;
GimpDrawable *drawable;
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
GdkCursorType ctype = GIMP_BAD_CURSOR;
gdisp = (GDisplay *) gdisp_ptr;
@ -200,7 +200,10 @@ flip_cursor_update (Tool *tool,
}
}
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
FLIP,
CURSOR_MODIFIER_NONE,
ctype == GDK_SB_V_DOUBLE_ARROW);
}
Tool *

View File

@ -166,7 +166,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);
gdisplay_install_tool_cursor (gdisp, default_gdisplay_cursor,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
gimage->instance_count++; /* this is obsolete */
gimage->disp_count++;
@ -1567,22 +1570,23 @@ gdisplay_real_install_tool_cursor (GDisplay *gdisp,
gboolean toggle_cursor,
gboolean always_install)
{
switch (cursor_mode)
if (cursor_type != GIMP_BAD_CURSOR)
{
case CURSOR_MODE_TOOL_ICON:
break;
switch (cursor_mode)
{
case CURSOR_MODE_TOOL_ICON:
break;
case CURSOR_MODE_TOOL_CROSSHAIR:
cursor_type = GIMP_CROSSHAIR_SMALL_CURSOR;
tool_type = RECT_SELECT;
modifier = CURSOR_MODIFIER_PLUS;
break;
case CURSOR_MODE_TOOL_CROSSHAIR:
cursor_type = GIMP_CROSSHAIR_SMALL_CURSOR;
break;
case CURSOR_MODE_CROSSHAIR:
cursor_type = GIMP_CROSSHAIR_CURSOR;
tool_type = TOOL_TYPE_NONE;
modifier = CURSOR_MODIFIER_NONE;
break;
case CURSOR_MODE_CROSSHAIR:
cursor_type = GIMP_CROSSHAIR_CURSOR;
tool_type = TOOL_TYPE_NONE;
modifier = CURSOR_MODIFIER_NONE;
break;
}
}
if (gdisp->current_cursor != cursor_type ||
@ -1606,20 +1610,17 @@ gdisplay_real_install_tool_cursor (GDisplay *gdisp,
void
gdisplay_install_tool_cursor (GDisplay *gdisp,
GdkCursorType cursor_type) /*,
GdkCursorType cursor_type,
ToolType tool_type,
CursorModifier modifier,
gboolean toggle_cursor) */
gboolean toggle_cursor)
{
if (!gdisp->using_override_cursor)
gdisplay_real_install_tool_cursor (gdisp,
cursor_type,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE,
/*tool_type,
tool_type,
modifier,
toggle_cursor,*/
toggle_cursor,
FALSE);
}
@ -1654,8 +1655,8 @@ gdisplay_remove_override_cursor (GDisplay *gdisp)
gdisplay_real_install_tool_cursor (gdisp,
gdisp->current_cursor,
gdisp->cursor_tool,
CURSOR_MODIFIER_NONE,
FALSE,
gdisp->cursor_modifier,
gdisp->toggle_cursor,
TRUE);
}
}

View File

@ -190,10 +190,10 @@ void gdisplay_real_install_tool_cursor (GDisplay *gdisp,
gboolean toggle_cursor,
gboolean always_install);
void gdisplay_install_tool_cursor (GDisplay *gdisp,
GdkCursorType cursor_type); /*,
GdkCursorType cursor_type,
ToolType tool_type,
CursorModifier modifier,
gboolean toggle_cursor); */
gboolean toggle_cursor);
void gdisplay_remove_tool_cursor (GDisplay *gdisp);
void gdisplay_install_override_cursor (GDisplay *gdisp,
GdkCursorType cursor_type);

View File

@ -401,7 +401,8 @@ layers_dialog_create (void)
layersD);
gtk_widget_show (layersD->preserve_trans);
gimp_help_set_help_data (layersD->preserve_trans, NULL, "#keep_trans_button");
gimp_help_set_help_data (layersD->preserve_trans,
_("Keep Transparency"), "#keep_trans_button");
gtk_widget_show (util_box);

View File

@ -744,6 +744,7 @@ user_install_dialog_create (UserInstallCallback callback)
PAGE_STYLE (ctree);
gtk_ctree_set_indent (GTK_CTREE (ctree), 12);
gtk_clist_set_shadow_type (GTK_CLIST (ctree), GTK_SHADOW_NONE);
gtk_clist_set_selection_mode (GTK_CLIST (ctree), GTK_SELECTION_BROWSE);
gtk_box_pack_start (GTK_BOX (hbox), ctree, FALSE, FALSE, 0);
gtk_widget_show (ctree);

View File

@ -1031,25 +1031,31 @@ ink_cursor_update (Tool *tool,
gdisp = (GDisplay *) gdisp_ptr;
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y, &x, &y, FALSE, FALSE);
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y,
&x, &y, FALSE, FALSE);
if ((layer = gimage_get_active_layer (gdisp->gimage)))
{
int off_x, off_y;
drawable_offsets (GIMP_DRAWABLE(layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE(layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE(layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GDK_PENCIL;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GDK_PENCIL;
}
drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE (layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE (layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GIMP_MOUSE_CURSOR;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GIMP_MOUSE_CURSOR;
}
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
INK,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void

View File

@ -903,11 +903,14 @@ iscissors_oper_update (Tool *tool,
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y,
&x, &y, FALSE, FALSE);
if (mouse_over_vertex (iscissors, x, y) ||
mouse_over_curve (iscissors, x, y))
if (mouse_over_vertex (iscissors, x, y))
{
iscissors->op = SELECTION_MOVE_MASK; /* abused */
}
else if (mouse_over_curve (iscissors, x, y))
{
iscissors->op = SELECTION_MOVE; /* abused */
}
else if (iscissors->connected && iscissors->mask &&
channel_value (iscissors->mask, x, y))
{
@ -931,11 +934,11 @@ iscissors_oper_update (Tool *tool,
}
else if (iscissors->connected && iscissors->mask)
{
iscissors->op = SELECTION_MOVE; /* abused */
iscissors->op = -1;
}
else
{
iscissors->op = -1;
iscissors->op = -2;
}
}
@ -951,7 +954,7 @@ iscissors_modifier_update (Tool *tool,
op = iscissors->op;
if (op == -1)
if (op == -2)
return;
switch (kevent->keyval)
@ -993,41 +996,66 @@ iscissors_cursor_update (Tool *tool,
iscissors = (Iscissors *) tool->private;
gdisp = (GDisplay *) gdisp_ptr;
if (iscissors->op != -1)
{
switch (iscissors->op)
{
case SELECTION_ADD:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_ADD_CURSOR);
break;
case SELECTION_SUB:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_SUBTRACT_CURSOR);
break;
case SELECTION_INTERSECT:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_INTERSECT_CURSOR);
break;
case SELECTION_MOVE_MASK: /* abused */
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_POINT_CURSOR);
break;
case SELECTION_MOVE: /* abused */
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR);
break;
default:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_CURSOR);
break;
}
}
else
switch (iscissors->op)
{
case SELECTION_REPLACE:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
break;
case SELECTION_ADD:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_PLUS,
FALSE);
break;
case SELECTION_SUB:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_MINUS,
FALSE);
break;
case SELECTION_INTERSECT:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_INTERSECT,
FALSE);
break;
case SELECTION_MOVE_MASK: /* abused */
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
ISCISSORS,
CURSOR_MODIFIER_MOVE,
FALSE);
break;
case SELECTION_MOVE: /* abused */
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
ISCISSORS,
CURSOR_MODIFIER_PLUS,
FALSE);
break;
case -1:
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
ISCISSORS,
CURSOR_MODIFIER_NONE,
FALSE);
break;
default:
switch (iscissors->state)
{
case WAITING:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_POINT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
ISCISSORS,
CURSOR_MODIFIER_PLUS,
FALSE);
break;
case SEED_PLACEMENT:
case SEED_ADJUSTMENT:
default:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
ISCISSORS,
CURSOR_MODIFIER_NONE,
FALSE);
break;
}
}

View File

@ -401,7 +401,8 @@ layers_dialog_create (void)
layersD);
gtk_widget_show (layersD->preserve_trans);
gimp_help_set_help_data (layersD->preserve_trans, NULL, "#keep_trans_button");
gimp_help_set_help_data (layersD->preserve_trans,
_("Keep Transparency"), "#keep_trans_button");
gtk_widget_show (util_box);

View File

@ -344,11 +344,17 @@ magnify_cursor_update (Tool *tool,
if (magnify_options->type == ZOOMIN)
{
gdisplay_install_tool_cursor (gdisp, GIMP_ZOOM_IN_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_ZOOM_CURSOR,
MAGNIFY,
CURSOR_MODIFIER_PLUS,
FALSE);
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_ZOOM_OUT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_ZOOM_CURSOR,
MAGNIFY,
CURSOR_MODIFIER_MINUS,
FALSE);
}
}

View File

@ -334,7 +334,10 @@ measure_tool_button_press (Tool *tool,
/* set the pointer to the crosshair,
* so one actually sees the cursor position
*/
gdisplay_install_tool_cursor (gdisp, GDK_TCROSS);
gdisplay_install_tool_cursor (gdisp, GIMP_CROSSHAIR_SMALL_CURSOR,
MEASURE,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void
@ -567,7 +570,6 @@ measure_tool_cursor_update (Tool *tool,
GdkEventMotion *mevent,
gpointer gdisp_ptr)
{
GdkCursorType ctype = GDK_TCROSS;
MeasureTool *measure_tool;
GDisplay *gdisp;
gint x[3];
@ -575,6 +577,9 @@ measure_tool_cursor_update (Tool *tool,
gint i;
gboolean in_handle = FALSE;
GdkCursorType ctype = GIMP_CROSSHAIR_SMALL_CURSOR;
CursorModifier cmodifier = CURSOR_MODIFIER_NONE;
gdisp = (GDisplay *) gdisp_ptr;
measure_tool = (MeasureTool *) tool->private;
@ -604,18 +609,27 @@ measure_tool_cursor_update (Tool *tool,
break;
}
ctype = (mevent->state & GDK_SHIFT_MASK) ? GDK_EXCHANGE : GDK_FLEUR;
if (mevent->state & GDK_SHIFT_MASK)
cmodifier = CURSOR_MODIFIER_PLUS;
else
cmodifier = CURSOR_MODIFIER_MOVE;
if (i == 0 && measure_tool->num_points == 3 && ctype == GDK_EXCHANGE)
ctype = GDK_FLEUR;
if (i == 0 && measure_tool->num_points == 3 &&
cmodifier == CURSOR_MODIFIER_PLUS)
cmodifier = CURSOR_MODIFIER_MOVE;
break;
}
}
if (!in_handle && measure_tool->num_points > 1 && mevent->state & GDK_MOD1_MASK)
ctype = GDK_FLEUR;
if (!in_handle && measure_tool->num_points > 1 &&
mevent->state & GDK_MOD1_MASK)
cmodifier = CURSOR_MODIFIER_MOVE;
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
MEASURE,
cmodifier,
FALSE);
}
static void

View File

@ -324,11 +324,17 @@ move_tool_cursor_update (Tool *tool,
if (mevent->state & GDK_MOD1_MASK &&
!gimage_mask_is_empty (gdisp->gimage))
{
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_MOVE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_MOVE,
FALSE);
}
else if (mevent->state & GDK_SHIFT_MASK)
{
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
}
else
{
@ -336,7 +342,10 @@ move_tool_cursor_update (Tool *tool,
(guide = gdisplay_find_guide (gdisp, mevent->x, mevent->y)))
{
tool->gdisp_ptr = gdisp_ptr;
gdisplay_install_tool_cursor (gdisp, GDK_HAND2);
gdisplay_install_tool_cursor (gdisp, GDK_HAND2,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_HAND,
FALSE);
if (tool->state != ACTIVE)
{
@ -358,15 +367,27 @@ move_tool_cursor_update (Tool *tool,
/* if there is a floating selection, and this aint it... */
if (gimage_floating_sel (gdisp->gimage) &&
!layer_is_floating_sel (layer))
gdisplay_install_tool_cursor (gdisp, GDK_SB_DOWN_ARROW);
gdisplay_install_tool_cursor (gdisp, GDK_SB_DOWN_ARROW,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
else if (layer == gdisp->gimage->active_layer)
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
else
gdisplay_install_tool_cursor (gdisp, GDK_HAND2);
gdisplay_install_tool_cursor (gdisp, GDK_HAND2,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_HAND,
FALSE);
}
else
{
gdisplay_install_tool_cursor (gdisp, GDK_TOP_LEFT_ARROW);
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
}
}
}

View File

@ -323,31 +323,35 @@ clone_cursor_update (Tool *tool,
if ((layer = gimage_get_active_layer (gdisp->gimage)))
{
int off_x, off_y;
drawable_offsets (GIMP_DRAWABLE(layer), &off_x, &off_y);
drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE(layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE(layer))))
x < (off_x + drawable_width (GIMP_DRAWABLE (layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE (layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GDK_PENCIL;
ctype = GIMP_MOUSE_CURSOR;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GDK_PENCIL;
ctype = GIMP_MOUSE_CURSOR;
}
}
if (clone_options->type == IMAGE_CLONE)
{
if (mevent->state & GDK_CONTROL_MASK)
ctype = GDK_CROSSHAIR;
ctype = GIMP_CROSSHAIR_SMALL_CURSOR;
else if (!src_drawable_)
ctype = GIMP_BAD_CURSOR;
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
ctype == GIMP_CROSSHAIR_SMALL_CURSOR ?
TOOL_TYPE_NONE : CLONE,
CURSOR_MODIFIER_NONE,
FALSE);
}
Tool *

View File

@ -140,12 +140,16 @@ eraser_modifier_key_func (Tool *tool,
case GDK_Shift_L:
case GDK_Shift_R:
if (kevent->state & GDK_CONTROL_MASK) /* reset tool toggle */
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (eraser_options->anti_erase_w), ! eraser_options->anti_erase);
gtk_toggle_button_set_active
(GTK_TOGGLE_BUTTON (eraser_options->anti_erase_w),
! eraser_options->anti_erase);
break;
case GDK_Control_L:
case GDK_Control_R:
if ( !(kevent->state & GDK_SHIFT_MASK) ) /* shift enables line draw mode */
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (eraser_options->anti_erase_w), ! eraser_options->anti_erase);
gtk_toggle_button_set_active
(GTK_TOGGLE_BUTTON (eraser_options->anti_erase_w),
! eraser_options->anti_erase);
break;
}
}

View File

@ -1031,25 +1031,31 @@ ink_cursor_update (Tool *tool,
gdisp = (GDisplay *) gdisp_ptr;
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y, &x, &y, FALSE, FALSE);
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y,
&x, &y, FALSE, FALSE);
if ((layer = gimage_get_active_layer (gdisp->gimage)))
{
int off_x, off_y;
drawable_offsets (GIMP_DRAWABLE(layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE(layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE(layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GDK_PENCIL;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GDK_PENCIL;
}
drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE (layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE (layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GIMP_MOUSE_CURSOR;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GIMP_MOUSE_CURSOR;
}
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
INK,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void

View File

@ -323,31 +323,35 @@ clone_cursor_update (Tool *tool,
if ((layer = gimage_get_active_layer (gdisp->gimage)))
{
int off_x, off_y;
drawable_offsets (GIMP_DRAWABLE(layer), &off_x, &off_y);
drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE(layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE(layer))))
x < (off_x + drawable_width (GIMP_DRAWABLE (layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE (layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GDK_PENCIL;
ctype = GIMP_MOUSE_CURSOR;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GDK_PENCIL;
ctype = GIMP_MOUSE_CURSOR;
}
}
if (clone_options->type == IMAGE_CLONE)
{
if (mevent->state & GDK_CONTROL_MASK)
ctype = GDK_CROSSHAIR;
ctype = GIMP_CROSSHAIR_SMALL_CURSOR;
else if (!src_drawable_)
ctype = GIMP_BAD_CURSOR;
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
ctype == GIMP_CROSSHAIR_SMALL_CURSOR ?
TOOL_TYPE_NONE : CLONE,
CURSOR_MODIFIER_NONE,
FALSE);
}
Tool *

View File

@ -457,7 +457,10 @@ paint_core_cursor_update (Tool *tool,
PaintCore *paint_core;
gint x, y;
gchar status_str[STATUSBAR_SIZE];
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
CursorModifier cmodifier = CURSOR_MODIFIER_NONE;
gboolean ctoggle = FALSE;
gdisp = (GDisplay *) gdisp_ptr;
paint_core = (PaintCore *) tool->private;
@ -544,7 +547,9 @@ paint_core_cursor_update (Tool *tool,
paint_core->context_id, status_str);
if (paint_core->core->gc == NULL)
draw_core_start (paint_core->core, gdisp->canvas->window, tool);
{
draw_core_start (paint_core->core, gdisp->canvas->window, tool);
}
else
{
/* is this a bad hack ? */
@ -559,30 +564,57 @@ paint_core_cursor_update (Tool *tool,
{
ctype = GIMP_COLOR_PICKER_CURSOR;
}
/* Set toggle cursors for various paint tools */
else if (!(mevent->state & GDK_SHIFT_MASK) &&
(mevent->state & GDK_CONTROL_MASK))
{
switch (tool->type)
{
case ERASER:
ctype = GIMP_MOUSE_CURSOR;
cmodifier = CURSOR_MODIFIER_MINUS;
break;
case CONVOLVE:
ctype = GIMP_MOUSE_CURSOR;
cmodifier = CURSOR_MODIFIER_MINUS;
break;
case DODGEBURN:
ctype = GIMP_MOUSE_CURSOR;
ctoggle = TRUE;
break;
default:
ctype = GIMP_MOUSE_CURSOR;
break;
}
}
/* Normal operation -- no modifier pressed or first stroke */
else
{
gint off_x, off_y;
drawable_offsets (GIMP_DRAWABLE(layer), &off_x, &off_y);
drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
gdisplay_untransform_coords (gdisp,
(double) mevent->x, (double) mevent->y,
&x, &y, TRUE, FALSE);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE(layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE(layer))))
x < (off_x + drawable_width (GIMP_DRAWABLE (layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE (layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GDK_PENCIL;
ctype = GIMP_MOUSE_CURSOR;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GDK_PENCIL;
ctype = GIMP_MOUSE_CURSOR;
}
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
ctype == GIMP_COLOR_PICKER_CURSOR ?
COLOR_PICKER : tool->type,
cmodifier,
ctoggle);
}
}

View File

@ -495,13 +495,13 @@ selection_tool_update_op_state (RectSelect *rect_sel,
if (state & GDK_MOD1_MASK &&
!gimage_mask_is_empty (gdisp->gimage))
{
rect_sel->op = SELECTION_MOVE_MASK; /* move just the selection mask */
rect_sel->op = SELECTION_MOVE_MASK; /* move just the selection mask */
}
else if (!(state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) &&
layer &&
(layer == floating_sel ||
(gdisplay_mask_value (gdisp, x, y) &&
!floating_sel)))
floating_sel == NULL)))
{
rect_sel->op = SELECTION_MOVE; /* move the selection */
}
@ -513,16 +513,16 @@ selection_tool_update_op_state (RectSelect *rect_sel,
else if ((state & GDK_CONTROL_MASK) &&
!(state & GDK_SHIFT_MASK))
{
rect_sel->op = SELECTION_SUB; /* subtract from the selection */
rect_sel->op = SELECTION_SUB; /* subtract from the selection */
}
else if ((state & GDK_CONTROL_MASK) &&
(state & GDK_SHIFT_MASK))
{
rect_sel->op = SELECTION_INTERSECT;/* intersect with selection */
rect_sel->op = SELECTION_INTERSECT; /* intersect with selection */
}
else
{
rect_sel->op = SELECTION_REPLACE; /* replace the selection */
rect_sel->op = SELECTION_REPLACE; /* replace the selection */
}
}
@ -534,7 +534,13 @@ rect_select_oper_update (Tool *tool,
RectSelect *rect_sel;
rect_sel = (RectSelect *) tool->private;
selection_tool_update_op_state (rect_sel, mevent->x, mevent->y,
rect_sel->current_x = mevent->x;
rect_sel->current_y = mevent->y;
selection_tool_update_op_state (rect_sel,
rect_sel->current_x,
rect_sel->current_y,
mevent->state, gdisp_ptr);
}
@ -574,7 +580,8 @@ rect_select_modifier_update (Tool *tool,
rect_sel = (RectSelect *) tool->private;
selection_tool_update_op_state (rect_sel,
rect_sel->current_x, rect_sel->current_y,
rect_sel->current_x,
rect_sel->current_y,
state, gdisp_ptr);
}
@ -592,22 +599,40 @@ rect_select_cursor_update (Tool *tool,
switch (rect_sel->op)
{
case SELECTION_ADD:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_ADD_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
tool->type,
CURSOR_MODIFIER_PLUS,
FALSE);
break;
case SELECTION_SUB:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_SUBTRACT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
tool->type,
CURSOR_MODIFIER_MINUS,
FALSE);
break;
case SELECTION_INTERSECT:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_INTERSECT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
tool->type,
CURSOR_MODIFIER_INTERSECT,
FALSE);
break;
case SELECTION_REPLACE:
gdisplay_install_tool_cursor (gdisp, GDK_TCROSS);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
tool->type,
CURSOR_MODIFIER_NONE,
FALSE);
break;
case SELECTION_MOVE_MASK:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_MOVE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
tool->type,
CURSOR_MODIFIER_MOVE,
FALSE);
break;
case SELECTION_MOVE:
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
break;
}
}

View File

@ -350,17 +350,24 @@ text_cursor_update (Tool *tool,
gdisp = (GDisplay *) gdisp_ptr;
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y, &x, &y, FALSE, FALSE);
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y,
&x, &y, FALSE, FALSE);
if ((layer = gimage_pick_correlate_layer (gdisp->gimage, x, y)))
/* if there is a floating selection, and this aint it... */
if (layer_is_floating_sel (layer))
{
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
return;
}
gdisplay_install_tool_cursor (gdisp, GDK_XTERM);
gdisplay_install_tool_cursor (gdisp, GDK_XTERM,
TEXT,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void

View File

@ -74,20 +74,52 @@
#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/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"
/* Global Data */
@ -234,8 +266,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
bezier_select_small_bits, bezier_select_small_mask_bits,
bezier_select_small_width, bezier_select_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -262,8 +294,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
scissors_small_bits, scissors_small_mask_bits,
scissors_small_width, scissors_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -290,8 +322,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
move_small_bits, move_small_mask_bits,
move_small_width, move_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -486,13 +518,13 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
flip_horizontal_small_bits, flip_horizontal_small_mask_bits,
flip_horizontal_small_width, flip_horizontal_small_height,
0, 0, NULL, NULL, NULL
},
{
NULL, NULL,
0, 0,
flip_vertical_small_bits, flip_vertical_small_mask_bits,
flip_vertical_small_width, flip_vertical_small_height,
0, 0, NULL, NULL, NULL
}
},
@ -514,8 +546,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
text_small_bits, text_small_mask_bits,
text_small_width, text_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -542,8 +574,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
dropper_small_bits, dropper_small_mask_bits,
dropper_small_width, dropper_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -598,8 +630,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
blend_small_bits, blend_small_mask_bits,
blend_small_width, blend_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -710,8 +742,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
airbrush_small_bits, airbrush_small_mask_bits,
airbrush_small_width, airbrush_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -738,8 +770,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
clone_small_bits, clone_small_mask_bits,
clone_small_width, clone_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -766,8 +798,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
blur_small_bits, blur_small_mask_bits,
blur_small_width, blur_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -794,8 +826,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
ink_small_bits, ink_small_mask_bits,
ink_small_width, ink_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -822,13 +854,13 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
dodge_small_bits, dodge_small_mask_bits,
dodge_small_width, dodge_small_height,
0, 0, NULL, NULL, NULL
},
{
NULL, NULL,
0, 0,
burn_small_bits, burn_small_mask_bits,
burn_small_width, burn_small_height,
0, 0, NULL, NULL, NULL
}
},
@ -850,8 +882,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
smudge_small_bits, smudge_small_mask_bits,
smudge_small_width, smudge_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -908,8 +940,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
measure_small_bits, measure_small_mask_bits,
measure_small_width, measure_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -1388,7 +1420,10 @@ standard_cursor_update_func (Tool *tool,
GDisplay *gdisp;
gdisp = (GDisplay *) gdisp_ptr;
gdisplay_install_tool_cursor (gdisp, GDK_TOP_LEFT_ARROW);
gdisplay_install_tool_cursor (gdisp, GDK_TOP_LEFT_ARROW,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void
@ -1397,6 +1432,7 @@ standard_operator_update_func (Tool *tool,
gpointer gdisp_ptr)
{
}
static void
standard_control_func (Tool *tool,
ToolAction action,

View File

@ -1582,9 +1582,12 @@ bezier_select_cursor_update (Tool *tool,
bezier_sel = tool->private;
if(gdisp != tool->gdisp_ptr || bezier_sel->core->draw_state == INVISIBLE)
if (gdisp != tool->gdisp_ptr || bezier_sel->core->draw_state == INVISIBLE)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
return;
}
@ -1608,21 +1611,33 @@ bezier_select_cursor_update (Tool *tool,
if ((mevent->state & GDK_SHIFT_MASK) &&
!(mevent->state & GDK_CONTROL_MASK))
{
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_ADD_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_PLUS,
FALSE);
}
else if ((mevent->state & GDK_CONTROL_MASK) &&
!(mevent->state & GDK_SHIFT_MASK))
{
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_SUBTRACT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_MINUS,
FALSE);
}
else if ((mevent->state & GDK_CONTROL_MASK) &&
(mevent->state & GDK_SHIFT_MASK))
{
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_INTERSECT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_INTERSECT,
FALSE);
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
}
return;
}
@ -1633,11 +1648,17 @@ bezier_select_cursor_update (Tool *tool,
if (mevent->state & GDK_SHIFT_MASK)
{
/* moving on 1 curve */
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_MOVE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_MOVE,
FALSE);
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_MOVE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_MOVE,
FALSE);
}
}
else
@ -1647,63 +1668,96 @@ bezier_select_cursor_update (Tool *tool,
case EXTEND_NEW:
if (on_control_pnt && bezier_sel->closed)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_RECTANGLE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_CONTROL,
FALSE);
/* g_print ("add to curve cursor\n"); */
}
else if (on_curve)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_POINT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
/* g_print ("edit control point cursor\n"); */
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_POINT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
}
break;
case EXTEND_ADD:
if (on_curve)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_ADD_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_PLUS,
FALSE);
/* g_print ("add to curve cursor\n"); */
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
/* g_print ("default no action cursor\n"); */
}
break;
case EXTEND_EDIT:
if (on_control_pnt)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_RECTANGLE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_CONTROL,
FALSE);
/* g_print ("edit control point cursor\n"); */
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
/* g_print ("default no action cursor\n"); */
}
break;
case EXTEND_REMOVE:
if (on_control_pnt && mevent->state & GDK_SHIFT_MASK)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_SUBTRACT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_MINUS,
FALSE);
/* g_print ("delete whole curve cursor\n"); */
}
else if (on_control_pnt)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_SUBTRACT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_MINUS,
FALSE);
/* g_print ("remove point cursor\n"); */
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
/* g_print ("default no action cursor\n"); */
}
break;
default:
g_print ("In default\n");
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BEZIER_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
break;
}
}

View File

@ -641,10 +641,16 @@ blend_cursor_update (Tool *tool,
{
case INDEXED_GIMAGE:
case INDEXEDA_GIMAGE:
gdisplay_install_tool_cursor (gdisp, GDK_TOP_LEFT_ARROW);
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
BLEND,
CURSOR_MODIFIER_NONE,
FALSE);
break;
default:
gdisplay_install_tool_cursor (gdisp, GDK_TCROSS);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BLEND,
CURSOR_MODIFIER_NONE,
FALSE);
break;
}
}

View File

@ -262,24 +262,28 @@ bucket_fill_cursor_update (Tool *tool,
gdisp = (GDisplay *) gdisp_ptr;
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y, &x, &y, FALSE, FALSE);
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y,
&x, &y, FALSE, FALSE);
if ((layer = gimage_get_active_layer (gdisp->gimage)))
{
drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE(layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE(layer))))
x < (off_x + drawable_width (GIMP_DRAWABLE (layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE (layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GDK_TCROSS;
ctype = GIMP_MOUSE_CURSOR;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GDK_TCROSS;
ctype = GIMP_MOUSE_CURSOR;
}
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
BUCKET_FILL,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void

View File

@ -464,28 +464,49 @@ by_color_select_cursor_update (Tool *tool,
switch (by_col_sel->operation)
{
case SELECTION_ADD:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_ADD_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_PLUS,
FALSE);
break;
case SELECTION_SUB:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_SUBTRACT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_MINUS,
FALSE);
break;
case SELECTION_INTERSECT:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_INTERSECT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_INTERSECT,
FALSE);
break;
case SELECTION_REPLACE:
gdisplay_install_tool_cursor (gdisp, GDK_TCROSS);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
break;
case SELECTION_MOVE_MASK:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_MOVE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_MOVE,
FALSE);
break;
case SELECTION_MOVE:
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
}
return;
}
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void

View File

@ -323,31 +323,35 @@ clone_cursor_update (Tool *tool,
if ((layer = gimage_get_active_layer (gdisp->gimage)))
{
int off_x, off_y;
drawable_offsets (GIMP_DRAWABLE(layer), &off_x, &off_y);
drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE(layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE(layer))))
x < (off_x + drawable_width (GIMP_DRAWABLE (layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE (layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GDK_PENCIL;
ctype = GIMP_MOUSE_CURSOR;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GDK_PENCIL;
ctype = GIMP_MOUSE_CURSOR;
}
}
if (clone_options->type == IMAGE_CLONE)
{
if (mevent->state & GDK_CONTROL_MASK)
ctype = GDK_CROSSHAIR;
ctype = GIMP_CROSSHAIR_SMALL_CURSOR;
else if (!src_drawable_)
ctype = GIMP_BAD_CURSOR;
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
ctype == GIMP_CROSSHAIR_SMALL_CURSOR ?
TOOL_TYPE_NONE : CLONE,
CURSOR_MODIFIER_NONE,
FALSE);
}
Tool *

View File

@ -423,9 +423,15 @@ color_picker_cursor_update (Tool *tool,
FALSE, FALSE);
if (gimage_pick_correlate_layer (gdisp->gimage, x, y))
gdisplay_install_tool_cursor (gdisp, GIMP_COLOR_PICKER_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_COLOR_PICKER_CURSOR,
COLOR_PICKER,
CURSOR_MODIFIER_NONE,
FALSE);
else
gdisplay_install_tool_cursor (gdisp, GDK_TOP_LEFT_ARROW);
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
COLOR_PICKER,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void

View File

@ -615,15 +615,15 @@ edit_selection_control (Tool *tool,
{
switch (action)
{
case PAUSE :
case PAUSE:
draw_core_pause (edit_select.core, tool);
break;
case RESUME :
case RESUME:
draw_core_resume (edit_select.core, tool);
break;
case HALT :
case HALT:
draw_core_stop (edit_select.core, tool);
draw_core_free (edit_select.core);
break;
@ -642,7 +642,10 @@ edit_selection_cursor_update (Tool *tool,
GDisplay *gdisp;
gdisp = (GDisplay *) gdisp_ptr;
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_MOVE,
FALSE);
}
static gint

View File

@ -140,12 +140,16 @@ eraser_modifier_key_func (Tool *tool,
case GDK_Shift_L:
case GDK_Shift_R:
if (kevent->state & GDK_CONTROL_MASK) /* reset tool toggle */
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (eraser_options->anti_erase_w), ! eraser_options->anti_erase);
gtk_toggle_button_set_active
(GTK_TOGGLE_BUTTON (eraser_options->anti_erase_w),
! eraser_options->anti_erase);
break;
case GDK_Control_L:
case GDK_Control_R:
if ( !(kevent->state & GDK_SHIFT_MASK) ) /* shift enables line draw mode */
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (eraser_options->anti_erase_w), ! eraser_options->anti_erase);
gtk_toggle_button_set_active
(GTK_TOGGLE_BUTTON (eraser_options->anti_erase_w),
! eraser_options->anti_erase);
break;
}
}

View File

@ -171,7 +171,7 @@ flip_cursor_update (Tool *tool,
{
GDisplay *gdisp;
GimpDrawable *drawable;
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
GdkCursorType ctype = GIMP_BAD_CURSOR;
gdisp = (GDisplay *) gdisp_ptr;
@ -200,7 +200,10 @@ flip_cursor_update (Tool *tool,
}
}
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
FLIP,
CURSOR_MODIFIER_NONE,
ctype == GDK_SB_V_DOUBLE_ARROW);
}
Tool *

View File

@ -641,10 +641,16 @@ blend_cursor_update (Tool *tool,
{
case INDEXED_GIMAGE:
case INDEXEDA_GIMAGE:
gdisplay_install_tool_cursor (gdisp, GDK_TOP_LEFT_ARROW);
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
BLEND,
CURSOR_MODIFIER_NONE,
FALSE);
break;
default:
gdisplay_install_tool_cursor (gdisp, GDK_TCROSS);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
BLEND,
CURSOR_MODIFIER_NONE,
FALSE);
break;
}
}

View File

@ -262,24 +262,28 @@ bucket_fill_cursor_update (Tool *tool,
gdisp = (GDisplay *) gdisp_ptr;
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y, &x, &y, FALSE, FALSE);
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y,
&x, &y, FALSE, FALSE);
if ((layer = gimage_get_active_layer (gdisp->gimage)))
{
drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE(layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE(layer))))
x < (off_x + drawable_width (GIMP_DRAWABLE (layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE (layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GDK_TCROSS;
ctype = GIMP_MOUSE_CURSOR;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GDK_TCROSS;
ctype = GIMP_MOUSE_CURSOR;
}
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
BUCKET_FILL,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void

View File

@ -464,28 +464,49 @@ by_color_select_cursor_update (Tool *tool,
switch (by_col_sel->operation)
{
case SELECTION_ADD:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_ADD_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_PLUS,
FALSE);
break;
case SELECTION_SUB:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_SUBTRACT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_MINUS,
FALSE);
break;
case SELECTION_INTERSECT:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_INTERSECT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_INTERSECT,
FALSE);
break;
case SELECTION_REPLACE:
gdisplay_install_tool_cursor (gdisp, GDK_TCROSS);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
break;
case SELECTION_MOVE_MASK:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_MOVE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_MOVE,
FALSE);
break;
case SELECTION_MOVE:
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
}
return;
}
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void

View File

@ -323,31 +323,35 @@ clone_cursor_update (Tool *tool,
if ((layer = gimage_get_active_layer (gdisp->gimage)))
{
int off_x, off_y;
drawable_offsets (GIMP_DRAWABLE(layer), &off_x, &off_y);
drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE(layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE(layer))))
x < (off_x + drawable_width (GIMP_DRAWABLE (layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE (layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GDK_PENCIL;
ctype = GIMP_MOUSE_CURSOR;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GDK_PENCIL;
ctype = GIMP_MOUSE_CURSOR;
}
}
if (clone_options->type == IMAGE_CLONE)
{
if (mevent->state & GDK_CONTROL_MASK)
ctype = GDK_CROSSHAIR;
ctype = GIMP_CROSSHAIR_SMALL_CURSOR;
else if (!src_drawable_)
ctype = GIMP_BAD_CURSOR;
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
ctype == GIMP_CROSSHAIR_SMALL_CURSOR ?
TOOL_TYPE_NONE : CLONE,
CURSOR_MODIFIER_NONE,
FALSE);
}
Tool *

View File

@ -615,15 +615,15 @@ edit_selection_control (Tool *tool,
{
switch (action)
{
case PAUSE :
case PAUSE:
draw_core_pause (edit_select.core, tool);
break;
case RESUME :
case RESUME:
draw_core_resume (edit_select.core, tool);
break;
case HALT :
case HALT:
draw_core_stop (edit_select.core, tool);
draw_core_free (edit_select.core);
break;
@ -642,7 +642,10 @@ edit_selection_cursor_update (Tool *tool,
GDisplay *gdisp;
gdisp = (GDisplay *) gdisp_ptr;
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_MOVE,
FALSE);
}
static gint

View File

@ -140,12 +140,16 @@ eraser_modifier_key_func (Tool *tool,
case GDK_Shift_L:
case GDK_Shift_R:
if (kevent->state & GDK_CONTROL_MASK) /* reset tool toggle */
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (eraser_options->anti_erase_w), ! eraser_options->anti_erase);
gtk_toggle_button_set_active
(GTK_TOGGLE_BUTTON (eraser_options->anti_erase_w),
! eraser_options->anti_erase);
break;
case GDK_Control_L:
case GDK_Control_R:
if ( !(kevent->state & GDK_SHIFT_MASK) ) /* shift enables line draw mode */
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (eraser_options->anti_erase_w), ! eraser_options->anti_erase);
gtk_toggle_button_set_active
(GTK_TOGGLE_BUTTON (eraser_options->anti_erase_w),
! eraser_options->anti_erase);
break;
}
}

View File

@ -171,7 +171,7 @@ flip_cursor_update (Tool *tool,
{
GDisplay *gdisp;
GimpDrawable *drawable;
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
GdkCursorType ctype = GIMP_BAD_CURSOR;
gdisp = (GDisplay *) gdisp_ptr;
@ -200,7 +200,10 @@ flip_cursor_update (Tool *tool,
}
}
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
FLIP,
CURSOR_MODIFIER_NONE,
ctype == GDK_SB_V_DOUBLE_ARROW);
}
Tool *

View File

@ -1031,25 +1031,31 @@ ink_cursor_update (Tool *tool,
gdisp = (GDisplay *) gdisp_ptr;
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y, &x, &y, FALSE, FALSE);
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y,
&x, &y, FALSE, FALSE);
if ((layer = gimage_get_active_layer (gdisp->gimage)))
{
int off_x, off_y;
drawable_offsets (GIMP_DRAWABLE(layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE(layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE(layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GDK_PENCIL;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GDK_PENCIL;
}
drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE (layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE (layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GIMP_MOUSE_CURSOR;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GIMP_MOUSE_CURSOR;
}
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
INK,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void

View File

@ -903,11 +903,14 @@ iscissors_oper_update (Tool *tool,
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y,
&x, &y, FALSE, FALSE);
if (mouse_over_vertex (iscissors, x, y) ||
mouse_over_curve (iscissors, x, y))
if (mouse_over_vertex (iscissors, x, y))
{
iscissors->op = SELECTION_MOVE_MASK; /* abused */
}
else if (mouse_over_curve (iscissors, x, y))
{
iscissors->op = SELECTION_MOVE; /* abused */
}
else if (iscissors->connected && iscissors->mask &&
channel_value (iscissors->mask, x, y))
{
@ -931,11 +934,11 @@ iscissors_oper_update (Tool *tool,
}
else if (iscissors->connected && iscissors->mask)
{
iscissors->op = SELECTION_MOVE; /* abused */
iscissors->op = -1;
}
else
{
iscissors->op = -1;
iscissors->op = -2;
}
}
@ -951,7 +954,7 @@ iscissors_modifier_update (Tool *tool,
op = iscissors->op;
if (op == -1)
if (op == -2)
return;
switch (kevent->keyval)
@ -993,41 +996,66 @@ iscissors_cursor_update (Tool *tool,
iscissors = (Iscissors *) tool->private;
gdisp = (GDisplay *) gdisp_ptr;
if (iscissors->op != -1)
{
switch (iscissors->op)
{
case SELECTION_ADD:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_ADD_CURSOR);
break;
case SELECTION_SUB:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_SUBTRACT_CURSOR);
break;
case SELECTION_INTERSECT:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_INTERSECT_CURSOR);
break;
case SELECTION_MOVE_MASK: /* abused */
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_POINT_CURSOR);
break;
case SELECTION_MOVE: /* abused */
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR);
break;
default:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_CURSOR);
break;
}
}
else
switch (iscissors->op)
{
case SELECTION_REPLACE:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
break;
case SELECTION_ADD:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_PLUS,
FALSE);
break;
case SELECTION_SUB:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_MINUS,
FALSE);
break;
case SELECTION_INTERSECT:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_INTERSECT,
FALSE);
break;
case SELECTION_MOVE_MASK: /* abused */
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
ISCISSORS,
CURSOR_MODIFIER_MOVE,
FALSE);
break;
case SELECTION_MOVE: /* abused */
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
ISCISSORS,
CURSOR_MODIFIER_PLUS,
FALSE);
break;
case -1:
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
ISCISSORS,
CURSOR_MODIFIER_NONE,
FALSE);
break;
default:
switch (iscissors->state)
{
case WAITING:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_POINT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
ISCISSORS,
CURSOR_MODIFIER_PLUS,
FALSE);
break;
case SEED_PLACEMENT:
case SEED_ADJUSTMENT:
default:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
ISCISSORS,
CURSOR_MODIFIER_NONE,
FALSE);
break;
}
}

View File

@ -344,11 +344,17 @@ magnify_cursor_update (Tool *tool,
if (magnify_options->type == ZOOMIN)
{
gdisplay_install_tool_cursor (gdisp, GIMP_ZOOM_IN_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_ZOOM_CURSOR,
MAGNIFY,
CURSOR_MODIFIER_PLUS,
FALSE);
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_ZOOM_OUT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_ZOOM_CURSOR,
MAGNIFY,
CURSOR_MODIFIER_MINUS,
FALSE);
}
}

View File

@ -334,7 +334,10 @@ measure_tool_button_press (Tool *tool,
/* set the pointer to the crosshair,
* so one actually sees the cursor position
*/
gdisplay_install_tool_cursor (gdisp, GDK_TCROSS);
gdisplay_install_tool_cursor (gdisp, GIMP_CROSSHAIR_SMALL_CURSOR,
MEASURE,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void
@ -567,7 +570,6 @@ measure_tool_cursor_update (Tool *tool,
GdkEventMotion *mevent,
gpointer gdisp_ptr)
{
GdkCursorType ctype = GDK_TCROSS;
MeasureTool *measure_tool;
GDisplay *gdisp;
gint x[3];
@ -575,6 +577,9 @@ measure_tool_cursor_update (Tool *tool,
gint i;
gboolean in_handle = FALSE;
GdkCursorType ctype = GIMP_CROSSHAIR_SMALL_CURSOR;
CursorModifier cmodifier = CURSOR_MODIFIER_NONE;
gdisp = (GDisplay *) gdisp_ptr;
measure_tool = (MeasureTool *) tool->private;
@ -604,18 +609,27 @@ measure_tool_cursor_update (Tool *tool,
break;
}
ctype = (mevent->state & GDK_SHIFT_MASK) ? GDK_EXCHANGE : GDK_FLEUR;
if (mevent->state & GDK_SHIFT_MASK)
cmodifier = CURSOR_MODIFIER_PLUS;
else
cmodifier = CURSOR_MODIFIER_MOVE;
if (i == 0 && measure_tool->num_points == 3 && ctype == GDK_EXCHANGE)
ctype = GDK_FLEUR;
if (i == 0 && measure_tool->num_points == 3 &&
cmodifier == CURSOR_MODIFIER_PLUS)
cmodifier = CURSOR_MODIFIER_MOVE;
break;
}
}
if (!in_handle && measure_tool->num_points > 1 && mevent->state & GDK_MOD1_MASK)
ctype = GDK_FLEUR;
if (!in_handle && measure_tool->num_points > 1 &&
mevent->state & GDK_MOD1_MASK)
cmodifier = CURSOR_MODIFIER_MOVE;
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
MEASURE,
cmodifier,
FALSE);
}
static void

View File

@ -324,11 +324,17 @@ move_tool_cursor_update (Tool *tool,
if (mevent->state & GDK_MOD1_MASK &&
!gimage_mask_is_empty (gdisp->gimage))
{
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_MOVE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_MOVE,
FALSE);
}
else if (mevent->state & GDK_SHIFT_MASK)
{
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
}
else
{
@ -336,7 +342,10 @@ move_tool_cursor_update (Tool *tool,
(guide = gdisplay_find_guide (gdisp, mevent->x, mevent->y)))
{
tool->gdisp_ptr = gdisp_ptr;
gdisplay_install_tool_cursor (gdisp, GDK_HAND2);
gdisplay_install_tool_cursor (gdisp, GDK_HAND2,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_HAND,
FALSE);
if (tool->state != ACTIVE)
{
@ -358,15 +367,27 @@ move_tool_cursor_update (Tool *tool,
/* if there is a floating selection, and this aint it... */
if (gimage_floating_sel (gdisp->gimage) &&
!layer_is_floating_sel (layer))
gdisplay_install_tool_cursor (gdisp, GDK_SB_DOWN_ARROW);
gdisplay_install_tool_cursor (gdisp, GDK_SB_DOWN_ARROW,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
else if (layer == gdisp->gimage->active_layer)
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
else
gdisplay_install_tool_cursor (gdisp, GDK_HAND2);
gdisplay_install_tool_cursor (gdisp, GDK_HAND2,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_HAND,
FALSE);
}
else
{
gdisplay_install_tool_cursor (gdisp, GDK_TOP_LEFT_ARROW);
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
}
}
}

View File

@ -495,13 +495,13 @@ selection_tool_update_op_state (RectSelect *rect_sel,
if (state & GDK_MOD1_MASK &&
!gimage_mask_is_empty (gdisp->gimage))
{
rect_sel->op = SELECTION_MOVE_MASK; /* move just the selection mask */
rect_sel->op = SELECTION_MOVE_MASK; /* move just the selection mask */
}
else if (!(state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) &&
layer &&
(layer == floating_sel ||
(gdisplay_mask_value (gdisp, x, y) &&
!floating_sel)))
floating_sel == NULL)))
{
rect_sel->op = SELECTION_MOVE; /* move the selection */
}
@ -513,16 +513,16 @@ selection_tool_update_op_state (RectSelect *rect_sel,
else if ((state & GDK_CONTROL_MASK) &&
!(state & GDK_SHIFT_MASK))
{
rect_sel->op = SELECTION_SUB; /* subtract from the selection */
rect_sel->op = SELECTION_SUB; /* subtract from the selection */
}
else if ((state & GDK_CONTROL_MASK) &&
(state & GDK_SHIFT_MASK))
{
rect_sel->op = SELECTION_INTERSECT;/* intersect with selection */
rect_sel->op = SELECTION_INTERSECT; /* intersect with selection */
}
else
{
rect_sel->op = SELECTION_REPLACE; /* replace the selection */
rect_sel->op = SELECTION_REPLACE; /* replace the selection */
}
}
@ -534,7 +534,13 @@ rect_select_oper_update (Tool *tool,
RectSelect *rect_sel;
rect_sel = (RectSelect *) tool->private;
selection_tool_update_op_state (rect_sel, mevent->x, mevent->y,
rect_sel->current_x = mevent->x;
rect_sel->current_y = mevent->y;
selection_tool_update_op_state (rect_sel,
rect_sel->current_x,
rect_sel->current_y,
mevent->state, gdisp_ptr);
}
@ -574,7 +580,8 @@ rect_select_modifier_update (Tool *tool,
rect_sel = (RectSelect *) tool->private;
selection_tool_update_op_state (rect_sel,
rect_sel->current_x, rect_sel->current_y,
rect_sel->current_x,
rect_sel->current_y,
state, gdisp_ptr);
}
@ -592,22 +599,40 @@ rect_select_cursor_update (Tool *tool,
switch (rect_sel->op)
{
case SELECTION_ADD:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_ADD_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
tool->type,
CURSOR_MODIFIER_PLUS,
FALSE);
break;
case SELECTION_SUB:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_SUBTRACT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
tool->type,
CURSOR_MODIFIER_MINUS,
FALSE);
break;
case SELECTION_INTERSECT:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_INTERSECT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
tool->type,
CURSOR_MODIFIER_INTERSECT,
FALSE);
break;
case SELECTION_REPLACE:
gdisplay_install_tool_cursor (gdisp, GDK_TCROSS);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
tool->type,
CURSOR_MODIFIER_NONE,
FALSE);
break;
case SELECTION_MOVE_MASK:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_MOVE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
tool->type,
CURSOR_MODIFIER_MOVE,
FALSE);
break;
case SELECTION_MOVE:
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
break;
}
}

View File

@ -323,31 +323,35 @@ clone_cursor_update (Tool *tool,
if ((layer = gimage_get_active_layer (gdisp->gimage)))
{
int off_x, off_y;
drawable_offsets (GIMP_DRAWABLE(layer), &off_x, &off_y);
drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE(layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE(layer))))
x < (off_x + drawable_width (GIMP_DRAWABLE (layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE (layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GDK_PENCIL;
ctype = GIMP_MOUSE_CURSOR;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GDK_PENCIL;
ctype = GIMP_MOUSE_CURSOR;
}
}
if (clone_options->type == IMAGE_CLONE)
{
if (mevent->state & GDK_CONTROL_MASK)
ctype = GDK_CROSSHAIR;
ctype = GIMP_CROSSHAIR_SMALL_CURSOR;
else if (!src_drawable_)
ctype = GIMP_BAD_CURSOR;
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
ctype == GIMP_CROSSHAIR_SMALL_CURSOR ?
TOOL_TYPE_NONE : CLONE,
CURSOR_MODIFIER_NONE,
FALSE);
}
Tool *

View File

@ -350,17 +350,24 @@ text_cursor_update (Tool *tool,
gdisp = (GDisplay *) gdisp_ptr;
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y, &x, &y, FALSE, FALSE);
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y,
&x, &y, FALSE, FALSE);
if ((layer = gimage_pick_correlate_layer (gdisp->gimage, x, y)))
/* if there is a floating selection, and this aint it... */
if (layer_is_floating_sel (layer))
{
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
return;
}
gdisplay_install_tool_cursor (gdisp, GDK_XTERM);
gdisplay_install_tool_cursor (gdisp, GDK_XTERM,
TEXT,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void

View File

@ -1031,25 +1031,31 @@ ink_cursor_update (Tool *tool,
gdisp = (GDisplay *) gdisp_ptr;
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y, &x, &y, FALSE, FALSE);
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y,
&x, &y, FALSE, FALSE);
if ((layer = gimage_get_active_layer (gdisp->gimage)))
{
int off_x, off_y;
drawable_offsets (GIMP_DRAWABLE(layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE(layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE(layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GDK_PENCIL;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GDK_PENCIL;
}
drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE (layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE (layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GIMP_MOUSE_CURSOR;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GIMP_MOUSE_CURSOR;
}
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
INK,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void

View File

@ -903,11 +903,14 @@ iscissors_oper_update (Tool *tool,
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y,
&x, &y, FALSE, FALSE);
if (mouse_over_vertex (iscissors, x, y) ||
mouse_over_curve (iscissors, x, y))
if (mouse_over_vertex (iscissors, x, y))
{
iscissors->op = SELECTION_MOVE_MASK; /* abused */
}
else if (mouse_over_curve (iscissors, x, y))
{
iscissors->op = SELECTION_MOVE; /* abused */
}
else if (iscissors->connected && iscissors->mask &&
channel_value (iscissors->mask, x, y))
{
@ -931,11 +934,11 @@ iscissors_oper_update (Tool *tool,
}
else if (iscissors->connected && iscissors->mask)
{
iscissors->op = SELECTION_MOVE; /* abused */
iscissors->op = -1;
}
else
{
iscissors->op = -1;
iscissors->op = -2;
}
}
@ -951,7 +954,7 @@ iscissors_modifier_update (Tool *tool,
op = iscissors->op;
if (op == -1)
if (op == -2)
return;
switch (kevent->keyval)
@ -993,41 +996,66 @@ iscissors_cursor_update (Tool *tool,
iscissors = (Iscissors *) tool->private;
gdisp = (GDisplay *) gdisp_ptr;
if (iscissors->op != -1)
{
switch (iscissors->op)
{
case SELECTION_ADD:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_ADD_CURSOR);
break;
case SELECTION_SUB:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_SUBTRACT_CURSOR);
break;
case SELECTION_INTERSECT:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_INTERSECT_CURSOR);
break;
case SELECTION_MOVE_MASK: /* abused */
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_POINT_CURSOR);
break;
case SELECTION_MOVE: /* abused */
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR);
break;
default:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_CURSOR);
break;
}
}
else
switch (iscissors->op)
{
case SELECTION_REPLACE:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_NONE,
FALSE);
break;
case SELECTION_ADD:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_PLUS,
FALSE);
break;
case SELECTION_SUB:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_MINUS,
FALSE);
break;
case SELECTION_INTERSECT:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_INTERSECT,
FALSE);
break;
case SELECTION_MOVE_MASK: /* abused */
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
ISCISSORS,
CURSOR_MODIFIER_MOVE,
FALSE);
break;
case SELECTION_MOVE: /* abused */
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
ISCISSORS,
CURSOR_MODIFIER_PLUS,
FALSE);
break;
case -1:
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
ISCISSORS,
CURSOR_MODIFIER_NONE,
FALSE);
break;
default:
switch (iscissors->state)
{
case WAITING:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_POINT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
ISCISSORS,
CURSOR_MODIFIER_PLUS,
FALSE);
break;
case SEED_PLACEMENT:
case SEED_ADJUSTMENT:
default:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
ISCISSORS,
CURSOR_MODIFIER_NONE,
FALSE);
break;
}
}

View File

@ -344,11 +344,17 @@ magnify_cursor_update (Tool *tool,
if (magnify_options->type == ZOOMIN)
{
gdisplay_install_tool_cursor (gdisp, GIMP_ZOOM_IN_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_ZOOM_CURSOR,
MAGNIFY,
CURSOR_MODIFIER_PLUS,
FALSE);
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_ZOOM_OUT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_ZOOM_CURSOR,
MAGNIFY,
CURSOR_MODIFIER_MINUS,
FALSE);
}
}

View File

@ -334,7 +334,10 @@ measure_tool_button_press (Tool *tool,
/* set the pointer to the crosshair,
* so one actually sees the cursor position
*/
gdisplay_install_tool_cursor (gdisp, GDK_TCROSS);
gdisplay_install_tool_cursor (gdisp, GIMP_CROSSHAIR_SMALL_CURSOR,
MEASURE,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void
@ -567,7 +570,6 @@ measure_tool_cursor_update (Tool *tool,
GdkEventMotion *mevent,
gpointer gdisp_ptr)
{
GdkCursorType ctype = GDK_TCROSS;
MeasureTool *measure_tool;
GDisplay *gdisp;
gint x[3];
@ -575,6 +577,9 @@ measure_tool_cursor_update (Tool *tool,
gint i;
gboolean in_handle = FALSE;
GdkCursorType ctype = GIMP_CROSSHAIR_SMALL_CURSOR;
CursorModifier cmodifier = CURSOR_MODIFIER_NONE;
gdisp = (GDisplay *) gdisp_ptr;
measure_tool = (MeasureTool *) tool->private;
@ -604,18 +609,27 @@ measure_tool_cursor_update (Tool *tool,
break;
}
ctype = (mevent->state & GDK_SHIFT_MASK) ? GDK_EXCHANGE : GDK_FLEUR;
if (mevent->state & GDK_SHIFT_MASK)
cmodifier = CURSOR_MODIFIER_PLUS;
else
cmodifier = CURSOR_MODIFIER_MOVE;
if (i == 0 && measure_tool->num_points == 3 && ctype == GDK_EXCHANGE)
ctype = GDK_FLEUR;
if (i == 0 && measure_tool->num_points == 3 &&
cmodifier == CURSOR_MODIFIER_PLUS)
cmodifier = CURSOR_MODIFIER_MOVE;
break;
}
}
if (!in_handle && measure_tool->num_points > 1 && mevent->state & GDK_MOD1_MASK)
ctype = GDK_FLEUR;
if (!in_handle && measure_tool->num_points > 1 &&
mevent->state & GDK_MOD1_MASK)
cmodifier = CURSOR_MODIFIER_MOVE;
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
MEASURE,
cmodifier,
FALSE);
}
static void

View File

@ -324,11 +324,17 @@ move_tool_cursor_update (Tool *tool,
if (mevent->state & GDK_MOD1_MASK &&
!gimage_mask_is_empty (gdisp->gimage))
{
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_MOVE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
RECT_SELECT,
CURSOR_MODIFIER_MOVE,
FALSE);
}
else if (mevent->state & GDK_SHIFT_MASK)
{
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
}
else
{
@ -336,7 +342,10 @@ move_tool_cursor_update (Tool *tool,
(guide = gdisplay_find_guide (gdisp, mevent->x, mevent->y)))
{
tool->gdisp_ptr = gdisp_ptr;
gdisplay_install_tool_cursor (gdisp, GDK_HAND2);
gdisplay_install_tool_cursor (gdisp, GDK_HAND2,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_HAND,
FALSE);
if (tool->state != ACTIVE)
{
@ -358,15 +367,27 @@ move_tool_cursor_update (Tool *tool,
/* if there is a floating selection, and this aint it... */
if (gimage_floating_sel (gdisp->gimage) &&
!layer_is_floating_sel (layer))
gdisplay_install_tool_cursor (gdisp, GDK_SB_DOWN_ARROW);
gdisplay_install_tool_cursor (gdisp, GDK_SB_DOWN_ARROW,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
else if (layer == gdisp->gimage->active_layer)
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
else
gdisplay_install_tool_cursor (gdisp, GDK_HAND2);
gdisplay_install_tool_cursor (gdisp, GDK_HAND2,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_HAND,
FALSE);
}
else
{
gdisplay_install_tool_cursor (gdisp, GDK_TOP_LEFT_ARROW);
gdisplay_install_tool_cursor (gdisp, GIMP_BAD_CURSOR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
}
}
}

View File

@ -457,7 +457,10 @@ paint_core_cursor_update (Tool *tool,
PaintCore *paint_core;
gint x, y;
gchar status_str[STATUSBAR_SIZE];
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
CursorModifier cmodifier = CURSOR_MODIFIER_NONE;
gboolean ctoggle = FALSE;
gdisp = (GDisplay *) gdisp_ptr;
paint_core = (PaintCore *) tool->private;
@ -544,7 +547,9 @@ paint_core_cursor_update (Tool *tool,
paint_core->context_id, status_str);
if (paint_core->core->gc == NULL)
draw_core_start (paint_core->core, gdisp->canvas->window, tool);
{
draw_core_start (paint_core->core, gdisp->canvas->window, tool);
}
else
{
/* is this a bad hack ? */
@ -559,30 +564,57 @@ paint_core_cursor_update (Tool *tool,
{
ctype = GIMP_COLOR_PICKER_CURSOR;
}
/* Set toggle cursors for various paint tools */
else if (!(mevent->state & GDK_SHIFT_MASK) &&
(mevent->state & GDK_CONTROL_MASK))
{
switch (tool->type)
{
case ERASER:
ctype = GIMP_MOUSE_CURSOR;
cmodifier = CURSOR_MODIFIER_MINUS;
break;
case CONVOLVE:
ctype = GIMP_MOUSE_CURSOR;
cmodifier = CURSOR_MODIFIER_MINUS;
break;
case DODGEBURN:
ctype = GIMP_MOUSE_CURSOR;
ctoggle = TRUE;
break;
default:
ctype = GIMP_MOUSE_CURSOR;
break;
}
}
/* Normal operation -- no modifier pressed or first stroke */
else
{
gint off_x, off_y;
drawable_offsets (GIMP_DRAWABLE(layer), &off_x, &off_y);
drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
gdisplay_untransform_coords (gdisp,
(double) mevent->x, (double) mevent->y,
&x, &y, TRUE, FALSE);
if (x >= off_x && y >= off_y &&
x < (off_x + drawable_width (GIMP_DRAWABLE(layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE(layer))))
x < (off_x + drawable_width (GIMP_DRAWABLE (layer))) &&
y < (off_y + drawable_height (GIMP_DRAWABLE (layer))))
{
/* One more test--is there a selected region?
* if so, is cursor inside?
*/
if (gimage_mask_is_empty (gdisp->gimage))
ctype = GDK_PENCIL;
ctype = GIMP_MOUSE_CURSOR;
else if (gimage_mask_value (gdisp->gimage, x, y))
ctype = GDK_PENCIL;
ctype = GIMP_MOUSE_CURSOR;
}
}
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
ctype == GIMP_COLOR_PICKER_CURSOR ?
COLOR_PICKER : tool->type,
cmodifier,
ctoggle);
}
}

View File

@ -495,13 +495,13 @@ selection_tool_update_op_state (RectSelect *rect_sel,
if (state & GDK_MOD1_MASK &&
!gimage_mask_is_empty (gdisp->gimage))
{
rect_sel->op = SELECTION_MOVE_MASK; /* move just the selection mask */
rect_sel->op = SELECTION_MOVE_MASK; /* move just the selection mask */
}
else if (!(state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) &&
layer &&
(layer == floating_sel ||
(gdisplay_mask_value (gdisp, x, y) &&
!floating_sel)))
floating_sel == NULL)))
{
rect_sel->op = SELECTION_MOVE; /* move the selection */
}
@ -513,16 +513,16 @@ selection_tool_update_op_state (RectSelect *rect_sel,
else if ((state & GDK_CONTROL_MASK) &&
!(state & GDK_SHIFT_MASK))
{
rect_sel->op = SELECTION_SUB; /* subtract from the selection */
rect_sel->op = SELECTION_SUB; /* subtract from the selection */
}
else if ((state & GDK_CONTROL_MASK) &&
(state & GDK_SHIFT_MASK))
{
rect_sel->op = SELECTION_INTERSECT;/* intersect with selection */
rect_sel->op = SELECTION_INTERSECT; /* intersect with selection */
}
else
{
rect_sel->op = SELECTION_REPLACE; /* replace the selection */
rect_sel->op = SELECTION_REPLACE; /* replace the selection */
}
}
@ -534,7 +534,13 @@ rect_select_oper_update (Tool *tool,
RectSelect *rect_sel;
rect_sel = (RectSelect *) tool->private;
selection_tool_update_op_state (rect_sel, mevent->x, mevent->y,
rect_sel->current_x = mevent->x;
rect_sel->current_y = mevent->y;
selection_tool_update_op_state (rect_sel,
rect_sel->current_x,
rect_sel->current_y,
mevent->state, gdisp_ptr);
}
@ -574,7 +580,8 @@ rect_select_modifier_update (Tool *tool,
rect_sel = (RectSelect *) tool->private;
selection_tool_update_op_state (rect_sel,
rect_sel->current_x, rect_sel->current_y,
rect_sel->current_x,
rect_sel->current_y,
state, gdisp_ptr);
}
@ -592,22 +599,40 @@ rect_select_cursor_update (Tool *tool,
switch (rect_sel->op)
{
case SELECTION_ADD:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_ADD_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
tool->type,
CURSOR_MODIFIER_PLUS,
FALSE);
break;
case SELECTION_SUB:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_SUBTRACT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
tool->type,
CURSOR_MODIFIER_MINUS,
FALSE);
break;
case SELECTION_INTERSECT:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_INTERSECT_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
tool->type,
CURSOR_MODIFIER_INTERSECT,
FALSE);
break;
case SELECTION_REPLACE:
gdisplay_install_tool_cursor (gdisp, GDK_TCROSS);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
tool->type,
CURSOR_MODIFIER_NONE,
FALSE);
break;
case SELECTION_MOVE_MASK:
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_MOVE_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
tool->type,
CURSOR_MODIFIER_MOVE,
FALSE);
break;
case SELECTION_MOVE:
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
break;
}
}

View File

@ -350,17 +350,24 @@ text_cursor_update (Tool *tool,
gdisp = (GDisplay *) gdisp_ptr;
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y, &x, &y, FALSE, FALSE);
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y,
&x, &y, FALSE, FALSE);
if ((layer = gimage_pick_correlate_layer (gdisp->gimage, x, y)))
/* if there is a floating selection, and this aint it... */
if (layer_is_floating_sel (layer))
{
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR);
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR,
MOVE,
CURSOR_MODIFIER_NONE,
FALSE);
return;
}
gdisplay_install_tool_cursor (gdisp, GDK_XTERM);
gdisplay_install_tool_cursor (gdisp, GDK_XTERM,
TEXT,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void

View File

@ -74,20 +74,52 @@
#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/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"
/* Global Data */
@ -234,8 +266,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
bezier_select_small_bits, bezier_select_small_mask_bits,
bezier_select_small_width, bezier_select_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -262,8 +294,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
scissors_small_bits, scissors_small_mask_bits,
scissors_small_width, scissors_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -290,8 +322,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
move_small_bits, move_small_mask_bits,
move_small_width, move_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -486,13 +518,13 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
flip_horizontal_small_bits, flip_horizontal_small_mask_bits,
flip_horizontal_small_width, flip_horizontal_small_height,
0, 0, NULL, NULL, NULL
},
{
NULL, NULL,
0, 0,
flip_vertical_small_bits, flip_vertical_small_mask_bits,
flip_vertical_small_width, flip_vertical_small_height,
0, 0, NULL, NULL, NULL
}
},
@ -514,8 +546,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
text_small_bits, text_small_mask_bits,
text_small_width, text_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -542,8 +574,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
dropper_small_bits, dropper_small_mask_bits,
dropper_small_width, dropper_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -598,8 +630,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
blend_small_bits, blend_small_mask_bits,
blend_small_width, blend_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -710,8 +742,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
airbrush_small_bits, airbrush_small_mask_bits,
airbrush_small_width, airbrush_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -738,8 +770,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
clone_small_bits, clone_small_mask_bits,
clone_small_width, clone_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -766,8 +798,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
blur_small_bits, blur_small_mask_bits,
blur_small_width, blur_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -794,8 +826,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
ink_small_bits, ink_small_mask_bits,
ink_small_width, ink_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -822,13 +854,13 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
dodge_small_bits, dodge_small_mask_bits,
dodge_small_width, dodge_small_height,
0, 0, NULL, NULL, NULL
},
{
NULL, NULL,
0, 0,
burn_small_bits, burn_small_mask_bits,
burn_small_width, burn_small_height,
0, 0, NULL, NULL, NULL
}
},
@ -850,8 +882,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
smudge_small_bits, smudge_small_mask_bits,
smudge_small_width, smudge_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -908,8 +940,8 @@ ToolInfo tool_info[] =
NULL,
NULL,
{
NULL, NULL,
0, 0,
measure_small_bits, measure_small_mask_bits,
measure_small_width, measure_small_height,
0, 0, NULL, NULL, NULL
},
{
@ -1388,7 +1420,10 @@ standard_cursor_update_func (Tool *tool,
GDisplay *gdisp;
gdisp = (GDisplay *) gdisp_ptr;
gdisplay_install_tool_cursor (gdisp, GDK_TOP_LEFT_ARROW);
gdisplay_install_tool_cursor (gdisp, GDK_TOP_LEFT_ARROW,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
}
static void
@ -1397,6 +1432,7 @@ standard_operator_update_func (Tool *tool,
gpointer gdisp_ptr)
{
}
static void
standard_control_func (Tool *tool,
ToolAction action,

View File

@ -694,7 +694,10 @@ transform_core_cursor_update (Tool *tool,
else if (use_bad_cursor)
ctype = GIMP_BAD_CURSOR;
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
}
void

View File

@ -694,7 +694,10 @@ transform_core_cursor_update (Tool *tool,
else if (use_bad_cursor)
ctype = GIMP_BAD_CURSOR;
gdisplay_install_tool_cursor (gdisp, ctype);
gdisplay_install_tool_cursor (gdisp, ctype,
TOOL_TYPE_NONE,
CURSOR_MODIFIER_NONE,
FALSE);
}
void

View File

@ -744,6 +744,7 @@ user_install_dialog_create (UserInstallCallback callback)
PAGE_STYLE (ctree);
gtk_ctree_set_indent (GTK_CTREE (ctree), 12);
gtk_clist_set_shadow_type (GTK_CLIST (ctree), GTK_SHADOW_NONE);
gtk_clist_set_selection_mode (GTK_CLIST (ctree), GTK_SELECTION_BROWSE);
gtk_box_pack_start (GTK_BOX (hbox), ctree, FALSE, FALSE, 0);
gtk_widget_show (ctree);

View File

@ -27,42 +27,12 @@
#include "cursors/crosshair_mask.xbm"
#include "cursors/crosshair_small.xbm"
#include "cursors/crosshair_small_mask.xbm"
/* stuff to be reordered */
#include "cursors/zoom.xbm"
#include "cursors/zoom_mask.xbm"
/* old stuff */
#include "cursors/mouse_add.xbm"
#include "cursors/mouse_add_mask.xbm"
#include "cursors/mouse_subtract.xbm"
#include "cursors/mouse_subtract_mask.xbm"
#include "cursors/mouse_intersect.xbm"
#include "cursors/mouse_intersect_mask.xbm"
#include "cursors/mouse_point.xbm"
#include "cursors/mouse_point_mask.xbm"
#include "cursors/mouse_rectangle.xbm"
#include "cursors/mouse_rectangle_mask.xbm"
#include "cursors/mouse_move.xbm"
#include "cursors/mouse_move_mask.xbm"
#include "cursors/selection.xbm"
#include "cursors/selection_mask.xbm"
#include "cursors/selection_add.xbm"
#include "cursors/selection_add_mask.xbm"
#include "cursors/selection_subtract.xbm"
#include "cursors/selection_subtract_mask.xbm"
#include "cursors/selection_intersect.xbm"
#include "cursors/selection_intersect_mask.xbm"
#include "cursors/selection_move.xbm"
#include "cursors/selection_move_mask.xbm"
#include "cursors/bad.xbm"
#include "cursors/bad_mask.xbm"
#include "cursors/zoom.xbm"
#include "cursors/zoom_mask.xbm"
#include "cursors/dropper.xbm"
#include "cursors/dropper_mask.xbm"
#include "cursors/zoom_in.xbm"
#include "cursors/zoom_in_mask.xbm"
#include "cursors/zoom_out.xbm"
#include "cursors/zoom_out_mask.xbm"
/* modifiers */
#include "cursors/plus.xbm"
@ -73,6 +43,12 @@
#include "cursors/intersect_mask.xbm"
#include "cursors/move.xbm"
#include "cursors/move_mask.xbm"
#include "cursors/resize.xbm"
#include "cursors/resize_mask.xbm"
#include "cursors/control.xbm"
#include "cursors/control_mask.xbm"
#include "cursors/hand.xbm"
#include "cursors/hand_mask.xbm"
/* FIXME: gimp_busy HACK */
@ -96,89 +72,20 @@ static BitmapCursor gimp_cursors[] =
crosshair_small_width, crosshair_small_height,
crosshair_small_x_hot, crosshair_small_y_hot, NULL, NULL, NULL
},
/* to be reordered */
{
zoom_bits, zoom_mask_bits,
zoom_width, zoom_height,
zoom_x_hot, zoom_y_hot, NULL, NULL, NULL
},
/* to be removed */
{
mouse_add_bits, mouse_add_mask_bits,
mouse_add_width, mouse_add_height,
mouse_add_x_hot, mouse_add_y_hot, NULL, NULL, NULL
},
{
mouse_subtract_bits, mouse_subtract_mask_bits,
mouse_subtract_width, mouse_subtract_height,
mouse_subtract_x_hot, mouse_subtract_y_hot, NULL, NULL, NULL
},
{
mouse_intersect_bits, mouse_intersect_mask_bits,
mouse_intersect_width, mouse_intersect_height,
mouse_intersect_x_hot, mouse_intersect_y_hot, NULL, NULL, NULL
},
{
mouse_point_bits, mouse_point_mask_bits,
mouse_point_width, mouse_point_height,
mouse_point_x_hot, mouse_point_y_hot, NULL, NULL, NULL
},
{
mouse_rectangle_bits, mouse_rectangle_mask_bits,
mouse_rectangle_width, mouse_rectangle_height,
mouse_rectangle_x_hot, mouse_rectangle_y_hot, NULL, NULL, NULL
},
{
mouse_move_bits, mouse_move_mask_bits,
mouse_move_width, mouse_move_height,
mouse_move_x_hot, mouse_move_y_hot, NULL, NULL, NULL
},
{
selection_bits, selection_mask_bits,
selection_width, selection_height,
selection_x_hot, selection_y_hot, NULL, NULL, NULL
},
{
selection_add_bits, selection_add_mask_bits,
selection_add_width, selection_add_height,
selection_add_x_hot, selection_add_y_hot, NULL, NULL, NULL
},
{
selection_subtract_bits, selection_subtract_mask_bits,
selection_subtract_width, selection_subtract_height,
selection_subtract_x_hot, selection_subtract_y_hot, NULL, NULL, NULL
},
{
selection_intersect_bits, selection_intersect_mask_bits,
selection_intersect_width, selection_intersect_height,
selection_intersect_x_hot, selection_intersect_y_hot, NULL, NULL, NULL
},
{
selection_move_bits, selection_move_mask_bits,
selection_move_width, selection_move_height,
selection_move_x_hot, selection_move_y_hot, NULL, NULL, NULL
},
{
bad_bits, bad_mask_bits,
bad_width, bad_height,
bad_x_hot, bad_y_hot, NULL, NULL, NULL
},
{
zoom_bits, zoom_mask_bits,
zoom_width, zoom_height,
zoom_x_hot, zoom_y_hot, NULL, NULL, NULL
},
{
dropper_bits, dropper_mask_bits,
dropper_width, dropper_height,
dropper_x_hot, dropper_y_hot, NULL, NULL, NULL
},
{
zoom_in_bits, zoom_in_mask_bits,
zoom_in_width, zoom_in_height,
zoom_in_x_hot, zoom_in_y_hot, NULL, NULL, NULL
},
{
zoom_out_bits, zoom_out_mask_bits,
zoom_out_width, zoom_out_height,
zoom_out_x_hot, zoom_out_y_hot, NULL, NULL, NULL
}
};
@ -187,7 +94,10 @@ enum
GIMP_PLUS_CURSOR = GIMP_LAST_CURSOR_ENTRY + 1,
GIMP_MINUS_CURSOR,
GIMP_INTERSECT_CURSOR,
GIMP_MOVE_CURSOR
GIMP_MOVE_CURSOR,
GIMP_RESIZE_CURSOR,
GIMP_CONTROL_CURSOR,
GIMP_HAND_CURSOR
};
static BitmapCursor modifier_cursors[] =
@ -212,6 +122,21 @@ static BitmapCursor modifier_cursors[] =
move_bits, move_mask_bits,
move_width, move_height,
move_x_hot, move_y_hot, NULL, NULL, NULL
},
{
resize_bits, resize_mask_bits,
resize_width, resize_height,
resize_x_hot, resize_y_hot, NULL, NULL, NULL
},
{
control_bits, control_mask_bits,
control_width, control_height,
control_x_hot, control_y_hot, NULL, NULL, NULL
},
{
hand_bits, hand_mask_bits,
hand_width, hand_height,
hand_x_hot, hand_y_hot, NULL, NULL, NULL
}
};
@ -288,11 +213,12 @@ gimp_change_win_cursor (GdkWindow *win,
g_return_if_fail (curtype < GIMP_LAST_CURSOR_ENTRY);
/* allow the small tool cursor only with the standard mouse and
* the small crosshair
/* allow the small tool cursor only with the standard mouse,
* the small crosshair and the bad cursor
*/
if (curtype != GIMP_MOUSE_CURSOR &&
curtype != GIMP_CROSSHAIR_SMALL_CURSOR)
curtype != GIMP_CROSSHAIR_SMALL_CURSOR &&
curtype != GIMP_BAD_CURSOR)
tool_type = TOOL_TYPE_NONE;
curtype -= GIMP_MOUSE_CURSOR;
@ -323,6 +249,15 @@ gimp_change_win_cursor (GdkWindow *win,
case CURSOR_MODIFIER_MOVE:
modtype = GIMP_MOVE_CURSOR;
break;
case CURSOR_MODIFIER_RESIZE:
modtype = GIMP_RESIZE_CURSOR;
break;
case CURSOR_MODIFIER_CONTROL:
modtype = GIMP_CONTROL_CURSOR;
break;
case CURSOR_MODIFIER_HAND:
modtype = GIMP_HAND_CURSOR;
break;
default:
break;
}
@ -353,11 +288,12 @@ gimp_change_win_cursor (GdkWindow *win,
bmcursor->mask == NULL)
create_cursor_bitmaps (bmcursor);
if (bmmodifier->bitmap == NULL ||
bmmodifier->mask == NULL)
if (bmmodifier &&
(bmmodifier->bitmap == NULL ||
bmmodifier->mask == NULL))
create_cursor_bitmaps (bmmodifier);
if (bmtool &&
if (bmtool &&
(bmtool->bitmap == NULL ||
bmtool->mask == NULL))
create_cursor_bitmaps (bmtool);
@ -435,7 +371,9 @@ change_win_cursor (GdkWindow *win,
if (cursortype > GDK_LAST_CURSOR)
{
gimp_change_win_cursor (win, (GimpCursorType) cursortype,
tool_type, modifier, toggle_cursor);
tool_type,
modifier,
toggle_cursor);
return;
}

View File

@ -55,40 +55,26 @@ typedef enum
CURSOR_MODIFIER_PLUS,
CURSOR_MODIFIER_MINUS,
CURSOR_MODIFIER_INTERSECT,
CURSOR_MODIFIER_MOVE
CURSOR_MODIFIER_MOVE,
CURSOR_MODIFIER_RESIZE,
CURSOR_MODIFIER_CONTROL,
CURSOR_MODIFIER_HAND
} CursorModifier;
/* FIXME: gimp_busy HACK */
extern gboolean gimp_busy;
typedef enum
{
GIMP_MOUSE_CURSOR = (GDK_LAST_CURSOR + 2),
GIMP_CROSSHAIR_CURSOR,
GIMP_CROSSHAIR_SMALL_CURSOR,
/* to be reordered */
GIMP_ZOOM_CURSOR,
/* to be reordered / removed: */
GIMP_MOUSE_ADD_CURSOR,
GIMP_MOUSE_SUBTRACT_CURSOR,
GIMP_MOUSE_INTERSECT_CURSOR,
GIMP_MOUSE_POINT_CURSOR,
GIMP_MOUSE_RECTANGLE_CURSOR,
GIMP_MOUSE_MOVE_CURSOR,
GIMP_SELECTION_CURSOR,
GIMP_SELECTION_ADD_CURSOR,
GIMP_SELECTION_SUBTRACT_CURSOR,
GIMP_SELECTION_INTERSECT_CURSOR,
GIMP_SELECTION_MOVE_CURSOR,
GIMP_BAD_CURSOR,
GIMP_ZOOM_CURSOR,
GIMP_COLOR_PICKER_CURSOR,
GIMP_ZOOM_IN_CURSOR,
GIMP_ZOOM_OUT_CURSOR,
GIMP_LAST_CURSOR_ENTRY
} GimpCursorType;
/* FIXME: gimp_busy HACK */
extern gboolean gimp_busy;
void change_win_cursor (GdkWindow *win,
GdkCursorType curtype,
ToolType tool_type,

View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define airbrush_small_width 32
#define airbrush_small_height 32
#define airbrush_small_x_hot 0
#define airbrush_small_y_hot 0
static unsigned char airbrush_small_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x78,
0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x18, 0x1f,
0x00, 0x00, 0x8c, 0x0e, 0x00, 0x00, 0x5e, 0x06, 0x00, 0x00, 0x3a, 0x03,
0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0xc8, 0x60, 0x00, 0x00, 0x64, 0x10,
0x00, 0x00, 0xb2, 0x10, 0x00, 0x00, 0x9a, 0x10, 0x00, 0x00, 0x0f, 0x09,
0x00, 0x00, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00 };

View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define airbrush_small_mask_width 32
#define airbrush_small_mask_height 32
#define airbrush_small_mask_x_hot 0
#define airbrush_small_mask_y_hot 0
static unsigned char airbrush_small_mask_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0xfc,
0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x18, 0x7f, 0x00, 0x00, 0xbc, 0x3f,
0x00, 0x00, 0xde, 0x1f, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0xff, 0x07,
0x00, 0x00, 0xfa, 0x63, 0x00, 0x00, 0xfc, 0xf1, 0x00, 0x00, 0xfe, 0x78,
0x00, 0x00, 0xff, 0x39, 0x00, 0x00, 0xff, 0x39, 0x00, 0x80, 0x9f, 0x1f,
0x00, 0x80, 0x0f, 0x0f, 0x00, 0x80, 0x03, 0x06 };

View File

@ -1,9 +1,17 @@
/* Created with The GIMP */
#define bad_width 16
#define bad_height 16
#define bad_x_hot 8
#define bad_y_hot 8
static char bad_bits[] = {
0x00, 0x00, 0xe0, 0x07, 0xf8, 0x1f, 0x1c, 0x38, 0x0c, 0x3c, 0x06, 0x6e,
0x06, 0x67, 0x86, 0x63, 0xc6, 0x61, 0xe6, 0x60, 0x76, 0x60, 0x3c, 0x30,
0x1c, 0x38, 0xf8, 0x1f, 0xe0, 0x07, 0x00, 0x00 };
#define bad_width 32
#define bad_height 32
#define bad_x_hot 10
#define bad_y_hot 10
static unsigned char bad_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x1f, 0x00, 0x00, 0xe0, 0x7f, 0x00, 0x00, 0x70, 0xe0, 0x00, 0x00,
0x30, 0xf0, 0x00, 0x00, 0x18, 0xb8, 0x01, 0x00, 0x18, 0x9c, 0x01, 0x00,
0x18, 0x8e, 0x01, 0x00, 0x18, 0x87, 0x01, 0x00, 0x98, 0x83, 0x01, 0x00,
0xd8, 0x81, 0x01, 0x00, 0xf0, 0xc0, 0x00, 0x00, 0x70, 0xe0, 0x00, 0x00,
0xe0, 0x7f, 0x00, 0x00, 0x80, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

View File

@ -1,7 +1,17 @@
/* Created with The GIMP */
#define bad_mask_width 16
#define bad_mask_height 16
static char bad_mask_bits[] = {
0xf0, 0x0f, 0xfc, 0x3f, 0xfe, 0x7f, 0xfe, 0x7f, 0x3f, 0xff, 0x9f, 0xff,
0xcf, 0xff, 0xef, 0xff, 0xff, 0xf7, 0xff, 0xf3, 0xff, 0xf9, 0xff, 0xfc,
0xfe, 0x7f, 0xfe, 0x7f, 0xfc, 0x3f, 0xf0, 0x0f };
#define bad_mask_width 32
#define bad_mask_height 32
#define bad_mask_x_hot 10
#define bad_mask_y_hot 10
static unsigned char bad_mask_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1f, 0x00, 0x00,
0xe0, 0x7f, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf8, 0xff, 0x01, 0x00,
0x78, 0xf8, 0x01, 0x00, 0x3c, 0xfc, 0x03, 0x00, 0x3c, 0xfe, 0x03, 0x00,
0x3c, 0xdf, 0x03, 0x00, 0xbc, 0xcf, 0x03, 0x00, 0xfc, 0xc7, 0x03, 0x00,
0xfc, 0xc3, 0x03, 0x00, 0xf8, 0xe1, 0x01, 0x00, 0xf8, 0xff, 0x01, 0x00,
0xf0, 0xff, 0x00, 0x00, 0xe0, 0x7f, 0x00, 0x00, 0x80, 0x1f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define bezier_select_small_width 32
#define bezier_select_small_height 32
#define bezier_select_small_x_hot 0
#define bezier_select_small_y_hot 0
static unsigned char bezier_select_small_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03,
0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x10, 0x10,
0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x38, 0x20,
0x00, 0x00, 0x7c, 0x20, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00,
0x00, 0x08, 0x38, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00,
0x00, 0x10, 0x10, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x40, 0x04, 0x00,
0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 };

View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define bezier_select_small_mask_width 32
#define bezier_select_small_mask_height 32
#define bezier_select_small_mask_x_hot 0
#define bezier_select_small_mask_y_hot 0
static unsigned char bezier_select_small_mask_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0xc0, 0x07,
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x70, 0x1c, 0x00, 0x00, 0x38, 0x38,
0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x38, 0x70, 0x00, 0x00, 0x7c, 0x70,
0x00, 0x00, 0xfe, 0x70, 0x00, 0x00, 0xfe, 0x20, 0x00, 0x08, 0xfe, 0x00,
0x00, 0x1c, 0x7c, 0x00, 0x00, 0x1c, 0x38, 0x00, 0x00, 0x38, 0x38, 0x00,
0x00, 0x38, 0x38, 0x00, 0x00, 0x70, 0x1c, 0x00, 0x00, 0xe0, 0x0f, 0x00,
0x00, 0xc0, 0x07, 0x00, 0x00, 0x80, 0x03, 0x00 };

17
cursors/blend_small.xbm Normal file
View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define blend_small_width 32
#define blend_small_height 32
#define blend_small_x_hot 0
#define blend_small_y_hot 0
static unsigned char blend_small_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f,
0x00, 0x00, 0xbe, 0x42, 0x00, 0x00, 0x56, 0x55, 0x00, 0x00, 0xbe, 0x42,
0x00, 0x00, 0x6e, 0x49, 0x00, 0x00, 0xbe, 0x42, 0x00, 0x00, 0x56, 0x55,
0x00, 0x00, 0xbe, 0x42, 0x00, 0x00, 0x6e, 0x49, 0x00, 0x00, 0xbe, 0x42,
0x00, 0x00, 0x56, 0x55, 0x00, 0x00, 0xbe, 0x42, 0x00, 0x00, 0xfe, 0x7f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define blend_small_mask_width 32
#define blend_small_mask_height 32
#define blend_small_mask_x_hot 0
#define blend_small_mask_y_hot 0
static unsigned char blend_small_mask_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff,
0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff,
0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff,
0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff,
0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff,
0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 };

17
cursors/blur_small.xbm Normal file
View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define blur_small_width 32
#define blur_small_height 32
#define blur_small_x_hot 10
#define blur_small_y_hot 10
static unsigned char blur_small_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05,
0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x80, 0x18,
0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x20, 0x28, 0x00, 0x00, 0x20, 0x60,
0x00, 0x00, 0x10, 0x54, 0x00, 0x00, 0x10, 0x69, 0x00, 0x00, 0x50, 0x52,
0x00, 0x00, 0x90, 0x68, 0x00, 0x00, 0x20, 0x35, 0x00, 0x00, 0x40, 0x1a,
0x00, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x00, 0x00 };

View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define blur_small_mask_width 32
#define blur_small_mask_height 32
#define blur_small_mask_x_hot 10
#define blur_small_mask_y_hot 10
static unsigned char blur_small_mask_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x80, 0x0f,
0x00, 0x00, 0x80, 0x1f, 0x00, 0x00, 0xc0, 0x1f, 0x00, 0x00, 0xc0, 0x3f,
0x00, 0x00, 0xe0, 0x3f, 0x00, 0x00, 0xf0, 0x7f, 0x00, 0x00, 0xf0, 0xff,
0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0xf8, 0xff,
0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0xf0, 0x7f, 0x00, 0x00, 0xe0, 0x3f,
0x00, 0x00, 0xc0, 0x1f, 0x00, 0x00, 0x80, 0x0f };

17
cursors/burn_small.xbm Normal file
View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define burn_small_width 32
#define burn_small_height 32
#define burn_small_x_hot 10
#define burn_small_y_hot 10
static unsigned char burn_small_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, 0x7c, 0x7c,
0x00, 0x00, 0x1c, 0x70, 0x00, 0x00, 0x1c, 0x70, 0x00, 0x00, 0x0c, 0x60,
0x00, 0x00, 0x0c, 0x60, 0x00, 0x00, 0x0c, 0x60, 0x00, 0x00, 0x1c, 0x70,
0x00, 0x00, 0x1c, 0x70, 0x00, 0x00, 0x7c, 0x7c, 0x00, 0x00, 0xfc, 0x7f,
0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, 0x00, 0x00 };

View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define burn_small_mask_width 32
#define burn_small_mask_height 32
#define burn_small_mask_x_hot 10
#define burn_small_mask_y_hot 10
static unsigned char burn_small_mask_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff,
0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xff,
0x00, 0x00, 0x7e, 0xfc, 0x00, 0x00, 0x3e, 0xf8, 0x00, 0x00, 0x1e, 0xf0,
0x00, 0x00, 0x1e, 0xf0, 0x00, 0x00, 0x1e, 0xf0, 0x00, 0x00, 0x3e, 0xf8,
0x00, 0x00, 0x7e, 0xfc, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xff,
0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xff };

17
cursors/clone_small.xbm Normal file
View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define clone_small_width 32
#define clone_small_height 32
#define clone_small_x_hot 0
#define clone_small_y_hot 0
static unsigned char clone_small_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x10, 0x04,
0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x20, 0x02,
0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x40, 0x01,
0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0xff, 0x7f,
0x00, 0x00, 0xe1, 0x43, 0x00, 0x00, 0x81, 0x40, 0x00, 0x00, 0xfe, 0x3f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define clone_small_mask_width 32
#define clone_small_mask_height 32
#define clone_small_mask_x_hot 0
#define clone_small_mask_y_hot 0
static unsigned char clone_small_mask_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01,
0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xf8, 0x0f,
0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x07,
0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xfe, 0x3f,
0x00, 0x00, 0xff, 0x7f, 0x00, 0x80, 0xff, 0xff, 0x00, 0x80, 0xff, 0xff,
0x00, 0x80, 0xff, 0xff, 0x00, 0x80, 0xff, 0xff, 0x00, 0x00, 0xff, 0x7f,
0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0x00, 0x00 };

17
cursors/control.xbm Normal file
View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define control_width 32
#define control_height 32
#define control_x_hot 0
#define control_y_hot 0
static unsigned char control_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f,
0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x80, 0x20,
0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x80, 0x3f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

17
cursors/control_mask.xbm Normal file
View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define control_mask_width 32
#define control_mask_height 32
#define control_mask_x_hot 0
#define control_mask_y_hot 0
static unsigned char control_mask_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x7f, 0x00, 0x00, 0xc0, 0x7f,
0x00, 0x00, 0xc0, 0x7f, 0x00, 0x00, 0xc0, 0x71, 0x00, 0x00, 0xc0, 0x71,
0x00, 0x00, 0xc0, 0x71, 0x00, 0x00, 0xc0, 0x7f, 0x00, 0x00, 0xc0, 0x7f,
0x00, 0x00, 0xc0, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

17
cursors/dodge_small.xbm Normal file
View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define dodge_small_width 32
#define dodge_small_height 32
#define dodge_small_x_hot 10
#define dodge_small_y_hot 10
static unsigned char dodge_small_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0xf8, 0x03, 0x00, 0x00, 0xf8, 0x03,
0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0xfc, 0x07,
0x00, 0x00, 0xf8, 0x03, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0xe0, 0x0e,
0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x70,
0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00 };

View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define dodge_small_mask_width 32
#define dodge_small_mask_height 32
#define dodge_small_mask_x_hot 10
#define dodge_small_mask_y_hot 10
static unsigned char dodge_small_mask_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00,
0x00, 0x00, 0xf8, 0x03, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0xfc, 0x07,
0x00, 0x00, 0xfe, 0x0f, 0x00, 0x00, 0xfe, 0x0f, 0x00, 0x00, 0xfe, 0x0f,
0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0xf8, 0x1f,
0x00, 0x00, 0xe0, 0x3e, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0xf8,
0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x60 };

View File

@ -1,11 +1,17 @@
#define dropper_width 22
#define dropper_height 22
#define dropper_x_hot 2
#define dropper_y_hot 20
/* Created with The GIMP */
#define dropper_width 32
#define dropper_height 32
#define dropper_x_hot 8
#define dropper_y_hot 23
static unsigned char dropper_bits[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfc,
0xff, 0x3f, 0xf8, 0xff, 0x3f, 0xf4, 0xff, 0x87, 0xf7, 0xff, 0x6f, 0xf7,
0xff, 0x97, 0xf8, 0xff, 0x8b, 0xfe, 0xff, 0x65, 0xfe, 0xff, 0xb2, 0xfe,
0x7f, 0xd9, 0xff, 0xbf, 0xec, 0xff, 0x5f, 0xf6, 0xff, 0x2f, 0xfb, 0xff,
0x97, 0xfd, 0xff, 0xcb, 0xfe, 0xff, 0x6b, 0xff, 0xff, 0xbd, 0xff, 0xff,
0xc7, 0xff, 0xff, 0xf7, 0xff, 0xff};
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x20, 0x08,
0x00, 0x00, 0x38, 0x14, 0x00, 0x00, 0x84, 0x17, 0x00, 0x00, 0x68, 0x17,
0x00, 0x00, 0x90, 0x08, 0x00, 0x00, 0x88, 0x06, 0x00, 0x00, 0x64, 0x02,
0x00, 0x00, 0xb2, 0x02, 0x00, 0x00, 0x19, 0x00, 0x00, 0x80, 0x0c, 0x00,
0x00, 0x40, 0x06, 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0x90, 0x01, 0x00,
0x00, 0xc8, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00,
0x00, 0x1a, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

View File

@ -1,10 +1,17 @@
/* Made with GIMP */
#define dropper_mask_width 22
#define dropper_mask_height 22
static char dropper_mask_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0xc0, 0x07,
0x00, 0xe0, 0x0f, 0x00, 0xf8, 0x1f, 0x00, 0xfc, 0x1f, 0x00, 0xf8, 0x1f,
0x00, 0xf8, 0x0f, 0x00, 0xfc, 0x07, 0x00, 0xfe, 0x03, 0x00, 0xff, 0x03,
0x80, 0x3f, 0x00, 0xc0, 0x1f, 0x00, 0xe0, 0x0f, 0x00, 0xf0, 0x07, 0x00,
0xf8, 0x03, 0x00, 0xfc, 0x01, 0x00, 0xfc, 0x00, 0x00, 0x7e, 0x00, 0x00,
0x3c, 0x00, 0x00, 0x08, 0x00, 0x00 };
/* Created with The GIMP */
#define dropper_mask_width 32
#define dropper_mask_height 32
#define dropper_mask_x_hot 8
#define dropper_mask_y_hot 23
static unsigned char dropper_mask_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0xe0, 0x0f,
0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0xfc, 0x1f, 0x00, 0x00, 0xf8, 0x1f,
0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0xfe, 0x03,
0x00, 0x00, 0xff, 0x03, 0x00, 0x80, 0x3f, 0x00, 0x00, 0xc0, 0x1f, 0x00,
0x00, 0xe0, 0x0f, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xf8, 0x03, 0x00,
0x00, 0xfc, 0x01, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00,
0x00, 0x3f, 0x00, 0x00, 0x80, 0x1f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

17
cursors/dropper_small.xbm Normal file
View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define dropper_small_width 32
#define dropper_small_height 32
#define dropper_small_x_hot 0
#define dropper_small_y_hot 0
static unsigned char dropper_small_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x41,
0x00, 0x00, 0xc0, 0xa1, 0x00, 0x00, 0x20, 0xbc, 0x00, 0x00, 0x40, 0xbb,
0x00, 0x00, 0x80, 0x44, 0x00, 0x00, 0x40, 0x34, 0x00, 0x00, 0x20, 0x13,
0x00, 0x00, 0x90, 0x15, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x64, 0x00,
0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x80, 0x0c, 0x00,
0x00, 0x40, 0x06, 0x00, 0x00, 0x40, 0x03, 0x00, 0x00, 0xe0, 0x01, 0x00,
0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

View File

@ -0,0 +1,17 @@
/* Created with The GIMP */
#define dropper_small_mask_width 32
#define dropper_small_mask_height 32
#define dropper_small_mask_x_hot 0
#define dropper_small_mask_y_hot 0
static unsigned char dropper_small_mask_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x7f,
0x00, 0x00, 0xc0, 0xff, 0x00, 0x00, 0xe0, 0xff, 0x00, 0x00, 0xc0, 0xff,
0x00, 0x00, 0xc0, 0x7f, 0x00, 0x00, 0xe0, 0x3f, 0x00, 0x00, 0xf0, 0x1f,
0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0xfe, 0x00,
0x00, 0x00, 0x7f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0xc0, 0x1f, 0x00,
0x00, 0xe0, 0x0f, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xf0, 0x03, 0x00,
0x00, 0xe0, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00 };

Some files were not shown because too many files have changed in this diff Show More