[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 22:53:34 UTC 2016
On 11.10.16 1:23, Phil Race wrote:
>> Yes, I think adjacent drawImage requests should not overlap. We
>> should look into this separately.
>
> So previously, overlapping of the clip bounds ensured adjacent images
> were not drawn
> over-lapped .. but with this fix they might be ?
The fix change only behavior of the rectangle clip. So using the setClip
we can prevent overlaping of the images. But i think that even without
clip such images should not overlap.
>> On the other hand, we normalize differently for AA and non-AA. Calling
>> getFillSSI() on LoopPipe basically performs normalization only for
>> non-AA fills. Arguably, though, clipping produces non-AA results in
>> that it chooses whole pixels to include or exclude. This might mean
>> that it should never follow AA normalization.
>
> That last sentence sounds like the right answer in principle but I don't
> know if we'll be unpleasantly surprised
> by some consequence of "... that setClip(Shape) and fill(Shape) might
> disagree .."
I just tested fillRect vs fill(RectShape), and both work differently in
some cases as well-=((.
So we have a few similar methods which works differently(even if
VALUE_STROKE_PURE is set), which became visible on fractional(1.5)
scales....
- setClip(Rectangle)
- setClip(Shape)
- fillRect(Rectangle)
- fill(Shape)
- DrawImage(Rectangle)
--
Best regards, Sergey.
More information about the 2d-dev
mailing list