Commit Graph

36 Commits

Author SHA1 Message Date
Ell 615035c101 app, cursors: add GimpToolTransform3DGrid tool widget
Add a new GimpToolTransform3DGrid tool widget, subclassed from
GimpToolTransformGrid, which can be used to perform 3D
transformations.

The widget can be in one of three modes:

  CAMERA - allows adjusting the primary vanishing point by moving a
  handle.

  MOVE   - allows moving the object through dragging.

  ROTATE - allows rotating the object through dragging.

By default, controlling the transformation through dragging applies
to the X and Y axes.  Holding Shift (or setting the "constrain-
axis" property) restricts the motion to only one of the axes.

For the MOVE and ROTATE mode, holding Ctrl (or setting the "z-axis"
property) allows controlling the Z axis instead.

For the same modes, holding Alt (or setting the "local-frame"
property), applies the adjustments in the object's local frame of
reference, instead of the display's global frame of reference.
2020-01-06 21:52:51 +02:00
Michael Natterer ea474f5e78 Bug 795230 - Rename Blend tool and provide PDB compatibility
Rename the tool cursor: blend -> gradient in filename and enum value.
2018-04-13 23:27:03 +02:00
Ell 2c1f1c507c app, cursors: add zoom cursor modifier
To be used by GimpToolGyroscope.
2018-04-10 10:18:48 -04:00
Ell f81542e5c9 app, cursors: add rotate cursor modifier
To be used by GimpToolGyroscope.
2018-04-10 10:18:48 -04:00
Ell 7136f09f0a app, cursors: add a cursor for the warp tool
... and use it instead of the perspective tool cursor.

Disable the cursor modifiers for now, since they're not really
meaningful.
2017-05-30 19:27:05 -04:00
Michael Natterer b003f63b72 cursors: make the cursors larger by 4x4 pixels
because the newly added 45°side and corner cursors were overlapping
with some tool cursors, and some cursors looked too crowded anyway.
2012-09-02 14:20:10 +02:00
Michael Natterer 85b1f16004 app,cursors: add side and corner cursors in 45° steps
So sides also for corners and corners also for sides, just to
confuse the reader.
2012-08-26 23:59:05 +02:00
Michael Natterer c6ba0ffbdf app/cursors/libgimpwidgets: bye bye stone age B&W bitmap cursors 2012-08-26 22:53:04 +02:00
Michael Natterer af484e2fe2 minor cosmetics.
2008-04-13  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpiscissorstool.c: minor cosmetics.

	* cursors/gimp-tool-cursors.xcf: add the new SELECT modifier.


svn path=/trunk/; revision=25474
2008-04-13 13:50:01 +00:00
Michael Natterer 96645da002 cursors/Makefile.am cursors/gimp-tool-cursors.xcf
2008-02-28  Michael Natterer  <mitch@gimp.org>

	* cursors/Makefile.am
	* cursors/gimp-tool-cursors.xcf
	* cursors/tool-polygon-select.png
	* cursors/xbm/tool-polygon-select.xbm
	* cursors/xbm/tool-polygon-select-mask.xbm
	* app/widgets/widgets-enums.h
	* app/widgets/gimpcursor.c: new cursor for polygon select.

	* app/tools/gimppolygonselecttool.c: use it.


svn path=/trunk/; revision=24994
2008-02-28 12:16:42 +00:00
Michael Natterer 20bb1a0192 cursors/cursor-move.png cursors/gimp-tool-cursors.xcf
2007-07-26  Michael Natterer  <mitch@gimp.org>

	* cursors/cursor-move.png
	* cursors/gimp-tool-cursors.xcf
	* cursors/xbm/cursor-move.xbm
	* cursors/xbm/cursor-move-mask.xbm: moved the move cursor two
	pixels right and down so it has its hotspot where the small
	crosshair has it. Reduces cursor jumping in the rectangle tool.


svn path=/trunk/; revision=23014
2007-07-26 15:09:59 +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
Michael Natterer 6216c99b0e Make better use of the available 32x32 pixels so the cursors look less
2006-06-03  Michael Natterer  <mitch@gimp.org>

	Make better use of the available 32x32 pixels so the cursors look
	less crowded:

	* cursors/cursor-corner-*.png
	* cursors/cursor-side-*.png
	* cursors/xbm/cursor-corner-*.xbm
	* cursors/xbm/cursor-side-*.xbm: made the crosshair lines one
	pixel longer.

	* cursors/modifier-join.png
	* cursors/modifier-pattern.png
	* cursors/xbm/modifier-join-mask.xbm
	* cursors/xbm/modifier-join.xbm
	* cursors/xbm/modifier-pattern-mask.xbm
	* cursors/xbm/modifier-pattern.xbm: moved one pixel to the right.

	* cursors/tool-*.png
	* cursors/xbm/tool-*.png: moved closer to the bottom right corner.

	* cursors/gimp-tool-cursors.xcf: ditto.
2006-06-03 12:49:40 +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
Michael Natterer 3f7b118225 cursors/Makefile.am cursors/modifier-bad.png
2006-06-01  Michael Natterer  <mitch@gimp.org>

	* cursors/Makefile.am
	* cursors/modifier-bad.png
	* cursors/xbm/modifier-bad-mask.xbm
	* cursors/xbm/modifier-bad.xbm: new "bad" cursor
	modifier. Replaces the "bad" cursor.

	* cursors/gimp-tool-cursors.xcf: added it here too.

	* app/widgets/widgets-enums.h: added GIMP_CURSOR_MODIFIER_BAD.

	* app/widgets/gimpcursor.c: add the bad modifier. Leave the bad
	cursor there for now.

	* app/display/gimpdisplayshell-callbacks.c
	* app/tools/gimpaligntool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolortool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c: use the modifier instead of the
	cursor. Fixes hotspot jumping when switching between normal and
	bad cursors. The changed cursor_update() functions even make more
	sense IMHO. Fixes bug #158407.
2006-06-01 20:30:52 +00:00
Michael Natterer c0b1fcb92c cursors/Makefile.am cursors/gimp-tool-cursors.xcf
2005-08-18  Michael Natterer  <mitch@gimp.org>

	* cursors/Makefile.am
	* cursors/gimp-tool-cursors.xcf
	* cursors/modifier-join.png
	* cursors/xbm/modifier-join-mask.xbm
	* cursors/xbm/modifier-join.xbm: images for a "join" cursor modifier.

	* app/widgets/widgets-enums.h
	* app/widgets/gimpcursor.c: add the cursor.

	* app/tools/gimpvectortool.c: use it for connecting strokes.
	Fixes bug #313252.
2005-08-18 21:35:06 +00:00
Jakub Steiner ba1922c35d for controls change to squares 2005-08-10 10:06:22 +00:00
Jakub Steiner fc9b0d4059 add color 2005-08-10 10:00:15 +00:00
Jakub Steiner aa36039493 touched up RGBA versions
2005-08-10  Jakub Steiner <jimmac@ximian.com>

* cursors/gimp-tool-cursors.xcf: touched up RGBA versions
2005-08-10 09:36:41 +00:00
Michael Natterer 6c88e46d72 changed path tool cursor to actually show a path and added 3 new cursors
2005-08-09  Michael Natterer  <mitch@gimp.org>

	* cursors/gimp-tool-cursors.xcf: changed path tool cursor to
	actually show a path and added 3 new cursors which are supposed
	to show a path's anchor, handle and segments. Someone really
	needs to beautify these...

	* cursors/tool-paths.png
	* cursors/xbm/tool-paths-mask.xbm
	* cursors/xbm/tool-paths.xbm: changed accordingly.

	* cursors/Makefile.am
	* cursors/tool-paths-anchor.png
	* cursors/tool-paths-control.png
	* cursors/tool-paths-segment.png
	* cursors/xbm/tool-paths-anchor-mask.xbm
	* cursors/xbm/tool-paths-anchor.xbm
	* cursors/xbm/tool-paths-control-mask.xbm
	* cursors/xbm/tool-paths-control.xbm
	* cursors/xbm/tool-paths-segment-mask.xbm
	* cursors/xbm/tool-paths-segment.xbm: new files.

	* app/widgets/widgets-enums.h (enum GimpToolCursorType): added
	PATH_ANCHOR, PATH_CONTROL and PATH_SEGMENTS.

	* app/widgets/gimpcursor.c: added the new cursors.

	* app/tools/gimpvectortool.c (gimp_vector_tool_cursor_update):
	use them.
2005-08-09 21:22:11 +00:00
Michael Natterer 0e662a56c8 resized all layers to image size.
2005-08-08  Michael Natterer  <mitch@gimp.org>

	* cursors/gimp-tool-cursors.xcf: resized all layers to image size.
2005-08-08 01:50:16 +00:00
Jakub Steiner 5b2c7e0709 minor fsckup
2004-06-13  Jakub Steiner <jimmac@ximian.com>

* cursors/tool-zoom.png:
* cursors/cursor-zoom.png: minor fsckup
2004-06-13 11:27:36 +00:00
Jakub Steiner 079e6d356b cursors/gimp-tool-cursors.xcf the burn tool doesn't really have an
2004-06-13  Jakub Steiner <jimmac@ximian.com>

* cursors/gimp-tool-cursors.xcf
* cursors/tool-burn.png: the burn tool doesn't really have an
  inverted handle
2004-06-13 11:17:43 +00:00
Jakub Steiner 305382d109 cursors/gimp-tool-cursors.xcf the burn tool doesn't really have an
2004-06-13  Jakub Steiner <jimmac@ximian.com>

* cursors/gimp-tool-cursors.xcf
* cursors/tool-burn.png: the burn tool doesn't really have an
  inverted handle
2004-06-13 11:14:06 +00:00
Jakub Steiner 4e235080ce cursors/gimp-tool-cursors.xcf make more transparent
2004-06-13  Jakub Steiner <jimmac@ximian.com>

* cursors/gimp-tool-cursors.xcf
* cursors/tool-zoom.png: make more transparent
2004-06-13 00:32:59 +00:00
Jakub Steiner cf3ff44978 cursors/gimp-tool-cursors.xcf cursors/tool-blur.png
2004-06-13  Jakub Steiner <jimmac@ximian.com>

* cursors/gimp-tool-cursors.xcf
* cursors/tool-blur.png
* cursors/tool-bucket-fill.png
* cursors/tool-dodge.png
* cursors/tool-eraser.png
* cursors/tool-hand.png: fix a few problems hidden by low opacity
2004-06-12 23:55:03 +00:00
Michael Natterer 672fa6af9f added nice new antialiased cursor layers made by Jimmac.
2004-06-13  Michael Natterer  <mitch@gimp.org>

	* cursors/gimp-tool-cursors.xcf: added nice new antialiased
	cursor layers made by Jimmac.
2004-06-12 22:41:22 +00:00
Michael Natterer 5c46556dd3 cursors/Makefile.am added PNG version of all cursors.
2004-06-03  Michael Natterer  <mitch@gimp.org>

	* cursors/Makefile.am
	* cursors/*.png: added PNG version of all cursors.

	* cursors/gimp-tool-cursors.xcf: reordered and renamed all layers
	to match the new PNG filenames.

	* app/widgets/gimpcursor.[ch]: create cursors with alpha and color
	if the GdkDisplay supports it. Fall back to the old stuff
	otherwise.
2004-06-03 12:36:02 +00:00
Michael Natterer 84c37e4ab4 cursors/dropper.xbm moved the dropper cursor some pixels to the bottom
2003-11-04  Michael Natterer  <mitch@gimp.org>

	* cursors/dropper.xbm
	* cursors/dropper_mask.xbm: moved the dropper cursor some pixels
	to the bottom left corner so it can be used together with the FG
	and BG cursor modifiers.

	* cursors/gimp-tool-cursors.xcf: changed accordingly.
2003-11-04 10:18:13 +00:00
Michael Natterer e13afaf260 Cleaned up all places which pick colors to work consistently: the concept
2003-09-26  Michael Natterer  <mitch@gimp.org>

	Cleaned up all places which pick colors to work consistently: the
	concept of an "active color" has disappeared, instead <ctrl> picks
	the BG color all over the place (fixes bug #122931).

	* app/tools/tools-enums.[ch]: added enum GimpColorPickMode which
	can be one of { FOREGROUND, BACKGROUND }. Reordered enums so
	non-registered ones are at the end of the file. Removed trailing
	whitespace.

	* app/tools/gimpcolorpickeroptions.[ch]: added a "pick-mode"
	property and a GUI for it. Renamed the "update-active" property to
	"update-toolbox".

	* app/tools/gimpcolorpickertool.c: honor the new option. Toggle
	pick-mode on <ctrl>.

	* app/tools/gimpcolortool.[ch]: added pick_mode member and change
	the cursor accordingly.

	* app/widgets/gimpcolormapeditor.[ch]: added "GdkModifierType
	state" to the "selected" signal. Removed the signal's default
	implementation.

	* app/gui/dialogs-constructors.c: fixed the signal handler which
	lives here and set BG if <ctrl> was pressed.

	* app/widgets/gimppaletteeditor.c: removed weird <ctrl> <->
	active_color interaction and pick BG on <ctrl>. Don't change the
	toolbox color when editing a color in the palette.

	* app/widgets/gimptoolbox-color-area.[ch]: made the whole
	active_color stuff private. Will remove these artefacts soon...

	* app/gui/colormap-editor-menu.c
	* app/gui/palette-editor-menu.c: added separate menu entries
	for adding a color from the current FG and BG.

	* app/gui/colormap-editor-commands.c
	* app/gui/palette-editor-commands.[ch]: changed callbacks
	accordingly.

	* cursors/background.xbm
	* cursors/background_mask.xbm
	* cursors/foreground.xbm
	* cursors/foreground_mask.xbm
	* cursors/gimp-tool-cursors.xcf: moved the FG/BG cursor modifiers
	closer to the upper right corner.

	* app/widgets/gimpcursor.c: ignore the cursor modifiers' hotspots
	since they are not relevant and I didn't save the hotspot in the
	updated cursor files for that reason.
2003-09-26 13:33:54 +00:00
Michael Natterer 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
Michael Natterer a17cf3bd0b cursors/background.xbm cursors/background_mask.xbm cursors/foreground.xbm
2000-07-29  Michael Natterer  <mitch@gimp.org>

	* cursors/background.xbm
	* cursors/background_mask.xbm
	* cursors/foreground.xbm
	* cursors/foreground_mask.xbm
	* cursors/pattern.xbm
	* cursors/pattern_mask.xbm: new files.

	* cursors/gimp-tool-cursors.xcf
	* app/cursorutil.[ch]: new cursor modifiers for bucket_fill.

	* app/bucket_fill.c: use the new modifiers. Closes #17871.

	* app/convolve.c
	* app/dodgeburn.c: added cursor_update functions which update the
	tools' "toggled" state before they call the cursor_update "method"
	of the paint_core "class" -- eek -- I-want-real-objects!
	Closes #17872 and #17873.

	* app/tools.h: added SELECTION_ANCHOR to the SelectOps enum.

	* app/free_select.c
	* app/rect_select.c: use the new enum value in the "oper_update"
	and "cursor_update" functions. In the "motion" function, set the
	tool's operation type back to SELECTION_REPLACE if the tool is
	active and call the "cursor_update" function explicitly.
	Closes #17870.

	* app/by_color_select.c: fixed warning caused by the new enum value.
2000-07-29 16:12:40 +00:00
Tuomas Kuosmanen 7f9932cac9 oops. Added the cursor also to the .xcf file as Sven pointed it out.. /tigert 2000-06-25 18:55:21 +00:00
Michael Natterer 7890b7ace9 Makefile.am cursors/gimp-tool-cursors.xcf cursors/perspective_small.xbm
2000-06-16  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* cursors/gimp-tool-cursors.xcf
	* cursors/perspective_small.xbm
	* cursors/perspective_small_mask.xbm
	* cursors/rotate_small.xbm
	* cursors/rotate_small_mask.xbm
	* cursors/shear_small.xbm
	* cursors/shear_small_mask.xbm: new cursors.

	* app/tools.c
	* app/transform_core.c: use them.
2000-06-16 11:38:45 +00:00
Michael Natterer 1a2cfc0ff8 Makefile.am cursors/gimp-tool-cursors.xcf cursors/anchor.xbm new cursor
2000-06-14  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* cursors/gimp-tool-cursors.xcf
	* cursors/anchor.xbm
	* cursors/anchor_mask.xbm: new cursor modifier for the move tool.

	* app/cursorutil.[ch]
	* app/move.c: use the new modifier for anchoring floating selections.
2000-06-14 13:57:17 +00:00
Michael Natterer 4f6af25374 typo.
2000-06-14  Michael Natterer  <mitch@gimp.org>

	* Makefile.am: typo.

	* cursors/mouse_intersect[_mask].xbm: forgot to remove this one.

	* cursors/gimp-tool-cursors.xcf: new file containing all cursors.
2000-06-14 12:23:20 +00:00