[OpenJDK 2D-Dev] [9] Review Request: 8167310 The graphics clip is incorrectly rounded for some fractional scales

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Mon Oct 10 19:45:03 UTC 2016

An updated version:
  - STROKE_PURE is used in the test, the line width is set to 2.01. This 
also fixed the difference between clips(Shape vs Rectangle).
  - The if statement is changed as suggested.

The additional questions:
  - In the current fix we change behavior of the clip. Before the fix if 
we set the clip to the nearest areas they can overlaps in the 
destination. Should we change the drawImage as well? Currently if I draw 
image to the nearest areas in the user space, the images can overlap in 
the destination(so the actual result in destination depends on what 
image was painted first).
  - Should the clip be affected by the stroke(if it was set by the 
shape)? Right now if the clip was set by the shape it will produce 
different result than if it was set via rectangle.

On 10.10.16 22:29, Jim Graham wrote:
> That does sound like a problem.  Does it do the same thing with new
> Path2D(Rectangle)?  The Area class does some processing on the path and
> it would be nice to eliminate that as a potential source of this
> problem.  I don't have a buildable JDK9 repo right now that I can fire
> off some quick tests on so I'll have to look at this later...
>             ...jim
> On 10/10/16 12:04 PM, Sergey Bylokhov wrote:
>> On 10.10.16 21:55, Sergey Bylokhov wrote:
>>>> Will give us a pass on the test as long as we made the same mistake for
>>>> both the rect clip and the shape clip.  I think you want "(rgb !=
>>>> goldRGB) || (rgb != GREEN && rgb != RED)"...?
>>> Correct, I will update the test.
>> surprisingly but it is produce the different results.... And I think
>> that the clip which is set via Shape is shifted,
>> because the first and last fillRects cover only the half of expected
>> area. But in case of clip=rectangle all fillRects
>> produce the same areas.

Best regards, Sergey.

More information about the 2d-dev mailing list