Commit Graph

192 Commits

Author SHA1 Message Date
Sven Neumann ab71eb9f6a app/paint/gimppaintoptions.c app/tools/gimpcolorbalancetool.c
2007-05-23  Sven Neumann  <sven@gimp.org>

	* app/paint/gimppaintoptions.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimprectangleoptions.c
	* app/tools/gimprectangletool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/tool_manager.c: allocate structs using GSlice.

svn path=/trunk/; revision=22595
2007-05-23 13:49:06 +00:00
Martin Nordholts 8776dc7f38 When adjusting a rectangle it feels unintuitive that the center of the
2007-05-02  Martin Nordholts  <martinn@svn.gnome.org>

	When adjusting a rectangle it feels unintuitive that the center of
	the rectangle when Ctrl is used lands on the corner that was used
	to resize the rectangle. This commit changes the center of the
	rectangle when Ctrl is used on a already-created rectangle to the
	center of the rectangle when the user starts adjusting the size.

	* app/tools/gimprectangletool.c (struct
	_GimpRectangleToolPrivate): Added center_[xy]_on_fixed_center
	members that keeps track on where the center of the rectangle
	should be when the Ctrl modifier is used.

	* app/tools/gimprectangletool.c: Added convenience function
	gimp_rectangle_tool_get_fixed_center_coords.

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_button_press): Sets the
	center_[xy]_on_fixed_center members depending on whether the button
	press modifies an existing rectangle or creates a new one.

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_active_modifier_key): Adjusted to accomodate to
	above mentioned changes.


svn path=/trunk/; revision=22374
2007-05-02 09:14:35 +00:00
Sven Neumann e3813131b7 also use the middle mouse button for panning.
2007-04-25  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpscrolledpreview.c: also use the middle mouse
	button for panning.

	* plug-ins/common/nova.c: override the default mouse handling of
	the GimpScrolledPreview and allow to reposition the center using
	the left mouse button. Fixes bug .

	* app/tools/gimprectangletool.c: formatting.

svn path=/trunk/; revision=22319
2007-04-25 10:10:43 +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
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 4359b1c98d check if tool->display is there before dereferencing it (bug ).
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 ).

	(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
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
Michael Natterer 34130a569e forgot to commit this file.
svn path=/trunk/; revision=22093
2007-03-10 15:27:47 +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 .


svn path=/trunk/; revision=22079
2007-03-09 07:16:18 +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 .


svn path=/trunk/; revision=22066
2007-03-08 06:52:41 +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
João S. O. Bueno Calligaris d7b7bb40b9 removes recursive code when adjusting rectangle size. Fixes bug .
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 .

svn path=/trunk/; revision=22028
2007-02-28 16:05:52 +00:00
Sven Neumann 0af9507ab8 don't change the selection while the tool is active. Fixes bug .
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 . 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 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
Sven Neumann d1a2697c80 moved duplicated code to utility function
2007-02-09  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c: moved duplicated code to
	utility function gimp_rectangle_tool_set_highlight().


svn path=/trunk/; revision=21878
2007-02-08 23:19:57 +00:00
Sven Neumann 50bbab0ec7 fixed spelling of "auto-generated".
2007-01-28  Sven Neumann  <sven@gimp.org>

	* app/dialogs/authors.xsl: fixed spelling of "auto-generated".

	* app/tools/gimprectangletool.c: removed unused declaration.


svn path=/trunk/; revision=21788
2007-01-28 17:47:46 +00:00
Sven Neumann 0ddd3db4f8 applied patch from Joao S. O. Bueno Calligaris that fixes rectangle
2007-01-26  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c: applied patch from Joao
	S. O. Bueno Calligaris that fixes rectangle resizing (bug 
).


svn path=/trunk/; revision=21784
2007-01-26 22:21:20 +00:00
Sven Neumann f68ff9a9c4 implement keyboard navigation as in the spec but without pointer warping.
2007-01-24  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c: implement keyboard navigation 
as
	in the spec but without pointer warping. Basically works but 
needs
	further tuning.


svn path=/trunk/; revision=21777
2007-01-24 08:40:24 +00:00
Sven Neumann d8983fcc8d don't emit signals by name if we know the signal ID.
2007-01-24  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c: don't emit signals by name if 
we
	know the signal ID.


svn path=/trunk/; revision=21776
2007-01-24 07:47:58 +00:00
Sven Neumann 33b382698f reverted previous change. Keyboard navigation for the rectangle tools has
2007-01-24  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c: reverted previous change.
	Keyboard navigation for the rectangle tools has been speced out
	differently and changes to the spec should be discussed 
beforehand.


svn path=/trunk/; revision=21775
2007-01-24 07:12:42 +00:00
Kevin Cozens 01aeb7faba Applied patch from Joao S. O. Bueno Calligaris that allows size of
2007-01-24  Kevin Cozens  <kcozens@cvs.gnome.org>

	* app/tools/gimprectangletool.c: Applied patch from Joao S. O. Bueno
	Calligaris that allows size of rectangle selection to be changed via
	the keyboard arrow keys. Ctrl + arrow increases size of selection in
	the direction of the arrow. Ctrl + Shift + arrow decreases size of
	selection.

svn path=/trunk/; revision=21773
2007-01-24 05:27:33 +00:00
Raphael Quinet 65950be141 app/display/gimpstatusbar.[ch] add optional help text at the end of the
2007-01-21  Raphael Quinet  <raphael@gimp.org>

	* app/display/gimpstatusbar.[ch]
	* app/tools/gimptool.[ch]: add optional help text at the end of
	the messages generated by gimp_statusbar_push_coords() and
	gimp_statusbar_push_length().

	* app/tools/gimpcolortool.c
	* app/tools/gimpeditselectiontool.c 
	* app/tools/gimpmovetool.c
	* app/tools/gimprectangletool.c: use the updated functions.

	* app/tools/gimpblendtool.c
	* app/tools/gimpcolorpickertool.c: added status bar messages.

svn path=/trunk/; revision=21745
2007-01-21 01:24:51 +00:00
Sven Neumann 51511197d9 restore old function and push a pause/resume to avoid tool redraws from
2006-12-30  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_synthesize_motion): restore old function 
and
	push a pause/resume to avoid tool redraws from the motion 
