Commit Graph

4359 Commits

Author SHA1 Message Date
cb93f2bd27 app: commit seamless clone in progress when switching tools. 2014-04-30 09:08:09 +12:00
5077a149f3 app: add correct options for seamless clone operation. 2014-04-30 09:07:03 +12:00
a4223766f2 all,libgimp*: move GimpConvolveType and GimpInkBlobType to libgimpbase
and make GimpConvolveType's values sane.
2014-04-29 22:44:58 +02:00
22c222291d libgimpbase,*: clean up enum values in gimpbaseenums.h
GIMP_ADD_foo_MASK -> GIMP_ADD_MASK_foo
GIMP_foo_MODE -> GIMP_BLEND_foo
GIMP_foo_CLONE -> GIMP_CLONE_foo
GIMP_foo -> GIMP_DODGE_BURN_TYPE_foo
GIMP_foo -> GIMP_TRANSFER_foo

Add compat values for the old names and compat code to script-fu
and pygimp.
2014-04-29 20:58:30 +02:00
1397b9aae7 app: use gimp_draw_tool_add_arc() for the GimpPaintTool brush circle
because add_handle() doesn't scale with the image.
2014-04-20 22:03:17 +02:00
c2470611d9 app: fix variable typo.
Small bug in commit 0bdb747. A variable was initialized twice and
another none. That's for peer programming. :-)
2014-04-20 19:24:03 +12:00
0bdb74710a app: rename the value-1...value-4 actions to opacity, size, aspect, angle 2014-04-19 20:09:39 +02:00
6e726f248f app: use the right aspect and angle actions for GimpBrushTool 2014-04-19 19:53:40 +02:00
fb8b05a149 app: FG select: remove some redundant "display" parameters 2014-04-19 03:35:31 +02:00
6b10b0511a app: FG select: refresh the preview when matting options change 2014-04-19 02:51:00 +02:00
de710e72d1 app: FG select: default to drawing foreground strokes 2014-04-19 02:50:38 +02:00
6ec272fde7 Bug 312780 - Add undo to foreground selection tool
Implement undoing strokes by keeping copies of the changed parts
of the trimap around in internal undo/redo stacks.
2014-04-19 00:34:21 +02:00
df8a148db0 app: make the transform tool's undo functions static 2014-04-18 23:03:22 +02:00
b8a3f395e5 app: FG select: turn the "Preview" button into an actual toggle button 2014-04-18 22:37:33 +02:00
35f23b5311 app: FG select: use the FG select stock icon/text instead "Apply"
and GTK_RESPONSE_APPLY instead of a private RESPONSE_APPLY.
2014-04-18 22:15:35 +02:00
1756779771 app: FG select: refactor to use the standard tool cancel/commit logic
Simplifies things and prevents losing a complex selection on tool change.
2014-04-18 22:06:07 +02:00
ebc4910a7c app: FG select: reorder functions to match all other tools 2014-04-18 21:52:38 +02:00
5ba7eaa5c7 app: FG select: remove trailing space from the "status_mode" message
such formatting should not be done intranslatable strings, instead
add the space between the two messages when putting them together
using an untranslatable format string.
2014-04-18 21:42:08 +02:00
667f4e2d3a app: FG select: rename "Reset" to "Cancel" because that's what it does
Also call update_gui() at the right places so we don't leave the GUI
in an inconsistent state.
2014-04-18 21:38:53 +02:00
a53c2f8b30 app: cancel the active tool before going brightness/contrast->levels->curves
because changing tools now automatically commits the old tool.
2014-04-18 21:15:46 +02:00
2e3011bddf app: FG select: implement GimpTool::initialize()
And create/show the GUI there, so it only becomes visible after
actually activating the tool with a click. Also refuse to operate
on invisible drawables.
2014-04-17 10:55:07 +02:00
d695c98d74 app: free select: start the draw tool more subclass-friendly 2014-04-17 10:51:50 +02:00
a876c1b4b0 app: always overlay FG select's GUI on the canvas 2014-04-17 08:48:42 +02:00
a18f196dd3 app: FG select: fix condition for upchaining in key_press()
Fixes committing the free select using return.
2014-04-17 01:59:34 +02:00
2d797bf8d5 app: FG select: remove parameters from stroke_paint()
and factor out a cancel_paint() function.
2014-04-17 01:52:21 +02:00
e138333204 app: FG select: implement canceling the current stroke (right mouse button) 2014-04-17 01:46:32 +02:00
05abd5a37d app: don't call gimp_free_select_tool_select() from FG select
It doesn't serve any purpose since its implementation doesn't
do anything in FREE_SELECT mode.
2014-04-17 01:42:38 +02:00
61aaa11158 app: reorder some prototypes in FG select 2014-04-17 01:40:08 +02:00
8836a1eae1 app: general cleanup in the foreground select tool
- fix some indentation
- implement GimpTool::options_notify() instead of a signal callback
- consistently chain up first in FREE_SELECT state
- misc. cleanup
2014-04-16 23:03:57 +02:00
b1a0b4555e Bug 726181 - Heal tool mode is ignored - always in "Normal" mode
Make the paint mode menu insensitive for the heal tool.
2014-04-15 17:15:32 +02:00
60da428c73 app: add gegl:apply-lens to Filters -> Distorts 2014-04-13 20:58:25 +02:00
6d5b6a648d app: turn the paint tool fallback cursor cross into a circle 2014-04-12 22:17:55 +02:00
2a9b6bf569 app: make blend's and straight line's start-line-end drawing look nicer
Use circle handles instead of crosses, and put the items into a stroke
group so they don't look ugly when drawing over each other.
2014-04-12 22:10:26 +02:00
36905bf46c app: foreground select: the initial rough selection is an unknown area
not the foreground area. This seems to make the tool do something useful.
2014-04-12 21:31:38 +02:00
693d0d082b app: don't draw a redundant fallback crosshair when a line preview is shown
and introduce some local variables is gimp_paint_tool_draw() to reduce
clutter.
2014-04-12 15:26:11 +02:00
d897188e32 app: also move the "draw brush outline" logic from brush to paint tool
So all paint tools honor the setting.

