[Mono-winforms-list] [Patch] Invalidate non visible areas in scrolling
Jonathan Pobst
monkey at jpobst.com
Mon Jan 21 20:25:06 EST 2008
I just added a public property called Hwnd.GraphicsContext that is a
cached Graphics we keep around for measuring and such. If you don't
need a specific Graphics, you can just use this one.
Jon
Carlos Alberto Cortez wrote:
> Hey Chris,
>
> Attached is an updated patch that basically incorporates all the things
> you mentioned in your last mail:
>
> * Determines the visible rectangle, and intersects it with the required
> area (this is, we copy only the visible area).
> - First by determining the visible area based on its size and its
> parents.
> - Second, by looking for toplevel windows that intersect the window,
> and excluding that area.
>
> * Then compute the destination rectangle, by applying the
> XAmount/YAmount values and intersecting it with the area passed to
> ScrollWindow (thus we clip it as needed). This is the way Gdk does it.
>
> * Finally, exclude the destination rectangle from the total requested
> area, and pass it to AddExpose method.
>
> With this patch everyting is working as expected, but I have some
> issues:
>
> * Region needs a Graphics instance to return its Bounds, which *could*
> be expensive.
> * After taking a look at the way scrolling is done in Gdk, it *seems*
> that the Region implementation lack some of the functionality we need
> (like, returning in a simple operation the Rectangles describing the
> region).
>
> Comments?
>
> Carlos.
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Mono-winforms-list maillist - Mono-winforms-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-winforms-list
More information about the Mono-winforms-list
mailing list