handler.


svn path=/trunk/; revision=21616
2006-12-30 18:18:53 +00:00
Sven Neumann ef196e69ee missed a place that needed conversion to enum 2006-12-13 21:53:19 +00:00
Sven Neumann 532089a794 added missing define GIMP_TYPE_RECTANGLE_CONSTRAINT. Removed unused
2006-12-13  Sven Neumann  <sven@gimp.org>

	* app/tools/tools-enums.[ch]: added missing define
	GIMP_TYPE_RECTANGLE_CONSTRAINT. Removed unused descriptions.

	* app/tools/gimprectangletool.c: made "constraint" an enum
property.
2006-12-13 21:49:09 +00:00
Sven Neumann 41237259c9 In all files, changed the standard copyright notice to say "GIMP - The GNU
2006-12-09  Sven Neumann  <sven@gimp.org>

        * In all files, changed the standard copyright notice to say
        "GIMP - The GNU Image Manipulation Program".
2006-12-09 21:33:38 +00:00
Sven Neumann 13004433f5 cursors/Makefile.am cursors/cursor-move.png cursors/gimp-tool-cursors.xcf
2006-11-15  Sven Neumann  <sven@gimp.org>

	* cursors/Makefile.am
	* cursors/cursor-move.png
	* cursors/gimp-tool-cursors.xcf
	* cursors/xbm/cursor-move-mask.xbm
	* cursors/xbm/cursor-move.xbm: added new cursor.

	* app/widgets/gimpcursor.c
	* app/widgets/widgets-enums.h: added as GIMP_CURSOR_MOVE.

	* app/tools/gimprectangletool.c: use instead of a cursor
modifier.
2006-11-15 22:43:24 +00:00
Sven Neumann c4b8cda67d app/tools/gimprectangletool.[ch] removed function from the properties.
2006-11-15  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.[ch]
	* app/tools/gimprectangleselecttool.c: removed function from the
	properties. Added getter and setter functions instead. Redraw
the
	tool whenever the function changes.
2006-11-15 20:45:43 +00:00
Sven Neumann 26db711437 reduced the size of the side handles to two third the size of the corner
2006-11-13  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c: reduced the size of the side
	handles to two third the size of the corner handles.
2006-11-13 16:13:37 +00:00
Sven Neumann 5c0ff0f6e2 removed dead code.
2006-11-07  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c: removed dead code.
2006-11-08 07:22:42 +00:00
Sven Neumann a44f83c66c simplified.
2006-11-07  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c
(gimp_rectangle_tool_oper_update):
	simplified.
2006-11-07 22:07:22 +00:00
Sven Neumann f47f58886a undef DEBUG_SPEW again.
2006-11-07  Sven Neumann  <sven@gimp.org>

	* app/dialogs/file-save-dialog.c: undef DEBUG_SPEW again.

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_draw):
	don't draw the handles while the rectangle is being moved.
2006-11-07 14:08:14 +00:00
Sven Neumann b41bc68023 improved highlighting. (gimp_draw_tool_draw_arc_by_anchor): take width and
2006-11-07  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpdrawtool.[ch] (gimp_draw_tool_draw_corner):
	improved highlighting.
	(gimp_draw_tool_draw_arc_by_anchor): take width and height
	arguments instead of radius_x and radius_y.

	* app/tools/gimpiscissorstool.c
	* app/tools/gimpvectortool.c: slightly increased handle sizes.

	* app/tools/gimpmeasuretool.c: increased size of the end points.

	* app/tools/gimpperspectiveclonetool.c: increased handle size.

	* app/tools/gimprectangletool.c: renamed variables.

	* app/tools/gimpsourcetool.c: use a single define for the target
