Btw, the direct pointer to the JBS bug is:
https://bugs.openjdk.java.net/browse/JDK-8233181
You're right that FXCanvas Hi-DPI support doesn't handle Linux at all.
As for building JavaFX on Ubuntu 19.10, I just did that, but needed to
disable warnings as errors, likely due to the fact that gcc 9 is
generating more warnings. If this is your problem, then you can
temporarily edit buildSrc/linux.gradle and remove "-Werror" from the
three LINUX.glass.glass*.cFlags settings.
Also, make sure that you have all of the required packages installed. See:
https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX#BuildingOpenJFX-LinuxDesktopBuildLinux
-- Kevin
On 11/14/2019 12:21 PM, marcel Austenfeld wrote:
I filed this bug regarding the high dpi scaling on Linux when using the
FXCanvas for SWT:
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8233181
I think I found the problem in the FXCancas class whereas the Linux case is simply not handled:
https://github.com/openjdk/jfx/blob/master/modules/javafx.swt/src/main/java/javafx/embed/swt/FXCanvas.java#L174
https://github.com/openjdk/jfx/blob/master/modules/javafx.swt/src/main/java/javafx/embed/swt/FXCanvas.java#L240
In both cases the scale factor for MacOSX and Windows is returned (by reflection) but not for Linux which I think i the same method as for Windows.
Thus the scaling factor is always 1 which leads to this graphical distortion (if I set the scale with DPIUtil.setScale differently I can also cause a distortion!)
However I was not able to built openjfx on Ubuntu 19.10 so far.
Is there a gradle command to built the swt module only?
@Kevin Rushforth: can you confirm that this is the cause for the bug?
Unfortunately there is no issue tab on the Github page so I post here.