-
Bug
-
Resolution: Fixed
-
P4
-
21, 24, 25
-
b20
The GTK look-and-feel engine paints various UI components using gtk and cairo. The images obtained are then painted to the Swing component with drawImage().
The pixels that cairo produces have their alpha components pre-multiplied as per the documentation:
https://www.cairographics.org/manual/cairo-Image-Surfaces.html?spm=a2ty_o01.29997173.0.0.540ac921z2EebT#cairo-format-t
However, the Java code that reads those pixels assumes that alpha is not pre-multiplied and therefore the resulting translucent parts of GTK UI appear lighter than they should because alpha is applied twice.
The pixels that cairo produces have their alpha components pre-multiplied as per the documentation:
https://www.cairographics.org/manual/cairo-Image-Surfaces.html?spm=a2ty_o01.29997173.0.0.540ac921z2EebT#cairo-format-t
However, the Java code that reads those pixels assumes that alpha is not pre-multiplied and therefore the resulting translucent parts of GTK UI appear lighter than they should because alpha is applied twice.
- links to
-
Commit(master) openjdk/jdk/a4e9da37
-
Review(master) openjdk/jdk/24551