On Tue, 24 Mar 2026 23:45:35 GMT, Michael Strauß <[email protected]> wrote:

>> When a non-opaque scene fill color is used with a stage style other than 
>> `StageStyle.TRANSPARENT`, the actual fill color is always white. This 
>> doesn't work well when the scene uses a dark color scheme. A practical 
>> solution is to allow non-opaque scene fill colors, and blend them on top of 
>> a white or black background (depending on color scheme) to derive an opaque 
>> color that adapts intuitively to the color scheme.
>> 
>> To test this, simply create a scene that uses a non-opaque fill color and 
>> observe the scene background when the color scheme is changed.
>> 
>> This PR includes a system test, run it with:
>> 
>> ./gradlew -PFULL_TEST=true -PUSE_ROBOT=true :systemTests:test --tests 
>> test.robot.javafx.scene.SceneFillTest.testSceneFill
>
> Michael Strauß has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains 10 additional 
> commits since the last revision:
> 
>  - comment
>  - Merge branch 'master' into feature/scene-fill
>  - use ChangeListener instead of InvalidationListener
>  - import
>  - check FX thread
>  - Update window background when scene fill changes
>  - Update window background when ColorScheme changes
>  - review comments
>  - Clear background to dominant fill color
>  - Adjust scene background to color scheme

modules/javafx.graphics/src/main/java/com/sun/javafx/image/ImageUtils.java line 
113:

> 111:     }
> 112: 
> 113:     /**

I'm onboard with the rest of this PR but this big chunk of code is above my pay 
grade. Is the conversion from sRGB to CIELAB correct? Is it a correct 
implementation of k-means clustering? Is it even valid to perform clustering 
for CIELAB values? Rather than try to answer these questions I generally go get 
a snack and put off the review for another week.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/2068#discussion_r3125394223

Reply via email to