For plug-in writers reference, these are equivalent: - (plug-in-displace RUN-NONINTERACTIVE work-image frame-layer - x-displacement y-displacement - TRUE TRUE aux1 aux2 abyss)) + (let* ((abyss "black") + (filter (car (gimp-drawable-filter-new frame-layer "gegl:displace" "")))) + + (if (= edge-type 1) (set! abyss "loop")) + (if (= edge-type 2) (set! abyss "clamp")) + + (gimp-drawable-filter-configure filter LAYER-MODE-REPLACE 1.0 + "amount-x" x-displacement "amount-x" y-displacement "abyss-policy" abyss + "sampler-type" "cubic" "displace-mode" "cartesian") + (gimp-drawable-filter-set-aux-input filter "aux" aux1) + (gimp-drawable-filter-set-aux-input filter "aux2" aux2) + (gimp-drawable-merge-filter frame-layer filter) + ) I also changed a test which (I think) was just a no-op since do-x and do-y were 0 0 (hence FALSE). Therefore the whole filter processing was ignored. Note though that unlike the rippling animation filter, I haven't tested the test script. |
||
|---|---|---|
| .. | ||
| gegl.scm | ||
| noninteractive.scm | ||