Oh, it wasn't that much. Most of the time I spent exploring, what the plugin was working.
I concentrated on the method
static void iwarp_preview_init (void)
It is called several times, and I just commented out
// if (dx <= 1.0 && dy <= 1.0)
// pre2img = 1.0;
That means, if the image is greater than the preview window, then scale it to size of preview,
otherwise, do nothing.
With the comments, any image will be scaled to the size of the preview. Thats it. It works.
static gboolean iwarp_dialog (void)
I commented out
// iwarp_animate_dialog (dlg, notebook);
because I don't need the animation stuff.
static iwarp_vals_t iwarp_vals =
I changed the "FALSE" to "TRUE", that enables the "adaptive supersampling" by default,
I get better results.
Then some plays with other parameters:
static gint max_current_preview_width = 640;
static gint max_current_preview_height = 640;
doubling the maximum size of the preview.
g_signal_connect (button, "toggled",
frame = gimp_frame_new (NULL);
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
in my version from 2.7.4(5) source it is line 1182, I added right after this block:
but thats not neccessary. It makes the settings area smaller, it was
too large for me. So now I have more space for the enlarged preview.
On some places (Oh, I see, I forgot one), I changed the name from "iwarp" to
"liquify", so I can have both of two good worlds.
The rest of it is pure iwarp, so I don't know, if I can send you the source, because
there are just some changes, that fits my needs.
Ahh, one thing that I hoped:
The "Radius" of operation refers to the size of the preview, not of the (now scaled) image.
So, for instance, Ihave a picture with a very nice lady, but sadly she has a bumply nose,
if you know what I mean. So with IWarp, I made a selection from the nose, and the nose
was shown as large as the 100% crop of the image in the upper left corner.
Now, with my changes, the nose is shown as big as the preview area, and i can "move"
out the bumple mch more exact.