[OpenJDK 2D-Dev] [9] RFR JDK-8162796: [macosx] LinearGradientPaint and RadialGradientPaint are not printed on OS X.

Philip Race philip.race at oracle.com
Tue Sep 27 20:36:59 UTC 2016


LinearGradientPaint has three options as to how it is extended beyond 
the end point


So far as I can see this code (and perhaps quartz) can only handle 

If REFLECT or REPEAT are specified and Quartz can't handle it we will 
need to
fall back to the raster path.

I think it would be helpful to extend the test with examples that use 
these and
also more than just the two colours .. add a variant that tries more 
like 4 ...


On 9/22/16, 2:03 AM, Prasanta Sadhukhan wrote:
> Hi All,
> Please review a fix for jdk9 where it is seen that LinearGradientPaint 
> is not getting printed on osx.
> The below webrev is only for LinearGradientPaint
> and RadialGradientPaint will be handled separately.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8162796
> webrev: http://cr.openjdk.java.net/~psadhukhan/8162796/webrev.00/
> Issue was LinearGradientPaint is not handled in osx from jdk7 onwards. 
> It handles simple GradientPaint.
> Code is added as per
> https://developer.apple.com/library/content/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_shadings/dq_shadings.html#//apple_ref/doc/uid/TP30001066-CH207-TPXREF101 
> to use "CGGradientRef" quartz datatype to support LinearGradientPaint.
> CGGradientRef is used compared to CGShadingRef because it is mentioned 
> in CGGradientRef,  i is "Easy to define more than two locations and 
> colors." as we set 2 or more colors and 2 or more fractions in 
> LinearGradientPaint.
> Regards
> Prasanta

More information about the 2d-dev mailing list