Commit Graph

58 Commits

Author SHA1 Message Date
9c3944d63b Bug 759212 - Warp tool must be disabled on group layers
Disable the warp tool on invisible, locked and group layers, and show
the "forbidden" cursor.
2015-12-09 20:30:32 +01:00
dfcbc23cac app: implement creating an animation from a warp tool transform
like in the iwarp plug-in. I consider the plug-in obsolete now.
2014-11-08 00:47:39 +01: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
88762df4cf app: more debug output in GimpWarpTool, for fixing the timeout mess... 2014-06-26 14:01:35 +02:00
99efd9c1a5 app: make sure the warp tool's canvas circle updates when its size changes
and make the undo functions static, no idea why they were not.
2014-06-20 01:14:53 +02:00
38c0937b8f Bug 723534 - Warp transform tool does not follow active layer
Add GIMP_DIRTY_ACTIVE_DRAWABLE to the warp tool's dirty mask, so it
correctly switches to the new active layer. Also remove
GIMP_DIRTY_IMAGE_STRUCTURE, I don't know why that was there in the
first place.
2014-05-25 15:00:49 +02:00
7d398da360 app: connect the warp tool's effect size to the standard tool size action 2014-05-03 20:24:09 +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
3aaa0a956d Bug 704238 - Notify through status bar that warp effect is committed with ENTER 2013-07-21 08:46:13 +09:00
964d59df58 app: use gimp_tool_control_push/pop_preserve() in GimpWarpTool
instead of set_preserve(TRUE/FALSE). It makes no difference in this
case, but push/pop is the right API to use anyway.
2013-06-07 10:05:05 +02:00
6f17eb54a1 app: make sure the warp tool halts when the drawable is changed
Set preserve=FALSE by default, also don't set preserve=TRUE around
aborting the image map, that's not needed any longer because image map
has stopped to be a temporarily destructive thing.
2013-06-04 10:16:32 +02:00
278def0bf9 app: set the warp tool's image_map to DRAWABLE mode 2013-05-23 19:30:46 +02:00
e378a29a91 app: fix warping an offset layer with selection 2013-05-23 19:03:31 +02:00
79c0ab31c2 app: some skeleton code for better warp cursors, does nothing 2013-05-22 23:59:44 +02:00
72e0743067 app: fix some broken wrap undo/redo behavior, and factor out common code 2013-05-22 23:47:31 +02:00
f862bfb342 app: don't leak all new warp ops, don't abort the image map on undo/redo 2013-05-22 23:37:22 +02:00
867c5721a6 app: implement redo in the warp tool 2013-05-22 23:26:07 +02:00
2a93677b0c app: implement undo in the warp tool, no redo yet 2013-05-22 23:01:51 +02:00
f51c8af556 app: remove the deleted node from the graph in gimp_warp_tool_undo() 2013-05-22 22:48:37 +02:00
b601018e33 app: update the display in a "changed" handler of the warp stroke
and get the update extents from the signal's "roi" parameter. Should
be more correct but produces more artifacts for me. Either this patch
is broken, or (more likely) this triggers a bug.
2013-05-22 22:43:32 +02:00
3eadcd5e9e app: don't leak all warp strokes, unref them in button_release() 2013-05-22 09:01:54 +02:00
6938486471 app: make warp honor the layer offset 2013-05-22 02:21:07 +02:00
27fbc0a05e app: remove a bunch of unneded #includes from warp 2013-05-22 01:06:55 +02:00
a7eb1ee1a2 app: #ifdef warp debug printfs away 2013-05-22 01:04:29 +02:00
b63be0e79a app: reorder warp tool functions to be in standard order 2013-05-22 00:47:43 +02:00
2264dc8d63 app: add gimp_warp_tool_halt() and make the tool's life cycle sane
Particularly, don't start any graph and imagemap madness in
oper_update().
2013-05-22 00:33:50 +02:00
78f6369114 app: general cleanup and formatting attack in the warp tool 2013-05-22 00:08:14 +02:00
199565f765 app: flush the display less aggressively, new GimpImageMap style 2013-05-21 23:46:33 +02:00
dff3f85c0d app: fix some warp tool brokenness and make it build 2013-05-21 23:36:42 +02:00
35888a3848 warp tool: fix undo when imagemap is busy 2013-05-21 23:28:43 +02:00
7193cdd72c warp tool: fix the undo to update the whole dirtied area 2013-05-21 23:28:43 +02:00
877c2ef96e warp tool: fix one reason that make the outline not moving along the stroke 2013-05-21 23:28:43 +02:00
a260039ec9 warp tool: fix wrong computation of the area to update and remove an uneeded anymore preview timer 2013-05-21 23:28:43 +02:00
6abf634189 warp tool: fix commiting the deformation not working 2013-05-21 23:28:43 +02:00
afa98e6ece warp-tool: temporary fix to update the preview with imagemap apply_region, not totally working 2013-05-21 23:28:42 +02:00
81647f3531 warp-tool: probably bad change to use the apply_region of imagemap 2013-05-21 23:28:42 +02:00
c3bb13ce26 warptool: enable the caching in imagemap 2013-05-21 23:28:42 +02:00
7aa7c5814c warptool: use the warp operator imported to gegl 2013-05-21 23:28:42 +02:00
57adfee72b warptool: some quick cleaning 2013-05-21 23:28:42 +02:00
061a6ad85e gimpoperationwarp: add a hardness property
and use it to compute influence with a gaussian like curve
implementation use a lookup table to speed things gimpwarpoptions: add
a hardness property and UI
2013-05-21 23:28:42 +02:00
5b5e9e30ae warp-tool: remove unneeded options_notify 2013-05-21 23:28:42 +02:00
379b0586e3 warp tool: implement basic undo 2013-05-21 23:28:42 +02:00
0b93770745 gimpwarptool: add basic UI to choose the behavior 2013-05-21 23:28:41 +02:00
017995fcf3 gimpwarptool: achieve good interpolation along the stroke 2013-05-21 23:28:41 +02:00
8d1df4bc65 gimpwarptool: ask for exact motion event 2013-05-21 23:28:41 +02:00
1769750542 gimpwarptool: use a second timer to refresh the preview 2013-05-21 23:28:41 +02:00
20174d4afb gimpwarptool: use a timer to add regularly point to the stroke 2013-05-21 23:28:41 +02:00
eea8ff4ebc gimpwarptool: build a stroke to pass to the op 2013-05-21 23:28:41 +02:00
990b02c8da gimpwarptool: move the test code to the gegl op 2013-05-21 23:28:41 +02:00
df0416b4bc gimpwarptool: create a gegl graph to render the transformation, and
insert warp operation for each stroke
2013-05-21 23:28:41 +02:00