size.

	* app/tools/gimptransformtool.[ch]: increased handle size. Made
	the area that can be grabbed identical to the displayed handle.
	Replaced filled circle with a circle outline and a cross.

	* app/tools/gimptransformtool-undo.c: follow renaming of define
in
	gimptransformtool.h.
2006-11-07 11:09:51 +00:00
Sven Neumann 6577834f1f app/tools/gimpdrawtool.[ch] (gimp_draw_tool_draw_corner) highlight the
2006-11-06  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpdrawtool.[ch] (gimp_draw_tool_draw_corner)
	* app/tools/gimprectangletool.c (gimp_rectangle_tool_draw):
	highlight the handles on mouse-over.
2006-11-06 17:09:07 +00:00
Sven Neumann d27e9ead6c simplified.
* app/tools/gimprectangletool.c (gimp_rectangle_tool_draw): simplified.
2006-11-06 16:40:09 +00:00
Sven Neumann e192b27f6d let gimp_draw_tool_draw_corner() also handle north, south, east and west
2006-11-06  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpdrawtool.[ch]: let gimp_draw_tool_draw_corner()
	also handle north, south, east and west corners and allow for
	filled corners.

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_draw): simplified.
2006-11-06 16:31:11 +00:00
Sven Neumann 194f268f89 app/tools/gimpdrawtool.[ch] changed the way that the handles are drawn.
2006-11-05  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpdrawtool.[ch]
	* app/tools/gimprectangletool.c: changed the way that the
handles
	are drawn. This is still work in progress.
2006-11-06 08:16:31 +00:00
Michael Natterer 029f94f658 made gimp_rectangle_tool_halt() private. Get rid of some more local
2006-11-05  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangletool.[ch]: made gimp_rectangle_tool_halt()
	private. Get rid of some more local variables (use private->foo
	instead). Fixed statusbar rectangle size display. Some indentation
	cleanup.
2006-11-05 16:36:15 +00:00
Michael Natterer f8edfbd1a5 app/tools/gimpcroptool.c app/tools/gimprectangleselecttool.c moved stuff
2006-11-05  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpcroptool.c
	* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.[ch]: moved stuff from
	GimpTool::initialize() to GObject::constructor() and removed all
	initialize functions entirely. initialize() only needs to be
	implemented if the tool has a dialog or if initialization() can
	fail. Also moved some type-checking casts after the
	g_return_if_fail()s
2006-11-05 14:11:34 +00:00
Michael Natterer 94182f1439 app/tools/gimpcroptool.[ch] app/tools/gimpellipseselecttool.c
2006-11-05  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpcroptool.[ch]
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimprectangleselecttool.[ch]
	* app/tools/gimprectangletool.[ch]: removed dispose() and
	finalize() implementations. The finalize() ones did nothing and
	dispose() was only redundantly disconnecting from signals that
	were connected using connect_object() anyway. Some cosmetic
	cleanups all over the place.
2006-11-05 12:35:59 +00:00
Michael Natterer 3499bcaca0 merged all tool options notify callbacks into a single one and added
2006-11-04  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangletool.c: merged all tool options notify
	callbacks into a single one and added utility function
	gimp_rectangle_tool_synthesize_motion() to improve
	maintainability.
2006-11-04 22:39:37 +00:00
Michael Natterer 05ce1e0179 need to subtract the snap_x and snap_y values from the coords before
2006-11-04  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion): need
	to subtract the snap_x and snap_y values from the coords before
	calling ourselves recursively, otherwise we run into an infinite
	recursion.
2006-11-04 20:30:52 +00:00
Michael Natterer 062cbaa09e removed gimp_rectangle_tool_get_function() and set_function().
2006-11-04  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangletool.c: removed
	gimp_rectangle_tool_get_function() and set_function().
2006-11-04 20:06:31 +00:00
Michael Natterer abdb666fe0 pause the draw tool earlier in motion() so we don't get artifacts when the
2006-11-04  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangletool.c: pause the draw tool earlier in
	motion() so we don't get artifacts when the function changes.
	Fixed inside_x and inside_y usage in oper_update(). Get rid of
	some local variables in draw().
2006-11-04 19:50:13 +00:00
Michael Natterer 33212fe773 fixed snapping. Replaced lots of g_object_get() by simply accessing
2006-11-04  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangletool.c: fixed snapping. Replaced lots of
	g_object_get() by simply accessing private->member. Misc small
	cleanups.
