[OpenJDK 2D-Dev] Request for review: Additional fix for JDK-7159455

Jim Graham james.graham at oracle.com
Tue Nov 5 17:37:29 UTC 2013


Hi Clemens,

I sincerely apologize for not seeing this sooner, my email sorting is a 
little primitive, but I should check these alternate folders more often.

The one thing I am concerned about here is the rounding that is going on 
for scaled images.  You removed a comment about non-integer coordinates 
that I think is germane.  In particular, if a scale is animating and an 
image is rendered to 0,0=>10,10 and then 0,0=>10.25,10.25 then the 
pixels chosen will subtly change, but the code there rounds the 
coordinates to integers so you would see no change.  While the bounds of 
the result would be correct, the exact pixels chosen from the source 
image for each pixel in the destination would not be quite right.  Where 
can you communicate to the maskBuffer.compositeBlit() method that, while 
the coordinates given represent the bounds of interest, they aren't the 
exact definition of the precise scaling parameters in play?

			...jim

On 10/18/13 4:45 AM, Clemens Eisserer wrote:
> Another revision was required, available at:
> http://cr.openjdk.java.net/~ceisserer/fix12/webrev.04/
>
> When the destination-area is quadratic, no geometry is stored inside
> the mask and therefore the composition-window is used for clipping and
> it's size has to be rounded properly.
> In cases where it is not quadrant transformed, the code makes now sure
> no pixels are clipped away unintentionally.
>
> Thanks for your patience, Clemens
>



More information about the 2d-dev mailing list