> This PR adds the missing native implementation for Windows, > `GlassWindow::HandleDPIEvent`, to notify the (Java) window when there is a > DPI change event, which can happen when the user changes the resolution of > the screen (via Settings -> System -> Display -> scale), while the JavaFX > application is running, in a similar way as Java Desktop > [handles](https://github.com/openjdk/jdk/blob/master/src/java.desktop/windows/native/libawt/windows/awt_Window.cpp#L1418) > this DPI event. > > When such `WM_DPICHANGED` event happens, `GlassWindow::HandleDPIEvent` > notifies the (Java) window, which changes its platform scale via > `Window::notifyScaleChanged`, and `GlassScreen::HandleDisplayChange();` is > needed too, to update the platform scale of the screen where the window is at > as well. > > The change in `Screen:: notifySettingsChanged` is needed in order to prevent > disposing screens that are not referenced by windows, and only do it when the > screen instance of a given window does change. > > There are no tests added to this PR, since these would require manual > intervention to change the resolution of the display. In any case, the test > case added to the [issue](https://bugs.openjdk.org/browse/JDK-8346281) runs > fine now when the app runs on a given screen and the user changes its > resolution. It has also been tested that it doesn't have any side effect on > macOS. > > For the case when the app runs on a different display that the one that was > changed, see https://bugs.openjdk.org/browse/JDK-8371302 and a possible fix > with https://github.com/openjdk/jfx/pull/1963.
Jose Pereda has updated the pull request incrementally with one additional commit since the last revision: Use set and remove unnecessary casting ------------- Changes: - all: https://git.openjdk.org/jfx/pull/1964/files - new: https://git.openjdk.org/jfx/pull/1964/files/9ec63bb5..fbf6c6a3 Webrevs: - full: https://webrevs.openjdk.org/?repo=jfx&pr=1964&range=01 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1964&range=00-01 Stats: 8 lines in 2 files changed: 2 ins; 3 del; 3 mod Patch: https://git.openjdk.org/jfx/pull/1964.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/1964/head:pull/1964 PR: https://git.openjdk.org/jfx/pull/1964
