Hi Thomas.

Thomas DeWeese:
> How are things going?

Not bad.  Forever a uni student, but what can you do? :)

> I probably can't give you a brief run down but here we go anyway...
> …

Thanks, that was useful.

>    The Renderer just swaps back and forth between the two rasters most of
> the time.  However if the window size _grows_ then it will allocate at
> least one new raster.  This I think is where we get into trouble.  If we
> have just grown the Raster then the working/copyRaster will have larger 
> bounds than the currentRaster.  This is critical because when we go
> to copy the previous dirty regions we only intersect the copying rect
> against the working/copyRaster (r = dr.intersection(r) line 218).  I 
> didn't think of intersecting with the currentRaster since that dirty
> rectangle came from the update of that Raster. 

Ah, understood.

>    I'm having a little trouble associating the anti-alias outset with 
> the problem. However I'm fairly certain that if we clip the copy rects
> against the currentRasters bounds it will fix the problem.
> 
>         Rectangle dr = copyRaster.getBounds();
> +       Rectangle sr = null;
> +       if (currentRaster != null) 
> +           sr = currentRaster.getBounds();
> 
> ----
> 
>                         Rectangle r = (Rectangle)iter.next();
>                         if (!dr.intersects(r)) continue;
>                         r = dr.intersection(r);
> +                       if (!sr.intersects(r)) continue;
> +                       r = sr.intersection(r);

That does seem to fix the problem (adding an extra null check for sr in
there), so I’ve just committed it.

Thanks!

Cameron

-- 
Cameron McCormack ≝ http://mcc.id.au/

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to