RFR: 8242861: Update ImagePattern to apply SVG pattern transforms [v7]

Ambarish Rapte arapte at openjdk.java.net
Tue Nov 3 12:10:58 UTC 2020


On Mon, 12 Oct 2020 03:11:18 GMT, Arun Joseph <ajoseph at openjdk.org> wrote:

>> fillPath() and fillRect() functions in [GraphicsContextJava.cpp](https://github.com/openjdk/jfx/blob/master/modules/javafx.web/src/main/native/Source/WebCore/platform/graphics/java/GraphicsContextJava.cpp) use Image::drawPattern() for applying patterns as fill. But drawPattern() doesn't use patternTransform argument as ImagePattern doesn't have the same attribute. So, the final image won't be transformed.
>
> Arun Joseph has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix incorrect concat param order

Added a small query comment.
Rest looks good to me, change seems specific to `ImagePattern` transformation. This transformation is set only when specified from webkit and is identity otherwise.

modules/javafx.graphics/src/main/java/com/sun/prism/impl/ps/PaintHelper.java line 754:

> 752: 
> 753:         BaseTransform paintXform = paint.getPatternTransformNoClone();
> 754:         if (paintXform != null) {

Minor: Is the null check needed ?  I could not find an instance where an object of `ImagePattern` is constructed using default constructor. 
If `ImagePattern.getPatternTransformNoClone()` could return null then should we do null check with other calls to `ImagePattern.getPatternTransformNoClone()` ? OR may be remove this null check.

-------------

PR: https://git.openjdk.java.net/jfx/pull/190


More information about the openjfx-dev mailing list