Commit Graph

32 Commits

Author SHA1 Message Date
43e4256d56 "gegl:seamless-clone" operation's properties "max-refine-steps" changed…
… into "max-refine-scale". See GEGL commit 346139b.
It does not fix the Seamless Clone tool, but at least now the slider
has a meaning.
2015-07-12 19:47:49 +02:00
6487d0a26a app: move the seamless clone tool to the playground
It's not release material unless somebody comes and fixes its bugs,
and its speed.
2015-06-14 13:02:31 +02:00
36d8431058 icons: add icons for seamless clone contributed by Klaus Staedtler 2014-11-19 21:32:36 +01:00
a6601d563b app: some GimpProgress cleanup
- change start() and set_text() to use "format" and "..." instead of
  "message", allowing to format progress messages in place
- s/cancelable/cancellable/
- move "cancellable" to be the second argument of start()
2014-07-12 23:45:20 +02:00
f4803af808 app: add boolean "cancelable" API to GimpImageMap and gimpdrawable-filter.[ch]
Return booleans indicating success (FALSE == user has canceled), and
allow canceling only in GimpImageMapTool for now.
2014-06-30 01:06:04 +02:00
8aa0019c2e app: clean up inclusion of gegl-plugin.h, mostly removals 2014-06-10 03:13:09 +02:00
2068c61a85 Bug 730862 - Preview frozen while dragging selection tools...
...(crop, rectangle, etc) in large image zoomed-to-fit

Default to GIMP_MOTION_MODE_COMPRESS in all tools, and override it to
GIMP_MOTION_MODE_EXACT if the tool really needs the exact path of
motion events. This greatly reduces the events processed by the
rectangle tools and makes them much more responsive.
2014-06-02 20:55:33 +02:00
5ca9240d74 app: display a status error when seamless cloning without foreground image. 2014-04-30 09:11:31 +12:00
8f410b927a app: optimize and add progress information to seamless clone
Display information when seamless clone is being processed.
Also ensure that I don't compute again when no properties is changed.
2014-04-30 09:10:31 +12:00
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
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
b81641e25f app: fix two typos 2013-11-28 19:44:45 +01:00
d4bb6e0fe7 app: some general cleanup in seamless clone 2013-05-23 23:12:17 +02:00
fb7ae4ba48 app: reorder functions in GimpSeamlessCloneTool to standard order 2013-05-23 22:59:51 +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
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