A first version is here: http://tml.pp.fi/gimpwarp.diff . Diff against
- reuses the smudge icon and cursor
- the "remove warp" functionality doesn't do anything
- the "bilinear filtering" and "adaptive supersampling" toggles have no effect
- especially in the Move mode you often get "cracks" in the image
Doesn't seem to crash, though.
Currently it allocates a big buffer for the deformation vectors, two
doubles for each pixel in the image. This should probably be changed
to either use tile-based storage, or use a scaled (when necessary)
deformation vector array with some fixed maximum size.
If you compare to the iwarp plug-in source code, you will notice that
the core "business logic" is mostly identical. The hardest thing was
to find out how to plug this into the paint core etc stuff...
Gimp-developer mailing list