Commit graph

2287 commits

Author SHA1 Message Date
Sven Neumann
c68c91c94d app/tools/gimplevelstool.c app/tools/gimpcurvestool.c app/xcf/xcf-save.c
2007-04-12  Sven Neumann  <sven@gimp.org>

	* app/tools/gimplevelstool.c
	* app/tools/gimpcurvestool.c
	* app/xcf/xcf-save.c
	* app/xcf/xcf-load.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcolorframe.c: get rid of compiler warnings about
	dereferencing type-punned pointers.


svn path=/trunk/; revision=22238
2007-04-12 14:48:04 +00:00
Michael Natterer
3adb312e12 made the GimpRectangleOptionsPrivate struct public (ha ha).
2007-03-31  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangleoptions.[ch]: made the
	GimpRectangleOptionsPrivate struct public (ha ha).

	(gimp_rectangle_options_gui): replaced the "Auto shrink selection"
	toggle by a normal button that needs to be clicked explicitely.

	* app/tools/gimprectangletool.c: access members of
	GimpRectangleOptionsPrivate directly instead of reading them into
	local variables using g_object_get(), this makes the code quite
	more readable. Some code cleanup.

	(gimp_rectangle_tool_button_release): get rid of the confusing
	auto-shrink madness on button release...

	(gimp_rectangle_tool_start)
	(gimp_rectangle_tool_halt): ...instead, connect to the option's
	auto shrink button and shrink on "clicked".


svn path=/trunk/; revision=22209
2007-03-31 16:38:55 +00:00
Michael Natterer
0d7ccd8f56 read the "operation" member of GimpSelectionOptions directly.
2007-03-31  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangleselecttool.c: read the "operation" member
	of GimpSelectionOptions directly.

	* app/tools/gimpellipseselecttool.c (gimp_ellipse_select_tool_draw):
	chain up instead of calling gimp_rectangle_tool_draw() directly,
	don't #include "gimprectantletool.h".


svn path=/trunk/; revision=22208
2007-03-31 16:22:57 +00:00
Michael Natterer
58bea5b1b6 access the GimpCropOptions structure directly to read the "layer_only"
2007-03-31  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpcroptool.c: access the GimpCropOptions structure
	directly to read the "layer_only" option (don't use g_object_get),
	some code cleanup.


svn path=/trunk/; revision=22207
2007-03-31 16:07:05 +00:00
Sven Neumann
e2b83b288c app/tools/gimpdrawtool.[ch] app/tools/gimpperspectiveclonetool.c compare
2007-03-30  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpdrawtool.[ch]
	* app/tools/gimpperspectiveclonetool.c
	* app/tools/gimptransformtool.c: compare squared distances.

svn path=/trunk/; revision=22198
2007-03-30 09:41:18 +00:00
Sven Neumann
4c33327046 hardcode the result of sqrt(5).
2007-03-30  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_draw_guides):
	hardcode the result of sqrt(5).


svn path=/trunk/; revision=22196
2007-03-30 09:26:48 +00:00
Michael Natterer
ca83552cd6 don't compare the result of sqrt() with something, compare the original
2007-03-29  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptool.c (gimp_tool_check_click_distance): don't
	compare the result of sqrt() with something, compare the original
	value with something's square instead.


svn path=/trunk/; revision=22195
2007-03-29 19:00:45 +00:00
Sven Neumann
e9b050d244 fixed typo spotted by Bill Skaggs.
2007-03-21  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpblendtool.c (gimp_blend_tool_button_release): fixed
	typo spotted by Bill Skaggs.

svn path=/trunk/; revision=22157
2007-03-21 16:06:11 +00:00
Michael Natterer
68b4585959 register the tool with GIMP_PAINT_OPTIONS_CONTEXT_MASK and
2007-03-17  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpvectortool.c (gimp_vector_tool_register):
	register the tool with GIMP_PAINT_OPTIONS_CONTEXT_MASK and
	GIMP_CONTEXT_GRADIENT_MASK so its tool options are suited
	as parameter object for stroking (the stroke button in the
	tool options was using default values before).


svn path=/trunk/; revision=22135
2007-03-17 15:24:17 +00:00
Michael Natterer
40718dc7e4 app/tools/gimpaligntool.c app/tools/gimpcolorpickertool.c
2007-03-15  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpaligntool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimppainttool.c
	* app/tools/gimpvectortool.c: remove gimp_tool_pop_status() from
	control() implementations because GimpTool does this generically now.

	* app/tools/gimpblendtool.c
	* app/tools/gimpselectiontool.c: remove entire control()
	implementations because they were doing nothing else.


