Platform and Equinox API

Here are descriptions of some of the changes of interest to plug-in developers made to the Eclipse Platform and SWT for the 4.34 release of Eclipse.

New features oriented towards end-users of the platform can be viewed in the What's New section of the Eclipse Platform User Guide.

SWT Changes

Monitor-Specific UI Rescaling in Display Class (Windows only)

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.

Note: Those methods will currently only have an effect on Windows.