summaryrefslogtreecommitdiffstats
path: root/src/android
diff options
context:
space:
mode:
authorDaiwei Li <daiweili@suitabletech.com>2014-12-26 14:53:02 -0800
committerMorten Johan Sørvig <morten.sorvig@digia.com>2015-03-27 09:38:52 +0100
commit79c1f7f198f7d94f59619b6d58895b19934069b0 (patch)
tree5aa678b13a3a2922cb1a7f75ffc1936d62f1cfae /src/android
parentec30aae64100bca1f1bfe54cc4c72eb0157c4dcf (diff)
Add high DPI support to Android
Set QHighDpiScaling's scale factor to DisplayMetrics.density reported from the Android SDK Change-Id: Ia51f99bf6dda485a57413949246c7b32cb47e8dd
Diffstat (limited to 'src/android')
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java3
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtLayout.java3
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtNative.java14
3 files changed, 14 insertions, 6 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
index c7355c1530..bd78766bdb 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
@@ -787,7 +787,8 @@ public class QtActivityDelegate
m_activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
QtNative.setApplicationDisplayMetrics(metrics.widthPixels, metrics.heightPixels,
0, 0,
- metrics.xdpi, metrics.ydpi, metrics.scaledDensity);
+ metrics.xdpi, metrics.ydpi,
+ metrics.scaledDensity, metrics.density);
}
ViewGroup layout = null;
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java b/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java
index 09fef4a705..8f2d656bcc 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java
@@ -64,7 +64,8 @@ public class QtLayout extends ViewGroup
DisplayMetrics metrics = new DisplayMetrics();
((Activity) getContext()).getWindowManager().getDefaultDisplay().getMetrics(metrics);
QtNative.setApplicationDisplayMetrics(metrics.widthPixels,
- metrics.heightPixels, w, h, metrics.xdpi, metrics.ydpi, metrics.scaledDensity);
+ metrics.heightPixels, w, h, metrics.xdpi, metrics.ydpi,
+ metrics.scaledDensity, metrics.density);
}
@Override
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
index bed9d69782..601ad92611 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
@@ -71,6 +71,7 @@ public class QtNative
private static double m_displayMetricsXDpi = .0;
private static double m_displayMetricsYDpi = .0;
private static double m_displayMetricsScaledDensity = 1.0;
+ private static double m_displayMetricsDensity = 1.0;
private static int m_oldx, m_oldy;
private static final int m_moveThreshold = 0;
private static ClipboardManager m_clipboardManager = null;
@@ -214,7 +215,8 @@ public class QtNative
m_displayMetricsDesktopHeightPixels,
m_displayMetricsXDpi,
m_displayMetricsYDpi,
- m_displayMetricsScaledDensity);
+ m_displayMetricsScaledDensity,
+ m_displayMetricsDensity);
if (params.length() > 0 && !params.startsWith("\t"))
params = "\t" + params;
startQtApplication(f.getAbsolutePath() + params, environment);
@@ -229,7 +231,8 @@ public class QtNative
int desktopHeightPixels,
double XDpi,
double YDpi,
- double scaledDensity)
+ double scaledDensity,
+ double density)
{
/* Fix buggy dpi report */
if (XDpi < android.util.DisplayMetrics.DENSITY_LOW)
@@ -245,7 +248,8 @@ public class QtNative
desktopHeightPixels,
XDpi,
YDpi,
- scaledDensity);
+ scaledDensity,
+ density);
} else {
m_displayMetricsScreenWidthPixels = screenWidthPixels;
m_displayMetricsScreenHeightPixels = screenHeightPixels;
@@ -254,6 +258,7 @@ public class QtNative
m_displayMetricsXDpi = XDpi;
m_displayMetricsYDpi = YDpi;
m_displayMetricsScaledDensity = scaledDensity;
+ m_displayMetricsDensity = density;
}
}
}
@@ -578,7 +583,8 @@ public class QtNative
int desktopHeightPixels,
double XDpi,
double YDpi,
- double scaledDensity);
+ double scaledDensity,
+ double density);
public static native void handleOrientationChanged(int newRotation, int nativeOrientation);
// screen methods