2006-11-04 19:21:15 +00:00
Sven Neumann 64e893e62f there's no need to make GTypeInfo and GInterfaceInfo structs static.
2006-10-18  Sven Neumann  <sven@gimp.org>

        * [lots of files]: there's no need to make GTypeInfo and
        GInterfaceInfo structs static.
2006-10-18 13:17:50 +00:00
Michael Natterer 1b1299aff3 added GError** parameter to GimpPaintCore::start().
2006-09-26  Michael Natterer  <mitch@gimp.org>

	* app/paint/gimppaintcore.[ch]: added GError** parameter to
	GimpPaintCore::start().

	* app/tools/gimppainttool.c (button_press): display the error in
	the statusbar.

	* app/paint/gimppaintcore-stroke.c: pass a NULL error, effectively
	swallowing mssages. Will fix that later.

	* app/paint/gimpbrushcore.c
	* app/paint/gimpclone.c
	* app/paint/gimpsourcecore.c: changed accordingly. Set the error
	instead of calling g_message().

	* app/paint/gimpheal.c
	* app/paint/gimpperspectiveclone.c: implement start() and bail out
	early on indexed drawables instead of showing a g_message() in
	other functions that are called later.

	* app/tools/gimptool.[ch]: added GError** to GimpTool::initialize().

	* app/tools/gimptool.c (gimp_tool_initialize): display the error
	in the statusbar. Keep the external API GError-free.

	* app/tools/gimprectangletool.[ch]: added GError** to
	gimp_rectangle_tool_initialize().

	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpperspectiveclonetool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/gimptransformtool.c: changed accordingly. Set the
	errors in initialize() instead of using gimp_message().

	* app/tools/gimpblendtool.c: implement initialize() and bail out
	early on indexed images instead of showing a gimp_message() in
	button_press().
2006-09-26 20:55:40 +00:00
William Skaggs 0b005ffe99 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimpcroptool.c
	* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.[ch]: put back code for responding
	to modifiers pressed after mouse1-down, at mitch's request.
2006-09-23 22:32:35 +00:00
William Skaggs 977952caff Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.[ch]:simplify code by
	removing unneeded properties and getters/setters.
2006-09-23 21:22:33 +00:00
William Skaggs 60611ebb54 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangleoptions.[ch]
	* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.c
	* app/tools/gimpselectionoptions.c: move "auto-shrink"
	and "shrink-merged" from selection options to
	rectangle options where they belong; now shown
	for crop tool as well as rect select.
2006-09-23 20:45:06 +00:00
William Skaggs 2c07e922a2 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/actions/tools-actions.c
	* app/actions/tools-commands.[ch]: add new actions for
	toggling "fixed-aspect" and "fixed-center" options of
	rectangle tools.

	* app/tools/gimprectangletool.[ch]
	* app/tools/gimprectangleselecttool.c
	* app/tools/gimpcroptool.c: rely on new actions for
	keyboard control, not on modifiers pressed after
	mouse1-down.
2006-09-23 19:38:26 +00:00
William Skaggs 7b8d12e0b6 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/widgets/gimppropwidgets.[ch]
	* app/tools/gimprectangleoptions.c
	* app/tools/gimprectangletool.c: more work on option
	layout and handling.
2006-09-22 18:27:21 +00:00
William Skaggs 24546bc818 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/widgets/gimppropwidgets.c (gimp_prop_aspect_ratio_new):
	some small bug-fixes.

	* app/tools/gimprectangleoptions.[ch]: major revision.  Got
	rid of lots of unneeded getter/setter-clutter, simplified
	set of options and appearance of gui.  Still work in progress.

	* app/tools/gimprectangleselectoptions.c
	* app/tools/gimprectangletool.c: corresponding changes.
2006-09-21 20:16:25 +00:00
William Skaggs 7903feff20 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/display/gimpcanvas.[ch]
	* app/tools/gimpdrawtool.[ch]: remove recently added code relating
	to stippled xor drawing -- not handled well by some display
	drivers.

	* app/tools/gimprectangletool.c: improve drawing of handles.
2006-09-20 20:23:49 +00:00
William Skaggs 73a25c2a61 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimpairbrushtool.c
	* app/tools/gimpaligntool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimphealtool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppaintbrushtool.c
	* app/tools/gimppenciltool.c
	* app/tools/gimpperspectiveclonetool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimpsmudgetool.c
	* app/tools/gimptexttool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/gimpvectortool.c:  Apply patch from J. Baker,
	with some modifications, to improve tooltips and tool
	names.  Almost fixes bug .
2006-09-18 18:00:22 +00:00
William Skaggs 3c2c165b9c Bill Skaggs <weskaggs@primate.ucdavis.edu>
Trying to implement some usability recommendations from
	Peter Sikking: bigger handles, more feedback to user.

	* app/display/gimpcanvas.[ch]: add
	GIMP_CANVAS_STYLE_XOR_STIPPLED to set of styles.

	* app/tools/gimpdrawtool.[ch]
	(gimp_draw_tool_draw_rectangle_stippled): new function.
	Needs a better stipple pattern, though.

	* app/tools/gimprectangletool.c: bigger handles in corners,
	and highlight thing that user is currently moving.
