mirror of https://github.com/GNOME/gimp.git
revert previous change. Tools must not do anything essential in
2006-05-22 Michael Natterer <mitch@gimp.org> * app/tools/gimpclonetool.c: revert previous change. Tools must not do anything essential in cursor_update(), and poking in the GimpClone struct is a bad hack. Will look into this.
This commit is contained in:
parent
b011f16411
commit
39f2238655
|
@ -1,3 +1,9 @@
|
||||||
|
2006-05-22 Michael Natterer <mitch@gimp.org>
|
||||||
|
|
||||||
|
* app/tools/gimpclonetool.c: revert previous change. Tools must
|
||||||
|
not do anything essential in cursor_update(), and poking in the
|
||||||
|
GimpClone struct is a bad hack. Will look into this.
|
||||||
|
|
||||||
2006-05-21 Bill Skaggs <weskaggs@primate.ucdavis.edu>
|
2006-05-21 Bill Skaggs <weskaggs@primate.ucdavis.edu>
|
||||||
|
|
||||||
* app/tools/gimpclonetool.c: apply patch from Michael
|
* app/tools/gimpclonetool.c: apply patch from Michael
|
||||||
|
|
|
@ -192,7 +192,6 @@ gimp_clone_tool_cursor_update (GimpTool *tool,
|
||||||
GdkModifierType state,
|
GdkModifierType state,
|
||||||
GimpDisplay *display)
|
GimpDisplay *display)
|
||||||
{
|
{
|
||||||
GimpClone *clone = GIMP_CLONE (GIMP_PAINT_TOOL (tool)->core);
|
|
||||||
GimpCloneOptions *options;
|
GimpCloneOptions *options;
|
||||||
GimpCursorType ctype = GIMP_CURSOR_MOUSE;
|
GimpCursorType ctype = GIMP_CURSOR_MOUSE;
|
||||||
|
|
||||||
|
@ -217,24 +216,6 @@ gimp_clone_tool_cursor_update (GimpTool *tool,
|
||||||
ctype = GIMP_CURSOR_CROSSHAIR_SMALL;
|
ctype = GIMP_CURSOR_CROSSHAIR_SMALL;
|
||||||
else if (! GIMP_CLONE (GIMP_PAINT_TOOL (tool)->core)->src_drawable)
|
else if (! GIMP_CLONE (GIMP_PAINT_TOOL (tool)->core)->src_drawable)
|
||||||
ctype = GIMP_CURSOR_BAD;
|
ctype = GIMP_CURSOR_BAD;
|
||||||
|
|
||||||
gimp_draw_tool_pause (GIMP_DRAW_TOOL (tool));
|
|
||||||
|
|
||||||
if (!clone->first_stroke)
|
|
||||||
{
|
|
||||||
if (options->align_mode == GIMP_CLONE_ALIGN_YES)
|
|
||||||
{
|
|
||||||
clone->src_x = coords->x + clone->offset_x;
|
|
||||||
clone->src_y = coords->y + clone->offset_y;
|
|
||||||
}
|
|
||||||
else if (options->align_mode == GIMP_CLONE_ALIGN_REGISTERED)
|
|
||||||
{
|
|
||||||
clone->src_x = coords->x;
|
|
||||||
clone->src_y = coords->y;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
gimp_draw_tool_resume (GIMP_DRAW_TOOL (tool));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gimp_tool_control_set_cursor (tool->control, ctype);
|
gimp_tool_control_set_cursor (tool->control, ctype);
|
||||||
|
@ -266,34 +247,38 @@ gimp_clone_tool_oper_update (GimpTool *tool,
|
||||||
static void
|
static void
|
||||||
gimp_clone_tool_draw (GimpDrawTool *draw_tool)
|
gimp_clone_tool_draw (GimpDrawTool *draw_tool)
|
||||||
{
|
{
|
||||||
GimpTool *tool = GIMP_TOOL (draw_tool);
|
GimpTool *tool = GIMP_TOOL (draw_tool);
|
||||||
GimpClone *clone = GIMP_CLONE (GIMP_PAINT_TOOL (draw_tool)->core);
|
|
||||||
GimpCloneOptions *options;
|
|
||||||
|
|
||||||
options = (GimpCloneOptions *) tool->tool_info->tool_options;
|
if (gimp_tool_control_is_active (tool->control))
|
||||||
|
|
||||||
if (options->clone_type == GIMP_IMAGE_CLONE && clone->src_drawable)
|
|
||||||
{
|
{
|
||||||
gint off_x;
|
GimpClone *clone = GIMP_CLONE (GIMP_PAINT_TOOL (draw_tool)->core);
|
||||||
gint off_y;
|
GimpCloneOptions *options;
|
||||||
GimpDisplay *tmp_display;
|
|
||||||
GimpCloneTool *clone_tool = GIMP_CLONE_TOOL (draw_tool);
|
|
||||||
|
|
||||||
gimp_item_offsets (GIMP_ITEM (clone->src_drawable), &off_x, &off_y);
|
options = (GimpCloneOptions *) tool->tool_info->tool_options;
|
||||||
|
|
||||||
tmp_display = draw_tool->display;
|
if (options->clone_type == GIMP_IMAGE_CLONE && clone->src_drawable)
|
||||||
draw_tool->display = clone_tool->src_display;
|
{
|
||||||
|
gint off_x;
|
||||||
|
gint off_y;
|
||||||
|
GimpDisplay *tmp_display;
|
||||||
|
GimpCloneTool *clone_tool = GIMP_CLONE_TOOL (draw_tool);
|
||||||
|
|
||||||
if (draw_tool->display)
|
gimp_item_offsets (GIMP_ITEM (clone->src_drawable), &off_x, &off_y);
|
||||||
gimp_draw_tool_draw_handle (draw_tool,
|
|
||||||
GIMP_HANDLE_CROSS,
|
|
||||||
clone->src_x + off_x,
|
|
||||||
clone->src_y + off_y,
|
|
||||||
TARGET_WIDTH, TARGET_WIDTH,
|
|
||||||
GTK_ANCHOR_CENTER,
|
|
||||||
FALSE);
|
|
||||||
|
|
||||||
draw_tool->display = tmp_display;
|
tmp_display = draw_tool->display;
|
||||||
|
draw_tool->display = clone_tool->src_display;
|
||||||
|
|
||||||
|
if (draw_tool->display)
|
||||||
|
gimp_draw_tool_draw_handle (draw_tool,
|
||||||
|
GIMP_HANDLE_CROSS,
|
||||||
|
clone->src_x + off_x,
|
||||||
|
clone->src_y + off_y,
|
||||||
|
TARGET_WIDTH, TARGET_WIDTH,
|
||||||
|
GTK_ANCHOR_CENTER,
|
||||||
|
FALSE);
|
||||||
|
|
||||||
|
draw_tool->display = tmp_display;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GIMP_DRAW_TOOL_CLASS (parent_class)->draw (draw_tool);
|
GIMP_DRAW_TOOL_CLASS (parent_class)->draw (draw_tool);
|
||||||
|
|
|
@ -192,7 +192,6 @@ gimp_clone_tool_cursor_update (GimpTool *tool,
|
||||||
GdkModifierType state,
|
GdkModifierType state,
|
||||||
GimpDisplay *display)
|
GimpDisplay *display)
|
||||||
{
|
{
|
||||||
GimpClone *clone = GIMP_CLONE (GIMP_PAINT_TOOL (tool)->core);
|
|
||||||
GimpCloneOptions *options;
|
GimpCloneOptions *options;
|
||||||
GimpCursorType ctype = GIMP_CURSOR_MOUSE;
|
GimpCursorType ctype = GIMP_CURSOR_MOUSE;
|
||||||
|
|
||||||
|
@ -217,24 +216,6 @@ gimp_clone_tool_cursor_update (GimpTool *tool,
|
||||||
ctype = GIMP_CURSOR_CROSSHAIR_SMALL;
|
ctype = GIMP_CURSOR_CROSSHAIR_SMALL;
|
||||||
else if (! GIMP_CLONE (GIMP_PAINT_TOOL (tool)->core)->src_drawable)
|
else if (! GIMP_CLONE (GIMP_PAINT_TOOL (tool)->core)->src_drawable)
|
||||||
ctype = GIMP_CURSOR_BAD;
|
ctype = GIMP_CURSOR_BAD;
|
||||||
|
|
||||||
gimp_draw_tool_pause (GIMP_DRAW_TOOL (tool));
|
|
||||||
|
|
||||||
if (!clone->first_stroke)
|
|
||||||
{
|
|
||||||
if (options->align_mode == GIMP_CLONE_ALIGN_YES)
|
|
||||||
{
|
|
||||||
clone->src_x = coords->x + clone->offset_x;
|
|
||||||
clone->src_y = coords->y + clone->offset_y;
|
|
||||||
}
|
|
||||||
else if (options->align_mode == GIMP_CLONE_ALIGN_REGISTERED)
|
|
||||||
{
|
|
||||||
clone->src_x = coords->x;
|
|
||||||
clone->src_y = coords->y;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
gimp_draw_tool_resume (GIMP_DRAW_TOOL (tool));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gimp_tool_control_set_cursor (tool->control, ctype);
|
gimp_tool_control_set_cursor (tool->control, ctype);
|
||||||
|
@ -266,34 +247,38 @@ gimp_clone_tool_oper_update (GimpTool *tool,
|
||||||
static void
|
static void
|
||||||
gimp_clone_tool_draw (GimpDrawTool *draw_tool)
|
gimp_clone_tool_draw (GimpDrawTool *draw_tool)
|
||||||
{
|
{
|
||||||
GimpTool *tool = GIMP_TOOL (draw_tool);
|
GimpTool *tool = GIMP_TOOL (draw_tool);
|
||||||
GimpClone *clone = GIMP_CLONE (GIMP_PAINT_TOOL (draw_tool)->core);
|
|
||||||
GimpCloneOptions *options;
|
|
||||||
|
|
||||||
options = (GimpCloneOptions *) tool->tool_info->tool_options;
|
if (gimp_tool_control_is_active (tool->control))
|
||||||
|
|
||||||
if (options->clone_type == GIMP_IMAGE_CLONE && clone->src_drawable)
|
|
||||||
{
|
{
|
||||||
gint off_x;
|
GimpClone *clone = GIMP_CLONE (GIMP_PAINT_TOOL (draw_tool)->core);
|
||||||
gint off_y;
|
GimpCloneOptions *options;
|
||||||
GimpDisplay *tmp_display;
|
|
||||||
GimpCloneTool *clone_tool = GIMP_CLONE_TOOL (draw_tool);
|
|
||||||
|
|
||||||
gimp_item_offsets (GIMP_ITEM (clone->src_drawable), &off_x, &off_y);
|
options = (GimpCloneOptions *) tool->tool_info->tool_options;
|
||||||
|
|
||||||
tmp_display = draw_tool->display;
|
if (options->clone_type == GIMP_IMAGE_CLONE && clone->src_drawable)
|
||||||
draw_tool->display = clone_tool->src_display;
|
{
|
||||||
|
gint off_x;
|
||||||
|
gint off_y;
|
||||||
|
GimpDisplay *tmp_display;
|
||||||
|
GimpCloneTool *clone_tool = GIMP_CLONE_TOOL (draw_tool);
|
||||||
|
|
||||||
if (draw_tool->display)
|
gimp_item_offsets (GIMP_ITEM (clone->src_drawable), &off_x, &off_y);
|
||||||
gimp_draw_tool_draw_handle (draw_tool,
|
|
||||||
GIMP_HANDLE_CROSS,
|
|
||||||
clone->src_x + off_x,
|
|
||||||
clone->src_y + off_y,
|
|
||||||
TARGET_WIDTH, TARGET_WIDTH,
|
|
||||||
GTK_ANCHOR_CENTER,
|
|
||||||
FALSE);
|
|
||||||
|
|
||||||
draw_tool->display = tmp_display;
|
tmp_display = draw_tool->display;
|
||||||
|
draw_tool->display = clone_tool->src_display;
|
||||||
|
|
||||||
|
if (draw_tool->display)
|
||||||
|
gimp_draw_tool_draw_handle (draw_tool,
|
||||||
|
GIMP_HANDLE_CROSS,
|
||||||
|
clone->src_x + off_x,
|
||||||
|
clone->src_y + off_y,
|
||||||
|
TARGET_WIDTH, TARGET_WIDTH,
|
||||||
|
GTK_ANCHOR_CENTER,
|
||||||
|
FALSE);
|
||||||
|
|
||||||
|
draw_tool->display = tmp_display;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GIMP_DRAW_TOOL_CLASS (parent_class)->draw (draw_tool);
|
GIMP_DRAW_TOOL_CLASS (parent_class)->draw (draw_tool);
|
||||||
|
|
Loading…
Reference in New Issue