On 05.10.2016 02:39, Sergey Bylokhov wrote:
On 22.08.16 19:42, Semyon Sadetsky wrote:
I do not get it how it can affect the non-dpi systems,
we are talking about the method that receive the desktop scale, right?
Am talking about GraphicsConfiguration.getDefaultTransform() which
returns non-identity value only on HiDPI screens.
It simply returns a transform to the detected scale. The transform is
wrong if the native scale is incorrectly detected.
Can you clarify, what does it mean "wrong", this why we cannot use it
or what? If it is wrong then we can fix it, if it is correct why we
cannot use it? It should be the same as getNativeScale(), because it
is based on getNativeScale(), but unlike getNativeScale it is a public
API which is unrelated to X11.
getNativeScale() returns the correct scale only on supported
desktops/WMs. Currently they are gnome3 and Unity. My change doesn't
affect other Linux distributions. What you are suggesting will change
behavior on unsupported distributions. I don't see the reason to do this.
=======
since only in jdk9 on HiDPI screens default scale can have some
transform. The difference from the current solution is that the
shared
code will used the public/shared java2d api, instead of platform
specific.
- Take debug scale into account if it was set and skip all
others.
- Check J2D_UISCALE
- Check scale-factor, text-scale-factor, text-scaling-factor.
- Check Xft.dpi.
- If non of them was set then scale=1 should be used.