2006-09-15 00:01:59 +00:00
William Skaggs 769fd8c5a3 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/widgets/gimprectangletool.c: even if constraining to boundaries,
	keep updating rectangel when pointer goes outside boundaries.
	Fixes bug .
2006-09-14 21:51:35 +00:00
William Skaggs 4ff0ca1c38 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/widgets/gimppropwidgets.[ch]: add prop widget specially
	for controlling aspect ratio.

	* app/tools/gimprectangleoptions.ch]: use "aspect-numerator"
	and "aspect-denominator" properties instead of "aspect",
	and use new prop widget in gui to set and display them.

	* app/tools/gimprectangletool.c: calculate aspect from
	numerator and denominator.
2006-09-14 17:11:24 +00:00
Michael Natterer 868b8afbff Added new tool API for modifier key events while the tool is active and
2006-09-12  Michael Natterer  <mitch@gimp.org>

	Added new tool API for modifier key events while the tool
	is active and implement it in the rect select and crop tools.
	Fixes bug  and bug .

	* app/tools/gimptool.[ch]: added GimpTool::active_modifier_key()
	and public function gimp_tool_set_active_motifier_state(). Remember
	the active_state at button_press and reset it on button_release.
	Ignore releases of modifiers that were pressed at button_press (but
	only ignore them once).

	* app/tools/tool_manager.[ch]: added wrapper
	tool_manager_active_modifier_state_active().

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_events): return FALSE for all modifiers even
	when mouse button 1 is pressed.

	(gimp_display_shell_canvas_tool_events): when bouse button 1 is
	pressed *and* the tool is active, dispatch the new active_modifier
	events to tools.

	* app/tools/gimpcroptool.c
	* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.[ch]: implement active_modifier_key()
	instead of modifier_key().
2006-09-12 18:41:09 +00:00
Michael Natterer 05cd50c9f6 app/display/gimpdisplayshell-callbacks.c
2006-09-12  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimprectangletool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimpsourcetool.c
	* app/tools/gimpvectortool.c: back out change committed on
	2006-08-21 which passed modifier events to tools even while mouse1
	was down. This generated way too much unexpected events that would
	have to be special cased in all tools. Will implement an anternate
	solution soon.
2006-09-12 08:33:30 +00:00
William Skaggs 5e9dc3c0d8 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/tools-enums.[ch]: add GimpRectangleConstraint
	enum.

	* app/tools/gimprectangletool.[ch]: replace "constrain"
	boolean with "constraint" enum property.  Implement
	constraints in motion handler -- the implementation
	is rather elegant but pretty tricky.

	* app/tools/gimpcroptool.c: constrain to image bounds,
	or to active drawable bounds if "current layer only"
	option is checked.

	* app/tools/gimpellipseselecttool.c
	* app/tools/gimprectangleselecttool.c: no constraint.

	This addresses bug  -- I would say fixes it, but it
	probably needs some fine-tuning.  Also perhaps fixes
	bug  a bit better than before.
