Re: expose event compression



John Cupitt <john cupitt ng-london org uk> writes:

> One of the app's widgets is an image display window, and one of the
> tools is a panner. Pure left/right and up/down pans are fast and
> smooth, but diagonal drags are very choppy. I think this is because
> gtk is sending me the bounding box of all exposes since the last
> repaint, and for a diagonal drag, the bounding box of a thin strip
> down the right and a thin strip across the bottom is the entire
> window. Has anyone come across this before, and is there an easy
> solution?

If your problem is as you describe (which may well be the case), then
look at the "region" field in the expose event. That field will
contain a GdkRegion indicating the exact area that needs to be
painted.

You can use gdk_region_get_rectangles() to convert the region to a
list of rectangles that needs to be repainted.


Soren



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]