Bug 572156 – top left pixel position/coordinate is not 0,0 but 1,1

2009-02-20  Michael Natterer  <mitch@gimp.org>

	Bug 572156 – top left pixel position/coordinate is not 0,0 but 1,1

	* app/display/gimpstatusbar.c
	(gimp_statusbar_push_coords)
	(gimp_statusbar_update_cursor): fix braino for
	GIMP_CURSOR_PRECISION_PIXEL_CENTER: going to the pixel's
	center doesn't need any rounding, it simply needs clipping
	the coordinates' fractional parts, gah...

	Review all tools' cursor precision:

	* app/tools/gimpblendtool.c (gimp_blend_tool_init): set cursor
	precision to SUBPIXEL.

	* app/tools/gimptexttool.c (gimp_text_tool_init)
	* app/tools/gimpmeasuretool.c (gimp_measure_tool_init)
	* app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_init):
	set cursor precision to PIXEL_BORDER.


svn path=/trunk/; revision=28053
This commit is contained in:
Michael Natterer 2009-02-20 16:57:26 +00:00 committed by Michael Natterer
parent 99682b434c
commit e0f1bf375c
6 changed files with 32 additions and 6 deletions

View File

@ -1,3 +1,24 @@
2009-02-20 Michael Natterer <mitch@gimp.org>
Bug 572156 top left pixel position/coordinate is not 0,0 but 1,1
* app/display/gimpstatusbar.c
(gimp_statusbar_push_coords)
(gimp_statusbar_update_cursor): fix braino for
GIMP_CURSOR_PRECISION_PIXEL_CENTER: going to the pixel's
center doesn't need any rounding, it simply needs clipping
the coordinates' fractional parts, gah...
Review all tools' cursor precision:
* app/tools/gimpblendtool.c (gimp_blend_tool_init): set cursor
precision to SUBPIXEL.
* app/tools/gimptexttool.c (gimp_text_tool_init)
* app/tools/gimpmeasuretool.c (gimp_measure_tool_init)
* app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_init):
set cursor precision to PIXEL_BORDER.
2009-02-19 Michael Natterer <mitch@gimp.org>
* libgimpthumb/gimpthumbnail.c (gimp_thumbnail_save): no need to

View File

@ -817,8 +817,8 @@ gimp_statusbar_push_coords (GimpStatusbar *statusbar,
switch (precision)
{
case GIMP_CURSOR_PRECISION_PIXEL_CENTER:
x = RINT (x + 0.5);
y = RINT (y + 0.5);
x = (gint) x;
y = (gint) y;
break;
case GIMP_CURSOR_PRECISION_PIXEL_BORDER:
@ -1192,8 +1192,8 @@ gimp_statusbar_update_cursor (GimpStatusbar *statusbar,
switch (precision)
{
case GIMP_CURSOR_PRECISION_PIXEL_CENTER:
x = RINT (x + 0.5);
y = RINT (y + 0.5);
x = (gint) x;
y = (gint) y;
break;
case GIMP_CURSOR_PRECISION_PIXEL_BORDER:

View File

@ -135,6 +135,8 @@ gimp_blend_tool_init (GimpBlendTool *blend_tool)
GimpTool *tool = GIMP_TOOL (blend_tool);
gimp_tool_control_set_scroll_lock (tool->control, TRUE);
gimp_tool_control_set_precision (tool->control,
GIMP_CURSOR_PRECISION_SUBPIXEL);
gimp_tool_control_set_cursor (tool->control,
GIMP_CURSOR_MOUSE);
gimp_tool_control_set_tool_cursor (tool->control,

View File

@ -148,8 +148,6 @@ gimp_edit_selection_tool_init (GimpEditSelectionTool *edit_selection_tool)
gimp_tool_control_set_scroll_lock (tool->control, EDIT_SELECT_SCROLL_LOCK);
gimp_tool_control_set_motion_mode (tool->control, GIMP_MOTION_MODE_COMPRESS);
gimp_tool_control_set_precision (tool->control,
GIMP_CURSOR_PRECISION_PIXEL_BORDER);
edit_selection_tool->origx = 0;
edit_selection_tool->origy = 0;

View File

@ -149,8 +149,11 @@ gimp_measure_tool_init (GimpMeasureTool *measure_tool)
GimpTool *tool = GIMP_TOOL (measure_tool);
gimp_tool_control_set_handle_empty_image (tool->control, TRUE);
gimp_tool_control_set_precision (tool->control,
GIMP_CURSOR_PRECISION_PIXEL_BORDER);
gimp_tool_control_set_tool_cursor (tool->control,
GIMP_TOOL_CURSOR_MEASURE);
measure_tool->function = CREATING;
measure_tool->status_help = TRUE;
}

View File

@ -285,6 +285,8 @@ gimp_text_tool_init (GimpTextTool *text_tool)
gimp_tool_control_set_scroll_lock (tool->control, TRUE);
gimp_tool_control_set_wants_all_key_events (tool->control, TRUE);
gimp_tool_control_set_precision (tool->control,
GIMP_CURSOR_PRECISION_PIXEL_BORDER);
gimp_tool_control_set_tool_cursor (tool->control,
GIMP_TOOL_CURSOR_TEXT);
gimp_tool_control_set_action_object_1 (tool->control,