RFR: 8242861: Update ImagePattern to apply SVG pattern transforms

Arun Joseph ajoseph at openjdk.java.net
Wed Apr 29 06:47:14 UTC 2020

On Mon, 27 Apr 2020 23:56:37 GMT, Kevin Rushforth <kcr 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.
> Since this is in a common method used by all shapes, and not just WebView, we will need to ensure no regressions.

All ImagePattern objects, other than the one from WebView, uses the second constructor which assigns an identity
transform as the pattern transform. So, existing calls to PaintHelper concatenates the shader transform with an
identity matrix and thus, shouldn't cause any regressions. Only calls from WebView's drawPattern() method in
WCGraphicsPrismContext uses the patternTransform attribute.


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

More information about the openjfx-dev mailing list