> > It uses GtkDrawingArea. <...>
> I don't see why you couldn't implement cropping with one of the
> GimpPreview widgets.
I tried to use GimpZoomPreview instead of GtkDrawingArea and want to
tell you what I have found out.
As I understand it, GimpZoomPreview is designed to be very efficient
for previewing various filters (in terms of required processing &
memory). Unfortunately, it doesn't seem very usable as one might
For a large preview widget uses area not larger than original image
dimensions, so when you zoom in you see image only in that area and
large parts of widget outside image area are drawn in background
color. Moreover, it becomes unacceptably slow when scrolling. The
design for small previews just doesn't seem to support large previews
well. Therefore, chose GtkDrawingArea. BTW, is there any way to use
gimp quick navigation widget with GtkScrollingWindow or ...?
In addition to this, GimpZoomPreview doesn't seem to work well with
filters either. As far as I know, only nova.c (Supernova) uses it
correctly, but it only renders based on a single selected point (it
doesn't have to read & analize pixels, it only renders on them). If I
understand GimpZoomPreview correctly, a plug-in has to scale pixel
data outside preview viewport itself (it would be much harder to work
if source & destination layers would have different dimensions). This
is not a very easy task, if you don't scale the whole picture, but
only required parts (for efficiency).
In conclusion, either I don't understand GimpZoomPreview (in that case
some explanation would help) or its API should be improved to make it
Gimp-developer mailing list