5package org.qtproject.qt.android;
7import android.app.Activity;
8import android.content.Context;
9import android.os.Build;
10import android.util.DisplayMetrics;
11import android.view.Display;
12import android.content.res.Configuration;
13import android.view.Surface;
21 private int m_activityDisplayRotation = -1;
22 private int m_ownDisplayRotation = -1;
23 private int m_nativeOrientation = -1;
24 private int m_previousRotation = -1;
33 m_activityDisplayRotation = rotation;
38 m_nativeOrientation = orientation;
43 return m_ownDisplayRotation;
49 Activity activity = (Activity)getContext();
53 DisplayMetrics realMetrics =
new DisplayMetrics();
54 Display
display = (Build.VERSION.SDK_INT < Build.VERSION_CODES.R)
55 ? activity.getWindowManager().getDefaultDisplay()
56 : activity.getDisplay();
61 display.getRealMetrics(realMetrics);
62 if ((realMetrics.widthPixels > realMetrics.heightPixels) != (
w >
h)) {
72 QtDisplayManager.setApplicationDisplayMetrics(activity,
w,
h);
73 QtDisplayManager.handleOrientationChanges(activity);
80 if (
context instanceof Activity) {
81 Activity activity = (Activity)
context;
84 int rotation = QtDisplayManager.getDisplayRotation(activity);
86 QtDisplayManager.handleOrientationChanges(activity);
87 m_previousRotation = rotation;
93 (
r1 == Surface.ROTATION_0 &&
r2 == Surface.ROTATION_180)
94 || (
r1 == Surface.ROTATION_180 &&
r2 == Surface.ROTATION_0)
95 || (
r1 == Surface.ROTATION_90 &&
r2 == Surface.ROTATION_270)
96 || (
r1 == Surface.ROTATION_270 &&
r2 == Surface.ROTATION_90);
void setNativeOrientation(int orientation)
QtRootLayout(Context context)
void setActivityDisplayRotation(int rotation)
boolean isSameSizeForOrientations(int r1, int r2)
void onSizeChanged(int w, int h, int oldw, int oldh)
void onConfigurationChanged(Configuration configuration)
struct wl_display * display
GLfloat GLfloat GLfloat w
[0]
GLfloat GLfloat GLfloat GLfloat h