One of the possible code paths for `TextLayout.getPixelBounds(...)` actually 
draws the text on a `Graphics2D` and checks the image pixels afterwards. The 
text is drawn over a white background, so if the user sets the font's 
foreground color to white then the text pixels cannot be detected (white on 
white).

This PR fixes the issue by removing the code that sets the background to white, 
leaving the background as the default ARGB color (0 = transparent black). This 
does not cause a new problem for users who might set their font foreground 
color to transparent black, because transparent font foreground colors always 
return an empty bounds anyway (by virtue of being transparent).

The updated code should also be slightly faster since it's doing less work, 
though I haven't run any performance tests.

-------------

Commit messages:
 - Fix test on mac
 - Fix pixel bounds calculation for white text

Changes: https://git.openjdk.org/jdk/pull/28809/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28809&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-6562639
  Stats: 106 lines in 2 files changed: 98 ins; 3 del; 5 mod
  Patch: https://git.openjdk.org/jdk/pull/28809.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28809/head:pull/28809

PR: https://git.openjdk.org/jdk/pull/28809

Reply via email to