<Swing Dev> RFR JDK-8042055: Nimbus DerivedColor incorrectly clamps hue

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Thu Jul 16 21:34:33 UTC 2020


Looks fine.

On 15.07.2020 02:01, Prasanta Sadhukhan wrote:
> Hi All,
> 
> Please review a fix for a nimbus issue where it is seen that "hue" color in Nimbus.DerivedColor.rederiveColor is being incorrectly clamped.
> 
> rederiveColor() calls Color.HSBtoRGB() to get the RGB color from Hue/Saturation/Brightness color and as per HSBtoRGB spec
> 
> https://docs.oracle.com/en/java/javase/14/docs/api/java.desktop/java/awt/Color.html#HSBtoRGB(float,float,float)
> 
> it is mentioned "The |hue| component can be any floating-point number. The floor of this number is subtracted from it to create a fraction between 0 and 1"
> 
> whereas "The |saturation| and |brightness| components should be floating-point values between zero and one (numbers in the range 0.0-1.0)".
> 
> So, although it is alright to clamp saturation and brightness value within 0.0-1.0 before calling Color.HSBtoRGB(), it is not supposed to be done for "hue" color as it is getting clamped inside HSBtoRGB() method.
> 
> Proposed fix is to do away with this incorrect clamp.
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8042055
> 
> webrev: http://cr.openjdk.java.net/~psadhukhan/8042055/webrev.0/
> 
> Regards
> Prasanta


-- 
Best regards, Sergey.


More information about the swing-dev mailing list