Add GimpPaintTool::get_outline() which either returns an outline, or
calls gimp_paint_tool_set_draw_cursor() and implement it in
GimpBrushTool and GimpInkTool. Handle all brush/circle/fallback
drawing in gimp_paint_tool_draw().
2014-04-12 15:03:15 +02:00
1ade034c49 app: move "show paint tool cursor" logic from GimpBrushTool to GimpPaintTool
Now all paint tools (also ink and mypaint brush) honor the setting and
can work without mouse cursor.
2014-04-12 12:54:08 +02:00
66010e6c6d Bug 623734 - No brush outline with dynamics set to 'size' on 'pressure'
Improve the logic in gimp_brush_tool_draw() and draw a brush-sized
circle if the actual brush outline got scaled away by dynamics.
2014-04-12 01:13:11 +02:00
e3a98eade2 app: use gimp_paint_tool_set_draw_circle() in the ink tool
so we get at least a rough preview of where the paint will go.
2014-04-09 15:27:37 +02:00
703c2c78c4 app: add gimp_paint_tool_set_draw_circle()
which enables drawing a circle with a given radius at the cursor
location.
2014-04-09 15:27:31 +02:00
e8459beb24 app: don't create a fallback crosshair in gimp_brush_tool_create_outline()
Instead, draw the crosshair in gimp_brush_tool_draw() if create_outline()
didn't return an item *and* if there is no brush tool cursor.

In gimp_source_tool_draw(), don't add an additional crosshair if
create_outline() returned an item.

This fixes both "no cursor at all" and "both outline and crosshair
shown" for certain prefs settings conbinations (bug #623734).
2014-04-09 14:53:24 +02:00
88e4d7e468 app: commit ongoing tool operations on tool change instead of cancelling
On tool change, we used to simply halt tools before switching to the
new one, which meant losing ongoing live-previewed tool changes, like
transforms, warps and color corrections. This change makes them being
applied to the image instead before switching to the new tool:

Add enum value GIMP_TOOL_ACTION_COMMIT that is passed to
GimpTool::control() before tool switching. Handle the new enum value
in all tools, and actually commit the previewed stuff. This changes
the behavior of GimpCageTool, GimpImageMapTool, GimpTransformTool and
GimpWarpTool.
2014-04-04 22:34:26 +02:00
40d42d113e app: make tool_manager_select_tool() a private function 2014-04-04 16:47:51 +02:00
72ac53705f Adds "fill" arrange modes to the Align Tool
The Align Tool had to be used in a very hacky way if one
intended to evenly distribute items across an image,
or other reference object (it would actually require one to
calculate the item spacing out of GIMP). This adds vertical
and horizontal fill modes: the reference object is divided
in N equal segments, where N is the number of items,
and each item is placed in the center of one of
these segments. The existing "offset" parameter
is used as an extra margin for the distribution,
and can be set to negative values, so that the items can
even get moved outside the boundaries of the reference object.
2014-03-13 03:38:53 -03:00
8d85c0c41c Enables aligning of elements using the active Path
For some reason, using the image active Path as
a reference for the align tool was displayed
in the UI, but disabled in the code.
2014-03-12 22:44:26 -03:00
b13c68fda6 Bug 701159 - Wrong name in transform tool dialogs...
...when acting on a path or selection

Factor out the code that checks if an active item exists and if it's
transformable (not locked etc.) and use that function in more places.
This fixes both the wrong dialog labels and the tool running into
broken states when the selection or a path are being transformed.
2014-02-05 00:57:28 +01:00
1335bc42c8 app: halt the transform tool when switching layer|selection|path transform 2014-02-04 23:28:59 +01:00
651be184b7 Bug 721066 - There is a 2nd, broken, "GEGL Operation" tool in the toolbox
Make the operation tool invisible by default.
2014-02-04 00:19:30 +01:00
7385e030dd app, libgimp: add increment parameters to gimp_prop_widget_set_factor()
Step and page increments can't be reasonable calculated or guessed
based on the GUI widget's factor, so pass them each time we call
set_factor(). This change reintroduces sane ranges for the levels tool
for != u8 images again.
2014-02-03 22:57:51 +01:00
5054241ca6 Bug 722034 - Incorrect snapping behaviour for scale tool
Always snap to the center of transform tool handles.
2014-01-29 23:40:35 +01:00