Commit Graph

4359 Commits

Author SHA1 Message Date
bcbc30c2a3 gimpwarptool: draw the effect size with taking care of zoom level 2013-05-21 23:28:40 +02:00
ab42a60998 gimpwarptool: add logic to commit the transformation 2013-05-21 23:28:40 +02:00
e6d05c6352 gimpwarptool: start the tool if the cursor is over an image and not started somewhere else 2013-05-21 23:28:40 +02:00
7bc094a443 gimpwarptool: draw a circle around the cursor to indicate the size of the effect 2013-05-21 23:28:40 +02:00
33f000d15c gimpwarptool: add strenght and size in the tool's options 2013-05-21 23:28:40 +02:00
4f24f703ab gimpwarptool: proof of concept code to act on the coords buffer 2013-05-21 23:28:40 +02:00
901a148760 gimpwarptool: add gegl infrastructure and image map for preview 2013-05-21 23:28:40 +02:00
d6ed13ef6c GimpWarpTool: skeleton of the tool, with options 2013-05-21 23:28:40 +02:00
741792875e app: add the GimpApplicator back for painting, but make its use optional
Default to using the new code. This is out of pure curiosity how
GEGL changes affect painting with a purely graph-based method.
2013-05-21 18:55:03 +02:00
b2f318de57 app: add a description label to the GEGL tool dialog 2013-05-20 17:42:32 +02:00
f48aacee18 app: add gegl:emboss to Filters -> Distorts 2013-05-20 02:20:09 +02:00
94294cd114 app: add gegl:whirl-pinch to Filters -> Distorts 2013-05-19 23:28:06 +02:00
dd648b1c12 app: add gegl:cubism to Filters -> Artistic 2013-05-19 22:21:38 +02:00
31f7b7fd63 app: add gegl:red-eye-removal to Filters -> Enhance 2013-05-19 20:51:35 +02:00
042a2400ad app: blacklist "gegl:softglow" in the GEGL tool because it's in the menus 2013-05-19 19:06:46 +02:00
ef917b2c5c app: add an "area" parameter to gimp_image_map_apply()
and only update the drawable in that area if it's not NULL. Useful for
expensive interactive operations like warp, where the tool exactly
knows which area has changed.
2013-05-18 01:45:01 +02:00
e3180de960 app: remove GimpPickable implementation from GimpImageMap
It's not needed because we don't modify the drawable's
pixels any more.
2013-05-17 02:02:28 +02:00
775ba72d7e app: cleanup in GimpSeamlessCloneTool
- fix some leaks
- actually free the op, seems to cause a crash
- formatting cleanup
- remove lots of comments
2013-05-17 00:53:55 +02:00
0b37c9e374 app: some general minor seamless-clone cleanup, and make it build 2013-05-15 00:39:06 +02:00
32c129ded7 Update seamless clone tool to use new image map functions 2013-05-15 00:25:32 +02:00
a3e136ab7f Fix: The offset for seamless cloning should be relative to the drawable 2013-05-15 00:25:32 +02:00
c9134ab55f Make gimp use the all in one seamless clone GEGL operation 2013-05-15 00:25:32 +02:00
3f0cb773a6 Make the seamless clone tool compile again (update on API changes) 2013-05-15 00:25:31 +02:00
9e4e027ab0 Fix the the preview to redraw correctly! Also clean-up the code 2013-05-15 00:25:31 +02:00
ef235c389a Fix the preprocessing. It now works without UV caching.
This gimp commit uses gegl commit 2d2d01d47f84, which still passes the
preprocessing result as a gpointer (and not a GObject*), and still does
not cache the UV cordinates into a buffer.
The result of the preprocessing currently isn't freed!
2013-05-15 00:25:31 +02:00
9390247c33 Add work in progress for preprocessing before rendering the op 2013-05-15 00:25:31 +02:00
35255505fd Quick-Fix to the previous commit - return the right value on key press 2013-05-15 00:25:31 +02:00
a416acfe08 Fix bug in tilemanager unreffing and support committing the result
Unreffing the tilemanager of a GimpBuffer is wrong, since the function
to get the tilemanager of a buffer doesn't ref it.
Also, the operation of the tool can now be saved ("committed") using
the Enter key, and the tool can be halted using the Escape key. Note
however that we should do these in a nicer way, that does not require
restarting the tool to use it afterwards.
Finally, this commit removes the debug printing.
2013-05-15 00:25:31 +02:00
cab47522b7 Image map interaction works, and so are movement and drawing 2013-05-15 00:25:31 +02:00
8f2de693a7 Another WIP commit. There is a known tile manager leak, rest is OK 2013-05-15 00:25:31 +02:00
d745f85293 Another WIP commit. It now compiles, and runs with no runtime errors. 2013-05-15 00:25:31 +02:00
cacca4b317 commit of a WIP, introducing some of the actual tool logic 2013-05-15 00:25:31 +02:00
5fa0df17dd Add a skeleton for the seamless clone tool, based on the cage tool 2013-05-15 00:25:30 +02:00
5baabf87fd app: add gegl:exposure to Colors, and fix glitch in previous commit 2013-05-14 22:26:16 +02:00
de12010107 app: add gegl:box-blur to Filters/Blur 2013-05-14 21:34:03 +02:00
ac5428787e Bug 598523 - Protect hidden layers from editing
Don't allow tool operations on invisible items, just like we do for
group layers or locked items.

