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

Clemens Eisserer linuxhippy at gmail.com
Wed Nov 6 17:38:44 UTC 2013


Hi Jim,

Thanks for taking the time to review this in-depth.

> I guess that also explains why the source coordinates were multiplied by the
> scale, though that seems a rather odd way to handle these issues.

Indeed, the offsets could be also stored as part of the transformation
(as it is done for TransformBlit), which would be more elegant.


> A new question/issue - on line 314, what happens if the case is both
> quadrant rotated and extra-alpha'd?  Either of those will get us into that
> code block, but also both of them could be true at the same time in which
> case it looks like you forego the retreival of the EA mask...?

In this case a 1x1 mask with EA prepared in advance by
XRCompositionManager will be used, returned by
xrMgr.getExtraAlphaMask().

However, thinking about it again, it seems to me the code could be
simplified a bit more.
As soon as a TransformBlit is quadrant rotated, the else-branch (line
321) can handle all cases even with extra-alpha (compositeBlit handles
EA in a generic way) - which would make the conditional at line 314
redundant.
However, I tended to versimplify this part, so maybe this is something
for JDK9 ;)

- Clemens



More information about the 2d-dev mailing list