svn path=/trunk/; revision=22128
2007-03-15 17:32:50 +00:00
Michael Natterer
9f650d77f5 "adj" is a GtkObject not a GtkWidget, also moved it to its local scope.
2007-03-15  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui): "adj"
	is a GtkObject not a GtkWidget, also moved it to its local scope.


svn path=/trunk/; revision=22127
2007-03-15 17:08:06 +00:00
Michael Natterer
4359b1c98d check if tool->display is there before dereferencing it (bug #418504).
2007-03-15  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_halt): check
	if tool->display is there before dereferencing it (bug #418504).

	(gimp_rectangle_tool_start): add "display" parameter and set
	tool->display here.

	(gimp_rectangle_tool_button_press): pass the display to start()
	and don't set tool->display here.


svn path=/trunk/; revision=22125
2007-03-15 09:21:47 +00:00
Michael Natterer
e4aeb7d616 Make the status display stuff local to GimpTool:
2007-03-14  Michael Natterer  <mitch@gimp.org>

	Make the status display stuff local to GimpTool:

	* app/tools/tool_manager.c (tool_manager_control_active): don't
	call gimp_tool_clear_status().

	* app/tools/gimptool.[ch]: make gimp_tool_clear_status() a
	private function. Move call to gimp_tool_clear_status() from
	real_control() to control(). Check the status_displays too in
	gimp_tool_real_has_display() and gimp_tool_has_image() so the
	normal mechanism of control(HALT)ing (and thus popping all
	status messages) the tool on display close works.


svn path=/trunk/; revision=22124
2007-03-14 23:07:00 +00:00
Michael Natterer
c16484b71c Fix stuck statusbar messages when changing tools (bug #398913):
2007-03-14  Michael Natterer  <mitch@gimp.org>

	Fix stuck statusbar messages when changing tools (bug #398913):

	* app/tools/gimptool.[ch]: keep a list of status_displays around.
	Update the list in all status push, replace and pop functions.
	Added gimp_tool_clear_status() which removes the status messages
	from all displays in the list. Call the function from
	gimp_tool_real_control(HALT).

	* app/tools/tool_manager.c (tool_manager_control_active): if we
	can't call gimp_tool_control() because we have no display to pass,
	still call gimp_tool_clear_status() so the messages go away from
	displays the tool was only hovering.


svn path=/trunk/; revision=22123
2007-03-14 21:33:09 +00:00
Sven Neumann
b95ead41e3 renamed newly added members to scale_x and scale_y and removed the
2007-03-14  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.[ch]: renamed newly added members
	to scale_x and scale_y and removed the SCALEFACTOR macros.

	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-transform.c
	* app/display/gimpnavigationeditor.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimprectangletool.c: changed accordingly.


svn path=/trunk/; revision=22120
2007-03-14 10:26:19 +00:00
Martin Nordholts
e3d9198cc4 Made brushes upscalable by using scale_region. Downscaling still uses
2007-03-14  Martin Nordholts  <martinn@svn.gnome.org>

	Made brushes upscalable by using scale_region. Downscaling still
	uses functions in app/base/brush-scale.c (because of better
	performance). Parametric brushes of course recalculates masks
	instead of using bitmap scaling. Fixes bug #65030.

	* app/core/gimpbrush.[ch]: Added a private scale_buf method which
	uses scale_region (with GIMP_INTERPOLATION_LINEAR) to scale its
	masks and pixmaps. Also added public virtual method scale_size to
	GimpBrush (overridden by GimpBrushGenerated) which calculates the
	buffer sizes for a given brush scaled with a given scale.

	* app/core/gimpbrushgenerated.c: Implemented the new scale_size
	method inherited from GimpBrush, and modified
	gimp_brush_generated_calc to use this helper function.

	* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui): Made
	the brush Scale-slider logarithmic.

	* app/paint/gimppaintoptions.c (gimp_paint_options_class_init):
	Changed Scale scale to [0.0, 10.0].

	* app/paint/gimpbrushcore.c:
	(gimp_brush_core_calc_brush_size): Refactored 'get brush size' code
	to where it belongs, in GimpBrush-classes, and allowed scales
	larger than 1.0.


svn path=/trunk/; revision=22113
2007-03-14 00:18:01 +00:00
Michael Natterer
e8edf3f408 added new ugly function gimp_dialog_factory_hide_dialog() which does
2007-03-13  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.[ch]: added new ugly function
	gimp_dialog_factory_hide_dialog() which does gtk_widget_hide() and
	sets the stored visibility state to GIMP_DIALOG_VISIBILITY_INVISIBLE
	in order to avoid re-showing dialogs that were already insivible due
	to TAB-toggling when we gtk_widget_hided them.

	* app/tools/gimptransformtool.c
	* app/tools/gimpimagemaptool.c: use the new function instead of
	gtk_widget_hide() to hide tool dialogs. Fixes bug #414006.


svn path=/trunk/; revision=22111
2007-03-13 22:55:07 +00:00
Sven Neumann
54f709ec06 added a g_return_if_fail() check to catch bug #414006.
2007-03-13  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptransformtool.c (gimp_transform_tool_response):
	added a g_return_if_fail() check to catch bug #414006.


svn path=/trunk/; revision=22108
2007-03-13 07:43:37 +00:00
Michael Natterer
ef30d0079c lots of fixes and changes:
2007-03-12  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpmagnifytool.[ch]: lots of fixes and changes:

	- Request click events and use them instead of looking at the
	  distance the mouse travelled ourselves.
	- Also zoom when the user draws a very thin rectangle or just a
	  line, there is no reason to treat that as click.
	- Changed all calculations and stored values to double so the tool
	  continues to work smoothly at high zoom levels.
	- Fix scale calculation when zooming out (was totally b0rk).
	- Changed offset calculation when zooming out so that the current
	  viewport ends up within the drawn rectangle (which is the
	  opposite of what zooming in does).


svn path=/trunk/; revision=22105
2007-03-12 14:36:49 +00:00
Michael Natterer
4648f542cf app/core/gimpbrush.[ch] app/core/gimpbrushgenerated.c
2007-03-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpbrush.[ch]
	* app/core/gimpbrushgenerated.c
	* app/tools/gimppaintoptions-gui.c
	* app/base/brush-scale.[ch]
	* app/base/temp-buf.[ch]
	* app/paint/gimppaintoptions.c
	* app/paint/gimpbrushcore.c: revert last commit. The patch needs
	more review and it's easier to start from quare one than have
	patches on top of patches.


svn path=/trunk/; revision=22101
2007-03-12 09:33:57 +00:00
Michael Schumacher
a4e81c3a6c Made brushes scalable (both up and down) by using existing scaling
2007-03-11  Michael Schumacher  <schumaml@cvs.gnome.org>

	Made brushes scalable (both up and down) by using existing
	scaling routines, and also refactored some brush-code. Patch by
	Martin Nordholts. Fixes bug #65030.

	* app/paint/gimpbrushcore.c:
	(gimp_brush_core_calc_brush_length_scale) Refactored 'get brush
	size' code to where it belongs, in GimpBrush-classes, and renamed
	gimp_brush_core_calc_brush_size to
	gimp_brush_core_calc_brush_length_scale.

	* app/paint/gimppaintoptions.c (gimp_paint_options_class_init):
	Changed Scale scale to [0.0, 100.0].

	* app/base/temp-buf.[ch] (mask_buf_new): Change signature to also
	take a bpp parameter.

	* app/base/brush-scale.[ch]: Changed brush_scale_(mask|pixmap) to
	the new brush_scale_buf, which uses existing scaling routines
	(scale_region) instead of dedicated down-scaling only routines.

	* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui): Made
	the brush Scale-slider logarithmic.

	* app/core/gimpbrushgenerated.c: Implemented the new
	get_scaled_size method inherited from GimpBrush, and modified
	gimp_brush_generated_calc to use this helper function.

	* app/core/gimpbrush.[ch]: Added public virtual method
	get_scaled_size to GimpBrush, overridden by GimpBrushGenerated,
	which calculates the buffer sizes for a given brush scaled with a
	given scale. Also changed calls to brush_scale_(mask|pixmap) to
	the new brush_scale_buf.

svn path=/trunk/; revision=22099
2007-03-11 16:28:08 +00:00
Sven Neumann
5eb341d2a5 removed default label from enum switch statement.
2007-03-10  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpeditselectiontool.c 
(gimp_edit_selection_tool_motion):
	removed default label from enum switch statement.


svn path=/trunk/; revision=22098
2007-03-10 22:35:21 +00:00
Michael Natterer
34130a569e forgot to commit this file.
svn path=/trunk/; revision=22093
2007-03-10 15:27:47 +00:00
Michael Natterer
55c9c20843 added value GIMP_BUTTON_RELEASE_NO_MOTION.
2007-03-10  Michael Natterer  <mitch@gimp.org>

	* app/tools/tools-enums.[ch] (enum GimpButtonReleaseType): added
	value GIMP_BUTTON_RELEASE_NO_MOTION.

	* app/tools/gimptool.[ch]: when click events are requested and the
	click was too long for a "click" event, send a NO_MOTION event if
	the pointer didn't move at all.

	* app/tools/gimpbucketfilltool.c: treat NO_MOTION as tool
	confirmation too.

	* app/tools/gimpfreeselecttool.c: request click events and treat
	both CLICK and NO_MOTION as tool confirmation.

	* app/tools/gimprectangletool.c: ignore NO_MOTION.


svn path=/trunk/; revision=22091
2007-03-10 15:07:56 +00:00
Michael Natterer
83d3a750d4 include "libgimpmath/gimpmathtypes.h" instead of "libgimpmath/gimpmath.h".
2007-03-09  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: include "libgimpmath/gimpmathtypes.h"
	instead of "libgimpmath/gimpmath.h".

	* app/core/gimpbrush.h
	* app/paint/gimppaintcore.h
	* app/paint/gimpperspectiveclone.h
	* app/text/gimptext.h
	* app/tools/gimptransformtool.h: include gimpvector.h and
	gimpmatrix.h explicitely where they are needed in public structs.

	* app/*/*.c
	* tools/pdbgen/pdb/paths.pdb: include "libgimpmath/gimpmath.h"
	where needed.

	* app/pdb/paths_cmds.c: regenerated.


svn path=/trunk/; revision=22084
2007-03-09 13:00:01 +00:00
Michael Natterer
974a74004f remove useless includes. Some minor cleanup.
2007-03-09  Michael Natterer  <mitch@gimp.org>

	* app/tools/*.c: remove useless includes. Some minor cleanup.


svn path=/trunk/; revision=22083
2007-03-09 11:10:40 +00:00
Sven Neumann
e62825eecc added missing call to gimp_rectangle_tool_update_options (). Fixes bug
2007-03-09  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_key_press):
	added missing call to gimp_rectangle_tool_update_options (). 
Fixes
	bug #416268.


svn path=/trunk/; revision=22079
2007-03-09 07:16:18 +00:00
Raphael Quinet
2c1e06c107 make the new feature visible in the status bar (alas, this implies a new
2007-03-09  Raphael Quinet  <raphael@gimp.org>

	* app/tools/gimpblendtool.c (gimp_blend_tool_push_status): make
	the new feature visible in the status bar (alas, this implies a
	new translatable string).

svn path=/trunk/; revision=22078
2007-03-08 23:33:55 +00:00
Michael Natterer
e9029e04e0 renamed members and added last_x and last_y to remember the last mouse
2007-03-08  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpblendtool.h (struct GimpBlendTool): renamed
	members and added last_x and last_y to remember the last mouse
	coords.

	* app/tools/gimpblendtool.c: changed accordingly. Take drawable
	offset into account in button_release() and remove offset
	calculations from all other places. Enabled using ALT for moving
	the entire line.


svn path=/trunk/; revision=22077
2007-03-08 18:07:38 +00:00
Michael Natterer
8fcb05e6e7 request click events, removed target_x,y struct members and button_press()
2007-03-08  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpbucketfilltool.[ch]: request click events, removed
	target_x,y struct members and button_press() implementation and
	use the coords passed in button_release(). Also make sure that
	a click has no effect in areas where we show the bad corsor.


svn path=/trunk/; revision=22075
2007-03-08 15:32:58 +00:00
Sven Neumann
f663cb8bc4 app/tools/gimpperspectivetool.c app/tools/gimpscaletool.c
2007-03-08  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpperspectivetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimptransformtool.[ch]: removed shell_desc member 
from
	GimpTransformToolClass and just use the tool blurb instead.


svn path=/trunk/; revision=22067
2007-03-08 08:21:39 +00:00
Sven Neumann
18efb16d5e added missing call to gimp_rectangle_tool_rectangle_changed(). Fixes bug
2007-03-08  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_key_press):
	added missing call to gimp_rectangle_tool_rectangle_changed().
	Fixes bug #415833.


svn path=/trunk/; revision=22066
2007-03-08 06:52:41 +00:00
Sven Neumann
1bdb26be15 describe usage of modifiers as suggested in bug #415796.
2007-03-07  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpvectoroptions.c (gimp_vector_options_gui): 
describe
	usage of modifiers as suggested in bug #415796.


svn path=/trunk/; revision=22065
2007-03-07 19:48:38 +00:00
Michael Natterer
c2c21a30f2 Clean up fix for bug #328001:
2007-03-07  Michael Natterer  <mitch@gimp.org>

	Clean up fix for bug #328001:

	* app/tools/gimpeditselectiontool.[ch] (process_event_queue_keys):
	made private again.

	(gimp_edit_selection_tool_translate): new function which has an
	additional GimpTransformType parameter to determine what transform
	to perform. Do all the work here, ignoring the key event's
	modifier state.

	(gimp_edit_selection_tool_key_press): just determine the transform
	type from the key event's modifier state and call
	gimp_edit_selection_tool_translate().

	* app/tools/gimpmovetool.c (gimp_move_tool_key_press): removed all
	code and call gimp_edit_selection_tool_translate() with
	options->move_type. Moved the function to its proper place in the
	file.


svn path=/trunk/; revision=22063
2007-03-07 09:34:47 +00:00
Sven Neumann
f878258e5d Patch by Martin Nordholts. Fixes bug #328001.
2007-03-06  Sven Neumann  <sven@gimp.org>

	Patch by Martin Nordholts. Fixes bug #328001.

	* app/tools/gimpeditselectiontool.[ch] 
(process_event_queue_keys):
	Made process_event_queue_keys public for use of gimpmovetool.c.
	Still needs to be renamed and moved to another place.

	* app/tools/gimpmovetool.c (gimp_move_tool_key_press): Created
	gimp_move_tool_key_press() which takes care of events that
	gimp_edit_selection_tool_key_press() is not is able to
	handle. Otherwise just pass key events on to that method.


svn path=/trunk/; revision=22058
2007-03-06 19:56:08 +00:00
Michael Natterer
d741af2656 if the user clicks inside an existing selection, initialize the rectangle
2007-03-05  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangleselecttool.c
	(gimp_rect_select_tool_execute): if the user clicks inside an
	existing selection, initialize the rectangle tool to the entire
	selection, not just to the part of it that is within the active
	drawable. Also removed some dead code.


svn path=/trunk/; revision=22049
2007-03-05 21:03:02 +00:00
Hans Breuer
f8b13080e4 updated
2007-03-04  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc app/gimpcore.def : updated


svn path=/trunk/; revision=22041
2007-03-04 19:04:42 +00:00
Sven Neumann
f1692ea6fc app/display/gimpdisplayshell.[ch] only change the remembered last scale
2007-03-04  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.[ch]
	* app/display/gimpdisplayshell-scale.c: only change the 
remembered
	last scale value if the last change occured more than a second 
ago.

	* app/tools/gimprectangletool.c: fixed compiler warnings.


svn path=/trunk/; revision=22040
2007-03-04 10:27:17 +00:00
Raphael Quinet
ff6ca82828 don't suggest Shift when a new point cannot be added to point 0.
2007-02-29  Raphael Quinet  <raphael@gimp.org>

	* app/tools/gimpmeasuretool.c (gimp_measure_tool_cursor_update): 
	don't suggest Shift when a new point cannot be added to point 0.

svn path=/trunk/; revision=22031
2007-03-01 08:52:37 +00:00
Raphael Quinet
89c4abd6ea added status bar help messages explaining the usage of the modifiers.
2007-02-28  Raphael Quinet  <raphael@gimp.org>

	* app/tools/gimpmeasuretool.[ch]: added status bar help messages
	explaining the usage of the modifiers.

	* app/tools/gimpvectortool.c (gimp_vector_tool_status_update):
	suggest Ctrl for edit mode, to close the path or move handles.

	* app/tools/gimpcroptool.c (gimp_crop_tool_button_release):
	"press enter" should be "press Enter", as in the other tools.

svn path=/trunk/; revision=22030
2007-02-28 22:35:37 +00:00
Sven Neumann
8353fafbc5 made labels selectable.
2007-02-28  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpmeasuretool.c: made labels selectable.

svn path=/trunk/; revision=22029
2007-02-28 16:46:55 +00:00
João S. O. Bueno Calligaris
d7b7bb40b9 removes recursive code when adjusting rectangle size. Fixes bug #410234.
2007-02-28  João S. O. Bueno Calligaris <gwidion@mpc.com.br>

        * app/tools/gimprectangletool.c: removes recursive code
        when adjusting rectangle size. Fixes bug #410234.

svn path=/trunk/; revision=22028
2007-02-28 16:05:52 +00:00
Sven Neumann
6e59aec825 simplified callers and moved calculations out of the SQR() macro.
2007-02-28  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptool.c (gimp_tool_check_click_distance):
	simplified callers and moved calculations out of the SQR() macro.


svn path=/trunk/; revision=22027
2007-02-28 16:00:26 +00:00
Sven Neumann
0af9507ab8 don't change the selection while the tool is active. Fixes bug #398185.
2007-02-28  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangleselecttool.c
	(gimp_rect_select_tool_rectangle_changed): don't change the
	selection while the tool is active. Fixes bug #398185. Thanks to
	Martin Nordholts for investigating this problem.

	* app/tools/gimprectangletool.c: minor cleanup.


svn path=/trunk/; revision=22025
2007-02-28 13:08:09 +00:00
Michael Natterer
9e15c24251 need to check the distance in screen coords, not image coords.
2007-02-28  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptool.c (gimp_tool_check_click_distance): need to
	check the distance in screen coords, not image coords.

	* app/tools/gimpmovetool.c (gimp_move_tool_button_release): forgot
	two manual checks for GDK_BUTTON3_MASK.


svn path=/trunk/; revision=22024
2007-02-28 13:04:20 +00:00
Michael Natterer
d40c0a5883 clean up last commit a bit. Pass the recorded button_press_coords to
2007-02-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptool.[ch]: clean up last commit a bit. Pass the
	recorded button_press_coords to GimpTool::button_release() when a
	click was detected.


svn path=/trunk/; revision=22019
2007-02-27 21:40:35 +00:00
Michael Natterer
83eb96db21 added "gboolean wants_click" member and getters/setters.
2007-02-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptoolcontrol.[ch]: added "gboolean wants_click"
	member and getters/setters.

	* app/tools/gimptool.[ch] (struct GimpTool): added members
	in_click_distance, press_coords and press_time.

	(gimp_tool_button_press): if the tool wants click events, record
	press_coords and press_time.

	(gimp_tool_motion): check if we are still in click distance.

	(gimp_tool_button_release): ditto. If we are still in click
	distance, synthesize a motion event back to the recorded
	press_coords and send the tool release_type = CLICK.

	(gimp_tool_check_click_distance): utility function which checks
	the current coords and time against the recorded ones, using
	gtk-double-click-time and gtk-double-click-distance as thresholds.

	* app/tools/gimpcroptool.c
	* app/tools/gimprectangleselecttool.c: request click events
	and handle them.

	* app/tools/gimprectangletool.[ch]: handle click events. Removed
	gimp_rectangle_tool_no_movement().


svn path=/trunk/; revision=22016
2007-02-27 21:11:35 +00:00
Michael Natterer
d7ed63948c Step one towards enabling tool cancellation by other means than mouse
2007-02-27  Michael Natterer  <mitch@gimp.org>

	Step one towards enabling tool cancellation by other means than
	mouse button 3 and towards proper "clicked" semantics.

	* app/tools/tools-enums.[ch]: added enum GimpButtonReleaseType
	which can be one of { NORMAL, CANCEL, CLICK } (click is curently
	unused).

	* app/tools/gimptool.[ch] (GimpTool::button_release): added
	"release_type" parameter.

	(gimp_tool_button_release): if the state contains
	GDK_BUTTON3_MASK, call the tool's button_release() with CANCEL,
	use NORMAL otherwise.

	* app/tools/gimpaligntool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcolortool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.[ch]
	* app/tools/gimpregionselecttool.c
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c (button_release): added
	"release_type" parameters and get rid of own checks for
	GDK_BUTTON3_MASK.


svn path=/trunk/; revision=22015
2007-02-27 18:55:12 +00:00
Michael Natterer
e172a72c63 set the gradient-type and gradient-repeat combo boxes to ELLIPSIZE_END so
2007-02-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpblendoptions.c (gimp_blend_options_gui): set the
	gradient-type and gradient-repeat combo boxes to ELLIPSIZE_END so
	the blend options can be one tool icon size smaller without
	scrolling horizontally.


svn path=/trunk/; revision=22014
2007-02-27 18:44:55 +00:00
Sven Neumann
f267e26644 just redraw the canvas
svn path=/trunk/; revision=22006
2007-02-26 16:03:14 +00:00