Replies: 1 comment 5 replies
-
|
I have worked on the monitor specific scaling. I noticed some issues with the 4.36 release that introduced the SVG support. I then updated to the latest 4.38 release and noticed some changes, some things are fixed, and some flaws still exist. If I start the application with Interestingly it works correct if I therefore decided to try to keep the autoscaling enabled and see how that behaves then. With some modifications this seems to look ok. If I start the application with I have pushed my work in the monitor_scaling branch. As the high dpi autoscaling seems to be not really stable in the current release (at least not stable enough for NatTable?) but there is quite some work for the upcoming release, I tend to wait with merging my current work related to the autoscaling. I noticed that there was also an improvement on the Maybe you want to have a look at the current status and maybe propose improvements? For example I noticed that in 4.36 the native zoom was available in the data field of Are there any additional changes I need to consider in the future? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
With the efforts in SWT to support monitor specific scaling, the method
Display#getDPI()will be deprecated in the upcoming release (see eclipse-platform/eclipse.platform.swt#2260)NatTable makes use of this method to support scaling of the NatTable according to the display settings. A list of places where it is used in NatTable and other Nebula widgets can be found here: vi-eclipse/Eclipse-Platform#205
The method
Display#getDPI()will be marked as deprecated, so it does not mean with the upcoming Eclipse release it is not working anymore. But it makes sense to prepare for that in the near future.The following is a collection of findings, that will probably be introduced in NatTable. This will increase the minimum required SWT version and probably even add breaking changes, as there is no need to handle different scalings for x and y then.
You can already try to support the monitor specific scaling with NatTable by adding the following modifications locally:
Introduce a new
IDpiConverterConfigure the NatTable instance to
DefaultMonitorDpiConverterfor scalingzoomChangedListenerto react on zoom changesIf you now start your application with
-Dswt.autoScale.updateOnRuntime=truethe NatTable rendering should update if the applicatoin is moved between monitors with differently configured scalings.According to @akoch-yatta the above relies on a status that is still under development and might probably change. Therefore the above changes are not yet included in NatTable itself. There are also some places that can't be changed in a simple way, e.g. in the
GUIHelperclass. For a complete support in NatTable of the monitor specific scaling, there are some more steps to do.I start this discussion now, to note down the findings so far, and to be able to get updates once the SWT team has a solution released.
Beta Was this translation helpful? Give feedback.
All reactions