Cleaned up and enhanced the patch a bit --Mitch
2013-05-13 23:29:43 +02:00
8320381885 app: add untested infrastructure for tool-internal undo/redo
Add virtual functions GimpTool::undo(), ::redo(), ::get_undo_desc()
and ::get_redo_desc() and corresponding wrappers in tool_manager.

Make the edit-undo and edit-redo actions check tool undo/redo first
before invoking image undo/redo.
2013-05-12 19:51:52 +02:00
3496e178ef Bug 699185 - when moving the pointer fast out of guide scope, do not keep it highlighted.
When a drawing timeout happens too close from the previous drawing, we don't want to cancel
the timeout function (FALSE), but simply retry later (TRUE).

In our case in particular, if you move your pointer very fast over a guide, the highlighting
drawing was happening less than MINIMUM_DRAW_INTERVAL before the un-highlighting drawing,
hence canceling the later, which caused the drawing bug.
2013-05-12 05:24:12 +09:00
1cd1541b2d app: port the foreground select tool to the GEGL matting ops
This is work in progress and needs the fixed GEGL ops too.
2013-05-08 00:00:48 +02:00
b893993e7b app: add new enums GimpMattingDrawMode and GimpMattingEngine 2013-05-07 23:09:55 +02:00
0255a01f95 app: add gegl:checkerboard to <Image>/Filters/Render/Pattern 2013-04-30 19:20:18 +02:00
abbe2ecba9 app: build the foreground select tool again, minus the calls to SIOX
the interaction is completely there again, it just doesn't nothing
fancy with the mask :)
2013-04-30 00:04:28 +02:00
f6ec4f4af2 app: remove the image map tool overlay before hiding it again
Which means I have given up finding that last bug (for now).
2013-04-28 14:57:57 +02:00
2a0472b57e app: don't forward key events to the curves tool graph if the tool isn't active 2013-04-26 00:11:51 +02:00
595f52bf09 app: more cleanup in GimpImageMapTool's overlay dialog handling
gimp_image_map_tool_initialize(): clean up adding the overlay.

gimp_image_map_tool_dialog_hide(): hide the overlay before removing it.
2013-04-25 22:46:05 +02:00
8230e948a8 app: allow to call gimp_image_map_tool_dialog_hide() multiple times
don't try to remove a GimpOverlayDialog from the canvas twice.
2013-04-25 22:23:32 +02:00
325d7541c7 app: always show the tool progress in the center of the canvas
getting rid of one more untransform_viewport().
2013-04-25 09:41:21 +02:00
62c5a737fd app: fix conditions for guide and sample point moving/removing
Simply check the transfomred coords against the canvas extents and the
untransformed against the image contents instead of using
untransform_viewport(). The code is easier to read now, and
untransform_viewport() is still broken and can't really be implemented
properly when the canvas is rotated.
2013-04-25 09:30:46 +02:00
37d589335f app: consolidate all transform API in gimpdisplayshell-transform.[ch]
Added complete API for zoom/unzoom (scale and scroll) and
rotate/unrotate, with the same set of functions as the existing
transform/untransform. Moved some special case functions to the
namespaces they belong.
2013-04-25 00:29:58 +02:00
aea94211b1 app: add an unrotated canvas item group to GimpDisplayShell
and put the software cursor and the tool progress there.
2013-04-24 00:01:01 +02:00