Commit Graph

197 Commits

Author SHA1 Message Date
d1825782ea avoid excessive use of strdup() and strcmp(). The strings are all constant
2004-08-30  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpvectortool.[ch] (gimp_vector_tool_status_set):
	avoid excessive use of strdup() and strcmp(). The strings are all
	constant anyway.
2004-08-30 15:08:02 +00:00
96e8b93e2a fixed drawing code to properly update after deleting nodes via
2004-06-28  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.c: fixed drawing code to properly
	update after deleting nodes via BackSpace/Delete.
2004-06-27 23:00:46 +00:00
02b91f6628 app/tools/gimptool.[ch] added boolean return value to
2004-06-24  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptool.[ch]
	* app/tools/tool_manager.[ch]: added boolean return value to
	GimpTool::key_press() which indicates if the event was handled.

	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.[ch]
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c: return TRUE if the key event was handled.

	* app/tools/gimppainttool.c: removed key_press() implementation.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcontrollerkeyboard.[ch]: new controller class
	which takes GdkEventKey and emits controller events for all
	combinations of modifiers and cursor keys.

	* app/widgets/gimpcontrollers.[ch]: added new function
	gimp_controllers_get_keyboard().

	* app/display/gimpdisplayshell-callbacks.c: if a key event was not
	handled by the active tool, dispatch it to the keyboard controller.

	* etc/controllerrc: add a keyboard controller which is configured
	to do the same as the removed gimp_paint_tool_key_press().
