[OpenJDK 2D-Dev] [9] RFR JDK-8162796: [macosx] LinearGradientPaint and RadialGradientPaint are not printed on OS X.
Prasanta Sadhukhan
prasanta.sadhukhan at oracle.com
Thu Oct 20 09:22:52 UTC 2016
Hi Phil,
I have modified the webrev to support REFLECT and REPEAT albeit via
raster path and not via Quartz api, as Quartz cannot handle REPEAT/REFLECT.
http://cr.openjdk.java.net/~psadhukhan/8162796/webrev.01/
Have tested with different fractions, stops, color.
Regards
Prasanta
On 9/28/2016 2:06 AM, Philip Race wrote:
> Hi,
>
> LinearGradientPaint has three options as to how it is extended beyond
> the end point
>
> https://docs.oracle.com/javase/8/docs/api/java/awt/MultipleGradientPaint.CycleMethod.html
>
>
> So far as I can see this code (and perhaps quartz) can only handle
> NO_CYCLE ..
>
> 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 ...
>
> -phil.
>
> 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