diff --git a/news/4.34/images/hidpi-setting-preference.png b/news/4.34/images/hidpi-setting-preference.png new file mode 100644 index 000000000..d8756fab0 Binary files /dev/null and b/news/4.34/images/hidpi-setting-preference.png differ diff --git a/news/4.34/images/rescaling_disabled.png b/news/4.34/images/rescaling_disabled.png new file mode 100644 index 000000000..c4648863c Binary files /dev/null and b/news/4.34/images/rescaling_disabled.png differ diff --git a/news/4.34/images/rescaling_enabled.png b/news/4.34/images/rescaling_enabled.png new file mode 100644 index 000000000..b18e8b60b Binary files /dev/null and b/news/4.34/images/rescaling_enabled.png differ diff --git a/news/4.34/platform.html b/news/4.34/platform.html index d0953575d..80fa67e82 100644 --- a/news/4.34/platform.html +++ b/news/4.34/platform.html @@ -112,6 +112,48 @@
+ This update introduces a preference to enable an improved, monitor- and resolution-specific UI scaling on Windows. + The feature makes each window adapt its scaling to the monitor it is currently placed on in a sharp, + resolution-specific way and without requiring the application to restart. + When using multiple windows, each of them will adapt its scaling to the monitor it is placed on. + When enabling the feature, it replaces the existing scaling support for high-resolution monitors that is limited to + initializing the application's window according to the scaling of the primary monitor at startup and adapting to + monitors with other scale values only via blurry scaling or via an application restart. +
++ To enable this feature, check the Monitor-specific UI scaling box on the Appearance preference page + (Window > Preferences > General > Appearance), as shown in the image below. + In addition to the enhanced UI scaling, this preference also enables the Edge browser as default for an improved + browser scaling experience. + The feature is still under development, thus marked as experimental and disabled by default. We encourage users + to explore this feature and share their feedback to help us improve the functionality. +
+
+
+
+ The functionality can also be used in pure SWT applications. See this news on the according SWT API changes. +
++ The images below demonstrate the scaling behavior in an extract of an Eclipse application when moving the window + from a primary monitor with 100% scaling to another monitor with 200% scaling, first having the feature disabled and + second having it enabled. +
+
+ With monitor-specific UI rescaling disabled:
+
+
+ With monitor-specific UI rescaling enabled:
+
+
+ The API methods
+ org.eclipse.swt.widgets.Display#setRescalingAtRuntime(boolean) and
+ org.eclipse.swt.widgets.Display#isRescalingAtRuntime() have been added to SWT.
+ These methods allow to enable, disable, and retrieve the state of the "rescaling at runtime" functionality.
+ When enabled, it makes shells and their contents sharply rescale according to the current monitor they are placed on
+ or moved to.
+
+
+ Note that in order to work as expected, enabling the rescaling at runtime functionality will also set the DPI + awareness of the Display's thread to PerMonitorV2. + This happens even if the DPI awareness of the Java process itself is set to some different value. +
+
+ To ensure backwards compatibility, this feature is disabled by default. The feature has to be enabled for a
+ Display it is supposed to be used for. It needs to be activated before a shell is created to take
+ proper effect.
+ As an example, the feature can be enabled in Eclipse applications via a preference, see this news.
+
+ Note: Those methods will currently only have an effect on Windows. +
+