2004-06-24 10:16:08 +00:00
b4197cf30e Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/*.c: HIGify capitalization for dialogs.  More
	progress on bug #123699.
2004-06-23 20:29:46 +00:00
3fe1753e1a Make the Enter/Return key do the crop action.
2004-06-12  Simon Budig  <simon@gimp.org>

	* app/tools/gimpcroptool.c: Make the Enter/Return key do
	the crop action.

	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpvectortool.c: Make the _key_press functions
	safe for non-arrow keys.
2004-06-12 19:29:50 +00:00
3c1b7fe68f renamed the "arrow_key" member to "key_press", since it is now no longer
2004-06-12  Simon Budig  <simon@gimp.org>

	* app/tools/gimptool.[ch]: renamed the "arrow_key" member
	to "key_press", since it is now no longer about just the arrow
	keys.

	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpeditselectiontool.h
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimptexttool.c
	* app/tools/gimpvectortool.c
	* app/tools/tool_manager.c: Changed accordingly.
2004-06-12 18:41:52 +00:00
39614b34a6 renamed tool_manager_arrow_key_active to tool_manager_key_press_active.
2004-06-12  Simon Budig  <simon@gimp.org>

	* app/tools/tool_manager.[ch]: renamed
	tool_manager_arrow_key_active to tool_manager_key_press_active.

	* app/display/gimpdisplayshell-callbacks.c: Also dispatch
	GDK_Return/KP_Enter/BackSpace/Delete to the tools "arrow_key"
	member of GimpTool probably should be renamed.

	* app/tools/gimpvectortool.c: Use Enter/Return to convert the
	current path to a selection, use Backspace/Delete to delete the
	currently active anchors in a path.

	Implemented on Jimmacs request - thanks for being a great host  :)
2004-06-12 18:03:48 +00:00
714d63fcda cursors/Makefile.am cursors/cursor-none.png new empty cursor images.
2004-06-05  Michael Natterer  <mitch@gimp.org>

	* cursors/Makefile.am
	* cursors/cursor-none.png
	* cursors/xbm/cursor-none.xbm: new empty cursor images.

	* app/config/gimpdisplayconfig.[ch]
	* app/config/gimprc-blurbs.h
	* app/widgets/widgets-enums.h
	* app/widgets/gimpcursor.c
	* app/display/gimpdisplayshell-cursor.c
	* app/tools/gimppainttool.[ch]
	* app/tools/gimpinktool.c
	* app/gui/preferences-dialog.c: applied patches from Philip
	Lafleur which implement hiding the cursor completely for paint
	tools. Changed the name of the config option from
	"hide-paint-tool-cursor" to "show-paint-tool-cursor" and default
	to TRUE because this needs the brush outline being visible while
	painting to be really usable. Fixes bug #132163.

	* app/widgets/widgets-enums.h: renamed all GimpCursorType and
	GimpToolCursorType enum values to GIMP_CURSOR_* and
	GIMP_TOOL_CURSOR_*.

	* app/widgets/gimpcursor.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-cursor.c
	* app/tools/gimp*tool.c; changed accordingly.
2004-06-04 23:08:29 +00:00
2a84015e39 stripped the menu paths from the "menu_path". Will be renamed to
2004-04-29  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimp*tool.c (gimp_*_tool_register): stripped the menu
	paths from the "menu_path". Will be renamed to "action_name" or
	something soon...

	* plug-ins/dbbrowser/dbbrowser.c
	* plug-ins/common/plugindetails.c
	* plug-ins/common/uniteditor.c: register under the new
	"Extensions" placeholder.
2004-04-29 13:19:28 +00:00
13b46f4847 fixed condition which triggers the path tool's undo hack. Fixes bug
2004-03-25  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpvectortool.c (gimp_vector_tool_button_release):
	fixed condition which triggers the path tool's undo hack.  Fixes
	bug #138086. Also g_object_unref() the undo step.

	Removed trailing whitespace.
2004-03-25 12:46:20 +00:00
a08efc86bd Assigned "b" as the default shortcut for the path tool ("Bezier").
2004-03-20  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.c: Assigned "b" as the default shortcut
	for the path tool ("Bezier").

	Fixes bug #137753.
2004-03-20 15:28:28 +00:00
70671753ae app/base/cpu-accel.c app/display/gimpdisplayshell-dnd.c
2004-03-10  Simon Budig  <simon@gimp.org>

	* app/base/cpu-accel.c
	* app/display/gimpdisplayshell-dnd.c
	* app/tools/gimpvectortool.c
	* app/vectors/gimpbezierstroke.c
	* app/vectors/gimpvectors-import.c: Removed, disabled or
	conditionalized some debug output.

	There still is debug output when pushing/popping the move tool
	via space bar. Mitch wanted to look at that.
2004-03-10 15:10:34 +00:00
9d8df85168 do nothing in _button_press when the tool is in the VECTORS_FINISHED
2004-01-26  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.c: do nothing in _button_press when
	the tool is in the VECTORS_FINISHED state.
	Fixes bug #132508.
2004-01-25 23:51:18 +00:00
c1350d177a Fixed missing undo step when moving (components of) the path. Don't add an
2003-12-31  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.[ch]: Fixed missing undo step when
	moving (components of) the path. Don't add an undo step when
	nothing changes.

	Also rephrased the help strings in the statusbar to be shorter
	and encourage the user to try shift. Fixes bug #124025.
2003-12-31 02:10:09 +00:00
e95b38e66c Do not move anchors in edit mode.
2003-12-30  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.c: Do not move anchors in edit mode.

	Fixes bug #124973.
2003-12-30 22:22:54 +00:00
7914b59223 Removed private statusbar gdisplay pointer. Now help texts are only shown
2003-12-19  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.[ch]: Removed private statusbar
	gdisplay pointer. Now help texts are only shown on the gdisp
	of the tool. Fixes bug #128209
2003-12-19 19:23:37 +00:00
832b51b5a8 Since GimpVectorTool is no GimpSelectionTool, it does not make sense to
2003-11-15  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectoroptions.[ch]: Since GimpVectorTool is no
	GimpSelectionTool, it does not make sense to have
	GimpSelectionOptions for it.

	* app/tools/gimpvectoroptions.c
	* app/tools/gimpvectortool.c: Connect the Buttons to the
	Help system and make the to-selection Button modifier
	aware.
2003-11-14 23:10:24 +00:00
31a72d1bd3 Add two buttons to the Tool Options
2003-11-14 Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectoroptions.c: Add two buttons to the
	Tool Options

	* app/tools/gimpvectortool.c: Use them for stroking a path
	and converting a path to a selection, to make this functionality
	more obvious.
2003-11-14 03:01:52 +00:00
1f3702a575 Changed the priority of ALT vs. CTRL. Resolves an small issue with
2003-10-22 Simon Budig  <simon@gimp.org>

        * app/tools/gimpvectortool.c: Changed the priority
        of ALT vs. CTRL. Resolves an small issue with (broken)
        window managers that grab ALT. Implements the suggestion
        from Raymond Ostertag in bug #124971.
2003-10-22 20:55:45 +00:00
f0372cad0f Treat changes to the selection like changes to any other drawable:
2003-10-06  Michael Natterer  <mitch@gimp.org>

	Treat changes to the selection like changes to any other drawable:

	* app/core/gimpchannel.c
	* app/core/gimpchannel-combine.c: call gimp_drawable_update() after
	changing the channel.

	* app/core/gimpimage.[ch]: added struct GimpImageFlushAccumulator
	with one member "gboolean mask_changed". Connect to "update" of
	the selection and set accum.mask_changed to TRUE in the callback.
	Added default implementation for GimpImage::flush() and emit
	"mask_changed" there.

	Unrelated:
	* app/core/gimpimage.h: removed GimpGuide struct...
	* app/core/gimpimage-guides.h: ...and added it here.

	* app/core/gimpimage-undo-push.c (undo_pop_mask)
	(undo_pop_channel_mod): don't distinguish between selection and
	non-selection channels and just call gimp_drawable_update().

	* app/core/gimpundo.h
	* app/core/gimpimage-undo.c: removed "gboolean mask_changed" from
	the GimpUndoAccumulator struct since we don't have to care about
	that signal explicitly any more.

	* app/display/gimpdisplay-foreach.[ch]: removed gimp_displays_flush().

	* tools/pdbgen/pdb/display.pdb (displays_flush_invoker): call
	gimp_image_flush() on all images so the flush accumulator is
	honored.

	This generalization enables the removal of more special purpose
	code which was needed to treat the selection different:

	* app/core/gimpimage-mask-select.[ch]: removed...

	* app/core/gimpchannel-select.[ch]: ...and added under a new name
	because it's not selection specific any more.

	* app/core/gimpimage-mask.[ch]: removed...

	* app/core/gimpselection.[ch]: ...added the two remaining
	functions here. Removed all calls to gimp_image_mask_changed().

	* app/core/Makefile.am
	* app/core/gimp-edit.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage-snap.c
	* app/display/gimpdisplayshell.c
	* app/gui/channels-commands.c
	* app/gui/layers-commands.c
	* app/gui/select-commands.c
	* app/gui/vectors-commands.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimpvectorstreeview.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/paths.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/selection_tools.pdb: changed accordingly.

	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpimage-colormap.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/gui/image-menu.c
	* app/paint/gimppaintcore.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpinkoptions.c
	* app/tools/gimpvectortool.c: removed useless and/or obsolete
	#includes.

	* app/pdb/display_cmds.c
	* app/pdb/paths_cmds.c
	* app/pdb/selection_cmds.c
	* app/pdb/selection_tools_cmds.c: regenerated.
2003-10-06 12:17:11 +00:00
02f375b8d4 Made the preview respect the aspect ratio and resolutions of the image.
2003-09-29  Simon Budig  <simon@gimp.org>

	* app/widgets/gimppreviewrenderervectors.c: Made the preview
	respect the aspect ratio and resolutions of the image. There
	apparently still is an off-by-one error in it.

	* app/tools/gimpvectortool.c: (Hopefully) fixed a crash when a new
	image gets opened with the vectors tool active.
2003-09-29 16:35:30 +00:00
2c212214fe Fixed vectors stroking on GRAY* and INDEXED* layers.
2003-09-23  Simon Budig  <simon@gimp.org>

	* app/core/gimpdrawable-stroke.c: Fixed vectors stroking on
	GRAY* and INDEXED* layers.

	* app/tools/gimpvectortool.c: Made the polygonal mode more
	consistent.
2003-09-22 23:19:22 +00:00
fa450f09b5 Previous commit got a broken pipe. 2003-09-21 19:09:56 +00:00
1ac86b5a90 Show a little help in the status bar. Maybe the functions I implemented to
2003-09-19  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.[ch]: Show a little help in the
	status bar. Maybe the functions I implemented to track
	the status of the status bar should live in a parent class.
	Still behaves a little weird, but I need help to fix it and it
	does not crash, so I committed it anyway...  :-)
2003-09-18 23:58:37 +00:00
66a49483a7 Renamed the modes of the vector tools: - Design (creative stuff: placing
2003-09-18  Simon Budig  <simon@gimp.org>

	* app/tools/tools-enums.h: Renamed the modes of the vector tools:
	    - Design  (creative stuff: placing of new anchors /
	                               moving anchors/segments)
	    - Edit    (technical stuff: inserting/deleting anchors/segments)
	    - Move    (moving strokes/vectors)

	Jimmac: These need icons...  :-)

	* app/tools/tools-enums.c: regenerated

	* app/tools/gimpvectoroptions.c
	* app/tools/gimpvectortool.c: changed accordingly.
2003-09-18 14:54:54 +00:00
6b2ca702ad app/paint/Makefile.am removed... ...and added.
2003-09-18  Michael Natterer  <mitch@gimp.org>

	* app/paint/Makefile.am
	* app/paint/paint.[ch]: removed...
	* app/paint/gimp-paint.[ch]: ...and added.

	* app/core/gimp.c: changed accordingly.

	* app/tools/Makefile.am
	* app/tools/tools.[ch]: removed...

	* app/tools/gimp-tools.[ch]: ...and added. Added
	gimp_tools_restore() and gimp_tools_save() and moved the entire
	tool registering and tool_options loading/saving code here. Call
	tool_manager_init() from gimp_tools_init() and tool_manager_exit()
	from gimp_tools_exit().

	* app/tools/tool_manager.[ch]: removed the code which now lives
	in gimp-tools.[ch]. The tool manager now has no knowledge about
	individual tools any more and just handles the active_tool
	and the tool part of tool <-> display interaction.
	Removed tool_manager_get_info_by_type().

	* app/tools/gimpvectortool.c (gimp_vector_tool_register): the
	tool's identifier is "gimp-vector-tool", not "gimp-path-tool".

	* app/app_procs.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/gui/vectors-commands.c
	* app/tools/gimppainttool.c: changed accordingly.
2003-09-18 13:51:10 +00:00
3b1c873724 app/vectors/gimpstroke.[ch] added the endpoint of the segment to the list
2003-09-18  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpstroke.[ch]
	* app/vectors/gimpbezierstroke.c: (gimp_stroke_nearest_point_get)
	added the endpoint of the segment to the list of returned values.

	* app/tools/gimpdrawtool.[ch]: (gimp_draw_tool_on_vectors_curve)
	return the endpoint also.

	* app/tools/gimpvectortool.[ch]: Use that to activate the
	to-be-changed anchors when dragging on the curve directly.

	* app/tools/gimpmovetool.[ch]: changed accordingly.
2003-09-18 13:20:40 +00:00
90bf56c75b Cursor keys now move the currently active anchors, SHIFT and CTRL increase
2003-09-18  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.c: Cursor keys now move the currently
	active anchors, SHIFT and CTRL increase the steps.

	* MAINTAINERS: Added myself in an attack of hubris...
2003-09-18 00:42:26 +00:00
66cc2b98b5 app/vectors/gimpstroke.[ch] Changed gimp_*_anchor_select to accept the
2003-09-17  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpstroke.[ch]
	* app/vectors/gimpvectors.[ch]: Changed gimp_*_anchor_select to
	accept the selection state as an argument.

	* app/tools/gimpdrawtool.[ch]: Added "exclusive" boolean parameter
	to gimp_draw_tool_on_vectors_handle(), so that you can specify
	that you just get exactly the type of anchor you want to have.

	* app/tools/gimpvectortool.[ch]: Handling of multiple selected
	anchors: Shift-Clicking in Extend mode selects them, you can
	move them together.
2003-09-17 21:49:45 +00:00
12a4cc19bc smallish change to enable dragging out of handles again. It is now
2003-09-17  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.c: smallish change to enable
	dragging out of handles again. It is now dragging handles
	out of anchors, when click/dragging on them in Insert/Delete
	mode. Deletion of nodes now requires the SHIFT modifier.
2003-09-17 13:08:19 +00:00
69e11c9af2 added "GimpVectorMode saved_mode" to the GimpVectorTool struct.
2003-09-17  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpvectortool.[ch]: added "GimpVectorMode saved_mode"
	to the GimpVectorTool struct.

	(gimp_vector_tool_modifier_key): use it to correctly keep track of
	the modifier state.

	* app/tools/gimpselectiontool.c (gimp_selection_tool_modifier_key):
	moved variable to local scope.
2003-09-17 11:16:55 +00:00
f4942b7255 cursors/hand.xbm removed.
2003-09-17  Michael Natterer  <mitch@gimp.org>

	* cursors/hand.xbm
	* cursors/hand_mask.xbm: removed.

	* cursors/hand_small.xbm
	* cursors/hand_small_mask.xbm: ...and added under new names.

	* cursors/Makefile.am
	* cursors/gimp-tool-cursors.xcf: changed accordingly.

	* app/widgets/widgets-enums.h
	* app/widgets/gimpcursor.c: removed HAND from the GimpCursorModifier
	enum and added it to the GimpToolCursorType enum. We don't have a
	hand tool but this way the hand cursor (which is in the lower
	right corner) can be used together with other cursor modifiers
	(which are in the upper right corner).

	* app/tools/gimpmovetool.c
	* app/tools/gimpvectortool.c: show cursor modifers with the hand
	cursor where appropriate.
2003-09-17 10:42:26 +00:00
a2f699f822 Ok, since the obsolete undo step is invalid the undo_event of the image
2003-09-17  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.c: Ok, since the obsolete undo
	step is invalid the undo_event of the image probably should be
	GIMP_UNDO_EVENT_UNDO_EXPIRED. This fixes at least the undo
	history...
2003-09-17 00:20:42 +00:00
790c11ec98 Restored Mitchs favourite feature :-) (now the cursor indicates if you
2003-09-17  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.[ch]: Restored Mitchs favourite
	feature :-)  (now the cursor indicates if you hover over
	a vectors object when no other one is active...). Also added
	more descriptive Undo names and RMB-Cancel for the Vectors tool.

	Please note, that the RMB-Cancel is implemented using the Undo
	System. I do not really have a clue on that and so right now
	there is an oddity - the undo-object popped from the undo
	stack does not get removed from e.g. the Undo History Dialog.

	Someone with a clue please have a look at that...  :-)
2003-09-16 23:51:56 +00:00
0e407cba35 fixed bogus gimp_item_set_image (GIMP_ITEM (vectors), NULL);
2003-09-15  Simon Budig  <simon@gimp.org>

	* app/core/gimpimage.c: fixed bogus
	gimp_item_set_image (GIMP_ITEM (vectors), NULL);

	* app/tools/gimpdrawtool.[ch]: added gimp_draw_tool_on_vectors:
	checks if the given coordinate is on any vectors object of the image.

	* app/tools/gimpvectortool.[ch]: Changed the tool modes.
	VECTORS_SELECT_VECTORS now is active when the tool does not
	have a current vectors object or the gdisplay is different
	than the one the tool is drawing on. Also the Move mode now
	uses it, when clicking outside the current vectors object.

	Factored out the sanity check of the internal state
	(gimp_vector_tool_verify_state).
2003-09-15 21:12:10 +00:00
5b33524acf added new functions gimp_draw_tool_on_vectors_handle() and
2003-09-12  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpdrawtool.[ch]: added new functions
	gimp_draw_tool_on_vectors_handle() and _on_vectors_curve()
	so they can be used by all GimpDrawTool subclasses.

	* app/tools/gimpvectortool.[ch]: removed the _on_handle() and
	_on_curve() functions here. Connect to "active_vectors_changed" of
	the active_vector's image, so once it has been avtivated, the tool
	follows the path which is selected in the paths dialog.
2003-09-12 16:44:10 +00:00
9c13b724d4 app/core/gimpimage-mask-select.c (gimp_image_mask_select_vectors)
2003-09-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask-select.c (gimp_image_mask_select_vectors)
	* app/paint/gimppaintcore-stroke.c (gimp_paint_core_stroke_vectors)
	* app/display/gimpdisplayshell.c (gimp_display_shell_draw_vector)
	* app/tools/gimpdrawtool.c (gimp_draw_tool_real_draw)
	* app/tools/gimptransformtool.c (gimp_transform_tool_draw)
	* app/tools/gimpvectortool.c (gimp_vector_tool_vectors_visible)
	(gimp_vector_tool_draw): all callers of gimp_stroke_interpolate():
	don't leak the returned GimpCoords array and don't crash if it's
	NULL.

	* app/tools/gimpvectortool.[ch]: added VECTORS_SELECT_VECTOR state
	which enables activating any visible GimpVectors on any display.

	(gimp_vector_tool_on_handle)
	(gimp_vector_tool_on_curve): added a GimpVectors parameter so we
	can check for vectors which are not vector_tool->vectors.

	(gimp_vector_tool_oper_update): iterate gdisp->gimage->vectors
	to figure if we are hovering any visible vectors and set
	VECTORS_SELECT_VECTOR.

	(gimp_vector_tool_button_press): catch VECTORS_SELECT_VECTOR and
	start editing the selected vectors. Also make it the image's
	active_vectors.

	(gimp_vector_tool_button_release): removed unneeded call to
	gimp_viewable_invalidate_preview(vectors).

	Random cleanup all over the place.
2003-09-12 10:04:37 +00:00
3f437bb73b removed all calls to gimp_tool_control_set_preserve() so the tool doesn't
2003-09-12  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpvectortool.c: removed all calls to
	gimp_tool_control_set_preserve() so the tool doesn't get
	confused by the image being dirtied.

	Made it aware of visible vectors:

	(gimp_vector_tool_draw): don't draw the stroke itself if the
	current vectors is visible.

	(gimp_vector_tool_vectors_visible): new callback which just draws
	the stroke itself when the vectors changes visibility.

	(gimp_vector_tool_set_vectors): connect the new callback.
2003-09-12 00:00:23 +00:00
36941635a2 Cleanup. Properly freeze/thaw the vectors.
2003-09-04  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.c: Cleanup. Properly freeze/thaw
	the vectors.
2003-09-03 23:00:47 +00:00
70088acbcd app/vectors/gimpstroke.c Two small hacks to make the editing behave more
2003-09-03  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpstroke.c
	* app/vectors/gimpbezierstroke.c: Two small hacks to make the
	editing behave more symmetric (no more a user visible difference
	between extending to the start or to the end of a stroke).

	* app/tools/gimpvectortool.c: Use dashed lines for the connection
	between the anchor and the handles. Looks great IMHO.
2003-09-03 21:35:24 +00:00
2dec640c62 properly keep track of the active anchor and retrieve that information
2003-09-03  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.[ch]: properly keep track of the
	active anchor and retrieve that information after a _thaw () so
	that proper editing is possible after an undo. Now the
	vector_tool->cur_* variables are constantly updated in
	_oper_update () so that we don't need to determine them in
	_button_press () again.

	On request by Jimmac and Joao connecting two stroke-ends now
	works by activating one endpoint and clicking on the other
	endpoint in Insert/Delete Mode.
2003-09-03 19:52:46 +00:00
a6647f2d00 added simplistic undo, needs polishing.
2003-09-01  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.c: added simplistic undo, needs polishing.
2003-09-01 17:10:55 +00:00
d401ae3b63 fixed stupid int vs. float error that caused rounding errors when moving
2003-08-30  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.[ch]: fixed stupid int vs. float
	error that caused rounding errors when moving in a zoomed view.
	Fixed drawing artefact when connecting strokes did not succeed.
2003-08-29 22:40:13 +00:00
df8ab68d45 further modifier changes. Mail to gimp-devel will follow.
2003-08-29  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.[ch]: further modifier changes.
	Mail to gimp-devel will follow.
2003-08-29 19:55:32 +00:00
e7d0cfadc7 Do not modify the selection state of the anchors. When extending
2003-08-29  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpbezierstroke.c: Do not modify the selection
	state of the anchors. When extending EXTEND_EDITABLE return
	the anchor created (not the handle at the end of the list)

	* app/tools/tools-enums.h: Added new mode-enum for the vector tool.
	* app/tools/tools-enums.c: regenerated

	* app/tools/gimpvectortool.[ch]: Implemented moving (Shortcuts
	ALT and ALT+CTRL. The whole assignment of modifiers right now
	gets revised. Right now you have to use the Tool options to
	switch between the modes of operation. Connecting strokes now
	works in Insert/Delete mode by clicking on startpoint and
	dragging to target endpoint.

	I will write a mail to gimp-devel when the shortcuts are
	setteled a bit more. Sorry for the inconvenience.
2003-08-29 15:17:06 +00:00
08bd7a19b9 app/vectors/gimpstroke.[ch] Implemented function to connect two strokes.
2003-08-27  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpstroke.[ch]
	* app/vectors/gimpbezierstroke.c: Implemented function to
	connect two strokes.

	* app/tools/gimpvectortool.[ch]: Use it. Right now you have
	to click on one endpoint, and then SHIFT+CTRL+ALT-Click on
	the other endpoint.

	Suggestions on how to solve that more sanely are welcome...
2003-08-27 00:31:20 +00:00
47571782a7 Intruduce casting macro GIMP_ANCHOR.
2003-08-26  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpanchor.h: Intruduce casting macro GIMP_ANCHOR.

	* app/tools/gimpvectortool.c
	* app/vectors/gimpstroke.c
	* app/vectors/gimpbezierstroke.c
	* app/vectors/gimpvectors-compat.c: Use it for code readibility.
2003-08-26 14:29:10 +00:00
009766a881 app/vectors/gimpstroke.[ch] Implemented direct moving of the curve. Whee!
2003-08-26  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpstroke.[ch]
	* app/vectors/gimpbezierstroke.c: Implemented direct moving of the
	curve. Whee!  :-)

	* app/tools/gimpvectortool.[ch]: Use it.
2003-08-26 00:27:03 +00:00
14d0ec8b2c app/tools/gimpvectortool.c OK, now valgrind is happy.
2003-08-22  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.c
	* app/vectors/gimpbezierstroke.c: OK, now valgrind is happy.
2003-08-22 15:20:13 +00:00
d368e27e5a app/vectors/gimpstroke.c app/vectors/gimpvectors-preview.c
2003-08-22  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpstroke.c
	* app/vectors/gimpvectors-preview.c
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c: Added missing checking for NULL
	return values. Hopefully this fixes the crashes others are
	observing.
2003-08-22 13:00:25 +00:00