2006-09-06 22:51:54 +00:00
Michael Natterer 6c7f0c6830 added gimp_tool_get_options() so tools don't need to incude
2006-09-05  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptool.[ch]: added gimp_tool_get_options() so tools
	don't need to incude "core/gimptoolinfo.h" just to get to
	their options.

	* app/tools/gimp*tool.h: added macros GIMP_FOO_TOOL_GET_OPTIONS()
	which return specific tool options types and do all casting
	themselves.

	* app/tools/*.c: use the new macros and don't include
	"core/gimptoolinfo.h" in most files.

	* app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_register):
	make it use the parent context's FG and BG.

	* app/tools/gimpcolortool.c (gimp_color_tool_real_picked): set the
	color on the tool's options, not on the user context.
2006-09-05 18:25:31 +00:00
William Skaggs 588a77fa2b Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion):
	respect "fixed-center" constraint even if "fixed-aspect"
	or "aspect-square" constraints are active.
2006-08-22 16:16:36 +00:00
William Skaggs 43b02f10ee Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion):
	remove some constraining code that shouldn't have been there,
	and simplify a bit.
2006-08-22 15:58:14 +00:00
William Skaggs d4f2171301 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/display/gimpdisplayshell-callbacks.c: allow modifier key events
	for Shift and Control to be propagated even if button1 is down.

	* app/tools/gimpclonetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimpvectortool.c: change  modifier_key method
	to prevent any bad consequences.

	* app/tools/gimprectangletool.[ch]:  add modifier_key handler, and use it
	to toggle "make-square" if Shift is pressed while button1 is down, and
	"fixed-center" if Control is pressed while button1 is down.

	* app/tools/gimprectangleselecttool.c (gimp_rectangle_tool_modifier_key):
	call rectangle tool modifer_key method after chaining up.
2006-08-21 17:10:29 +00:00
Sven Neumann 36b4860e6d simplified code for statusbar display.
2006-08-14  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion):
	simplified code for statusbar display.
2006-08-14 14:17:18 +00:00
Sven Neumann f47007d897 changed the limits for "pressx" and "pressy". It's wrong to disallow
2006-08-14  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c: changed the limits for "pressx"
	and "pressy". It's wrong to disallow negative values here.
2006-08-14 14:06:38 +00:00
Sven Neumann 29a494d146 made GimpToolOptions a prerequisite of the GimpRectangleOptions interface.
2006-08-08  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangleoptions.c
	(gimp_rectangle_options_interface_get_type): made
GimpToolOptions a
	prerequisite of the GimpRectangleOptions interface.

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_interface_get_type): made GimpDrawTool a
	prerequisite of the GimpRectangleTool interface.
2006-08-08 11:51:04 +00:00
Karine Delvare f72524032c Applied patch from Karl Günter Wünsch which finishes improving rectangle
2006-08-06  Karine Delvare  <edhel@gimp.org>

	* app/tools/gimprectangletool.c: Applied patch from Karl Günter
	Wünsch which finishes improving rectangle tools behaviour when
	resizing with fixed ratio. Fixes bug .
2006-08-06 09:17:28 +00:00
Karine Delvare 58fa28a58d Applied patch from Karl Günter Wünsch which Corrects the asyncronicity
2006-07-31  Karine Delvare  <edhel@gimp.org>

	* app/tools/gimprectangletool.c: Applied patch from Karl Günter
	Wünsch which Corrects the asyncronicity between mouse cursor and
	selected edge on egde resizing. Partial fix for bug .
2006-07-31 20:46:40 +00:00
Karine Delvare d16cfa55d7 check zero division in the right place. Fixes bug .
2006-07-30  Karine Delvare  <edhel@gimp.org>

	* app/tools/gimprectangletool.c: check zero division in the right
	place. Fixes bug .
2006-07-30 19:38:50 +00:00
William Skaggs c646d2eee5 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangleselecttool.c: if there is a floating selection
	and mouse is clicked outside it without movement, anchor it.

	* app/tools/gimprectangletool.c: corner handle area was scaling
	improperly when image was zoomed.
2006-06-21 15:25:10 +00:00
William Skaggs 131aad120c Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.c: fix three issues identified by
	jimmac: (1) when shift or ctrl are pressed, should start a new
	rect regardless of pointer loc; (2) zoom was incorrectly affecting
	width of sensitive areas; (3) must emit "rectangle-changed" after
	keyboard-driven rectangle movement.
2006-06-12 21:15:22 +00:00
William Skaggs 77c4b0541e Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangleselecttool.c: handle situations
	where the user "flips" the rectangle while modifying it.
	This solution is not perfect, but better than before.

	* app/tools/gimprectangletool.c: remove unneeded variable.
2006-06-11 23:59:33 +00:00
William Skaggs 990e475d77 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.c: make auto-shrink work.  Does
	the wrong thing for ellipse-select, though.
2006-06-11 18:52:42 +00:00
William Skaggs 36ee184375 Bill Skaggs <weskaggs@primate.ucdavis.edu>
Here is the big change-over, finally.

	* app/tools/gimprectselecttool.[ch]: removed.

	* app/tools/Makefile.am
	* app/tools/gimp-tools.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimpellipseselecttool.h
	* app/tools/gimpnewrectselectoptions.c
	* app/tools/gimpnewrectselectoptions.h
	* app/tools/gimpnewrectselecttool.c
	* app/tools/gimpnewrectselecttool.h
	* app/tools/gimpselectionoptions.c
	* app/widgets/gimptoolbox.c
	* menus/image-menu.xml.in: get rid of the "new" in everything
	referring to the new rect select tool, except filenames.  This
	will wait for yosh to perform cvs-magic-foo.

	* app/tools/gimprectangleoptions.[ch]
	* app/tools/gimprectangletool.[ch]: fix a couple of minor
	problems that popped up during testing.
2006-06-10 18:24:58 +00:00
William Skaggs 4742424b78 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimpcroptool.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimprectangletool.[ch]: code cleanups

	* app/tools/gimpnewrectselecttool.[ch]: try to do what
	the user intuitively expects when deciding which selection
	operation to perform.  When modifying an existing rectangle,
	always use the operation with which it was created.
2006-06-10 16:49:07 +00:00
Sven Neumann 09c605e28f initialize guide with the option's guide value.
2006-06-07  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c
(gimp_rectangle_tool_initialize):
	initialize guide with the option's guide value.
	(gimp_rectangle_tool_notify_guide): always sync with the
option's
	guide value, even when tool->display is NULL.
2006-06-06 22:24:36 +00:00
Karine Delvare 5113488f94 added guide notification.
2006-06-06  Karine Delvare  <edhel@gimp.org>

	* app/tools/gimprectangle.c: added guide notification.
2006-06-06 21:06:06 +00:00
Sven Neumann 73bdbfb43a removed unused variable; other cleanups.
2006-06-06  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_draw):
removed
	unused variable; other cleanups.
2006-06-06 19:25:53 +00:00
Karine Delvare 0dc6775637 cleanup, moved the guide drawing to a utility function.
2006-06-06  Karine Delvare  <edhel@gimp.org>

	* app/tools/gimprectangletool.c: cleanup, moved the guide drawing
	to a utility function.
2006-06-06 19:14:25 +00:00
Sven Neumann 563af4aea9 minor cleanup.
2006-06-06  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_notify_highlight): minor cleanup.
2006-06-06 18:07:04 +00:00
Michael Natterer b18a520b3f flush the image after changing it.
2006-06-06  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpnewrectselecttool.c
	(gimp_new_rect_select_tool_cancel)
	(gimp_new_rect_select_tool_rectangle_changed): flush the image
	after changing it.

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_halt): don't
	flush it here.
2006-06-06 08:04:49 +00:00
Michael Natterer 5e30f2f1d6 use GimpDrawTool API, not GimpCanvas one. Some cleanup.
2006-06-05  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_draw): use
	GimpDrawTool API, not GimpCanvas one. Some cleanup.
2006-06-05 20:48:58 +00:00
Karine Delvare 23f86e93b8 added GimpRectangleGuide enum.
2006-06-05  Karine Delvare  <edhel@gimp.org>

	* app/tools/tools-enums.[ch]: added GimpRectangleGuide enum.

	* app/tools/gimpcropoptions.c
	* app/tools/gimprectangleoptions.[ch]
	* app/tools/gimprectangletool.c: added GimpRectangleGuide option to
	draw guides inside the rectangle. Fixes bug .
2006-06-05 18:50:13 +00:00
Michael Natterer d2911f6aee removed enum GimpRectangleMode.
2006-06-05  Michael Natterer  <mitch@gimp.org>

	* app/tools/tools-enums.[ch]: removed enum GimpRectangleMode.

	* app/tools/gimprectangletool.[ch]: added virtual function
	GimpRectangleTool::cancel(). Added public wrapper for it. Removed
	coordinates paramaters from gimp_rectangle_tool_execute(). Removed
	gimp_rectangle_tool_response(), need to call either execute() or
	cancel() now. Added gimp_rectangle_tool_halt() which disconnects
	the tool from the display without canceling it.

	* app/tools/gimpcroptool.c: changed accordingly.

	* app/tools/gimpnewrectselecttool.c: moved the rectangle creating
	code from the execute() implementation to the new function
	gimp_new_rect_select_tool_rect_select(). Added cancel()
	implementation which pops the remembered undo step if
	appropriate. Call the new rect_select() wrapper from
	rectangle_changed() so we don't create the rectangle on both
	button_release *and* execute(), breaking modifiers and stuff.
2006-06-05 17:14:16 +00:00
Sven Neumann 84bac48c7c formatting.
2006-06-05  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c: formatting.
2006-06-05 11:18:43 +00:00
William Skaggs 26db965dd5 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangletool.c:
	* app/tools/gimpnewrectselecttool.c: enable canceling of
	current action by holding down mouse button 3.
2006-06-04 20:34:46 +00:00
William Skaggs e9e265309d Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangletool.c (gimp_rectangle_tool_draw):
	draw anchors in corners; clean up code a bit.

	* app/tools/gimpnewrectselecttool.c: actually remove some code
	previously commented out.
2006-06-04 18:21:56 +00:00
William Skaggs 3e4d8075c7 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangletool.[ch]: add new signal
	"rectangle-changed" and method rectangle_changed.
	Emit them on button release and when dimensions are
	changed in controls.

	* app/tools/gimpnewrectselecttool.c: use rectangle_changed
	method to change selection, undoing previous change if
	necessary.
2006-06-04 17:08:26 +00:00
William Skaggs ac72c78cea Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangletool.c: move statically declared
	variables into "private" struct.
2006-06-02 22:24:55 +00:00
William Skaggs 84dadb1819 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangletool.[ch]: add new function RECT_INACTIVE
	for cases where no rectangle exists.  This may take some
	tweaking to get right.
2006-06-02 19:34:47 +00:00
William Skaggs 7c90b66c36 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangletool.c (gimp_rectangle_tool_button_press):
	if function is RECT_CREATING, start a new rectangle.

	* app/tools/gimpnewrectselecttool.c: remove g_printerr statement that
	mitch added for debugging.
2006-06-02 16:12:31 +00:00
Michael Natterer d1a76d93f7 cursors/Makefile.am cursors/cursor-corner-bottom-left.png
2006-06-02  Michael Natterer  <mitch@gimp.org>

	* cursors/Makefile.am
	* cursors/cursor-corner-bottom-left.png
	* cursors/cursor-corner-bottom-right.png
	* cursors/cursor-corner-top-left.png
	* cursors/cursor-corner-top-right.png
	* cursors/cursor-side-bottom.png
	* cursors/cursor-side-left.png
	* cursors/cursor-side-right.png
	* cursors/cursor-side-top.png
	* cursors/xbm/cursor-corner-bottom-left-mask.xbm
	* cursors/xbm/cursor-corner-bottom-left.xbm
	* cursors/xbm/cursor-corner-bottom-right-mask.xbm
	* cursors/xbm/cursor-corner-bottom-right.xbm
	* cursors/xbm/cursor-corner-top-left-mask.xbm
	* cursors/xbm/cursor-corner-top-left.xbm
	* cursors/xbm/cursor-corner-top-right-mask.xbm
	* cursors/xbm/cursor-corner-top-right.xbm
	* cursors/xbm/cursor-side-bottom-mask.xbm
	* cursors/xbm/cursor-side-bottom.xbm
	* cursors/xbm/cursor-side-left-mask.xbm
	* cursors/xbm/cursor-side-left.xbm
	* cursors/xbm/cursor-side-right-mask.xbm
	* cursors/xbm/cursor-side-right.xbm
	* cursors/xbm/cursor-side-top-mask.xbm
	* cursors/xbm/cursor-side-top.xbm: new cursors for edge and corner
	resizing. They perfectly align with the small crosshair and can be
	used together with tool cursors and cursor modifiers.

	* cursors/gimp-tool-cursors.xcf: add them here too.

	* app/widgets/widgets-enums.h: add them to the GimpCursorType enum.

	* app/widgets/gimpcursor.c: add them here too.

	* app/display/gimpdisplayshell-cursor.c: treat them like the small
	crosshair (don't replace them by the small crosshair but use them
	as-is). Also allow the bad modifier with the large crosshair.

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_cursor_update): use the new cursors. Don't
	call gimp_tool_set_cursor() here.

	(gimp_rectangle_tool_response): reset "function" to RECT_CREATING
	when resetting the tool.

	* app/tools/gimpselectiontool.[ch] (struct GimpSelectionTool):
	added boolean member "allow_move" which defalts to TRUE.

	(gimp_selection_tool_oper_update): don't move masks, floating
	selections or anything when "allow_move" is FALSE. Changed
	behavior of click inside a selection to simply create a new
	selection, need to press alt+shift now to drag-float the
	selection. Please test this, it's apretty fundamental change!

	(gimp_selection_tool_cursor_update): use the tool's configured
	cursor instead of always GIMP_CURSOR_MOUSE, so this function can
	be called after gimp_rectangle_tool_cursor_update() to add the
	plus, minus etc. modifiers.

	* app/tools/gimpnewrectselecttool.c: implement
	GimpTool::cursor_update() and call
	gimp_rectangle_tool_cursor_update() from there. Chain up to get
	the plus, minus etc. modifiers added.

	Re-enble selection moving:

	(gimp_new_rect_select_tool_oper_update): set GimpSelectionTool's
	"allow_move" to FALSE unless the rectangle tool is in an idle
	state.

	(gimp_new_rect_select_tool_button_press): allow a selection moving
	to be started if the rectangle tool is idle. Fall back to starting
	a rect select if gimp_selection_tool_start_edit() returned FALSE.
2006-06-02 15:23:47 +00:00
William Skaggs 8387dd98a4 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangletool.[ch]: add "constrain" property
	to specify whether to clip at image bounds when computing
	dimensions.

	* app/tools/gimpcroptool.c
	* app/tools/gimpnewrectselecttool.c: set "constrain" to TRUE.

	* app/tools/gimpellipseselecttool.c: set "constrain" to FALSE.

	Hopefully fixes bug .
2006-05-31 19:45:38 +00:00
Karine Delvare 4d0e186ea9 app/tools/gimpcroptool.c app/tools/gimpnewrectselecttool.c eek, I broke
2006-05-23  Karine Delvare  <edhel@gimp.org>

	* app/tools/gimpcroptool.c
	* app/tools/gimpnewrectselecttool.c
	* app/tools/gimprectangletool.[ch]: eek, I broke the build.
2006-05-23 17:37:18 +00:00
Karine Delvare f1d058df5e check if the tool has a display before using it
2006-05-16  Karine Delvare  <edhel@gimp.org>

	* app/tools/gimprectangletool.c: check if the tool has a display
	before using it
2006-05-16 17:21:07 +00:00