mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-05-27 22:04:46 +00:00
feat(ui): redetect scale factor on each launch when not set in config (PR260)
* re-detect DPI scale each launch instead of using stale saved value * make uiScale config default null --------- Co-authored-by: Jindra Petřík <jindra.petrik@gmail.com>
This commit is contained in:
@@ -823,7 +823,7 @@ public final class Configuration {
|
||||
@ConfigurationCategory("script")
|
||||
public static ConfigurationItem<Boolean> flattenASPackages = null;
|
||||
|
||||
@ConfigurationDefaultDouble(1.0)
|
||||
//@ConfigurationDefaultDouble(1.0)
|
||||
@ConfigurationCategory("display")
|
||||
@ConfigurationName("gui.scale")
|
||||
public static ConfigurationItem<Double> uiScale = null;
|
||||
|
||||
@@ -2971,16 +2971,19 @@ public class Main {
|
||||
System.setProperty("sun.java2d.d3d", "false");
|
||||
System.setProperty("sun.java2d.noddraw", "true");
|
||||
|
||||
if (System.getProperty("sun.java2d.uiScale") == null) { //it was not set by commandline, etc.
|
||||
if (!Configuration.uiScale.hasValue()) {
|
||||
if (System.getProperty("sun.java2d.uiScale") == null) { //it was not set by commandline, etc.
|
||||
double scaleToUse = Configuration.uiScale.get();
|
||||
if (!Configuration.uiScale.hasValue() || Configuration.uiScale.get() == null) {
|
||||
// Auto-detect from current screen. Do NOT persist to config so the scale is
|
||||
// re-detected on each launch (prevents stale 4K scale being applied on a
|
||||
// lower-DPI monitor after a display change).
|
||||
GraphicsConfiguration configuration = View.getMainDefaultScreenDevice().getDefaultConfiguration();
|
||||
|
||||
AffineTransform transform = configuration.getDefaultTransform();
|
||||
if (transform != null) {
|
||||
Configuration.uiScale.set(transform.getScaleX());
|
||||
scaleToUse = transform.getScaleX();
|
||||
}
|
||||
}
|
||||
System.setProperty("sun.java2d.uiScale", "" + Configuration.uiScale.get());
|
||||
System.setProperty("sun.java2d.uiScale", "" + scaleToUse);
|
||||
}
|
||||
|
||||
if (Configuration.hwAcceleratedGraphics.get()) {
|
||||
|
||||
Reference in New Issue
Block a user