Revision: 2395
http://sourceforge.net/p/swingme/code/2395
Author: yuranet
Date: 2020-08-11 21:23:26 +0000 (Tue, 11 Aug 2020)
Log Message:
-----------
fix for display density be correct on Linux jdk11
Modified Paths:
--------------
me4se/src/javax/microedition/midlet/ApplicationManager.java
Modified: me4se/src/javax/microedition/midlet/ApplicationManager.java
===================================================================
--- me4se/src/javax/microedition/midlet/ApplicationManager.java 2020-06-26 20:42:48 UTC (rev 2394)
+++ me4se/src/javax/microedition/midlet/ApplicationManager.java 2020-08-11 21:23:26 UTC (rev 2395)
@@ -1331,7 +1331,11 @@
*/
public static double getDisplayDensity() {
String osNameLowerCase = java.lang.System.getProperty("os.name").toLowerCase();
- if (!osNameLowerCase.startsWith("mac") && java.lang.System.getProperty("java.specification.version").startsWith("1.")) {
+ double scale = getScale();
+ // macs always handle things through scale
+ // but on other platforms, if scale is not used, we fall back to display density instead
+ // jdk version from 1.X to 11 and maybe even newer can require this
+ if (!osNameLowerCase.startsWith("mac") && scale == 1.0) {
// on hi res linux value = 196608
Object gnomeDpi = Toolkit.getDefaultToolkit().getDesktopProperty("gnome.Xft/DPI");
@@ -1355,7 +1359,7 @@
// between 1 and 3, rounded to the closest 0.25 (from JBUI.discreteScale)
return Math.min(3, Math.max(1, Math.round(((dpi / 96.0) - 0.01) / 0.25f) * 0.25f));
}
- return getScale();
+ return scale;
}
/**
@@ -1388,7 +1392,7 @@
catch (Throwable th) {}
// default
- return 1;
+ return 1.0;
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|