RFR: 8274932: Render scales in EmbeddedWindow are not properly updated [v8]

Prasanta Sadhukhan psadhukhan at openjdk.org
Fri Aug 4 05:49:38 UTC 2023


On Thu, 3 Aug 2023 18:04:23 GMT, Andy Goryachev <angorya at openjdk.org> wrote:

> The good:
> 
>     * image on both monitors (macOS) appear with no gaps
> 
>     * text on both monitors looks good, anti-aliasing works as expected
> 
> 
> The bad:
> 
>     * both windows (using EmbeddedFrameBug class listed earlier) shows O100% for primary retina screen (should be 200%).  What's more, moving from one screen to another does not trigger the `renderScaleXProperty` change event, using this code:
> 
> 
> ```
>         scene.windowProperty().addListener((ob, oldWindow, newWindow) -> {
>             newWindow.renderScaleXProperty().addListener((obs, oldValue, newValue) -> updateText(label, newValue));
>             updateText(label, newWindow.getRenderScaleX());
>             newWindow.renderScaleXProperty().addListener((s,p,c) -> {
>                System.out.println("w=" + newWindow + " scale=" + c); 
>             });
>         });
> ```
> 
> Is this a problem?

I do not have mac setup for FX so cannot comment immediately. it worked for windows where it showed correct scale for secondary monitor...swing-interop does not have platform-dependant code so not sure why it will behave that way in mac..
Was that not working before when you first approved? or does it stop working after updateSceneState integration?

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

PR Comment: https://git.openjdk.org/jfx/pull/1171#issuecomment-1665045386


More information about the openjfx-dev mailing list