///////////////////////////////////////////////////////
| 181 | |
| 182 | //////////////////////////////////////////////////////////// |
| 183 | void getScreenSizeInPixels(ANativeActivity& activity, int& width, int& height) |
| 184 | { |
| 185 | // Perform the following Java code: |
| 186 | // |
| 187 | // DisplayMetrics dm = new DisplayMetrics(); |
| 188 | // getWindowManager().getDefaultDisplay().getMetrics(dm); |
| 189 | |
| 190 | JNIEnv& lJNIEnv = *activity.env; |
| 191 | |
| 192 | jobject objectActivity = activity.clazz; |
| 193 | jclass classActivity = lJNIEnv.GetObjectClass(objectActivity); |
| 194 | |
| 195 | jclass classDisplayMetrics = lJNIEnv.FindClass("android/util/DisplayMetrics"); |
| 196 | jmethodID initDisplayMetrics = lJNIEnv.GetMethodID(classDisplayMetrics, "<init>", "()V"); |
| 197 | jobject objectDisplayMetrics = lJNIEnv.NewObject(classDisplayMetrics, initDisplayMetrics); |
| 198 | |
| 199 | jmethodID methodGetWindowManager = lJNIEnv.GetMethodID(classActivity, |
| 200 | "getWindowManager", |
| 201 | "()Landroid/view/WindowManager;"); |
| 202 | jobject objectWindowManager = lJNIEnv.CallObjectMethod(objectActivity, methodGetWindowManager); |
| 203 | |
| 204 | jclass classWindowManager = lJNIEnv.FindClass("android/view/WindowManager"); |
| 205 | jmethodID methodGetDefaultDisplay = lJNIEnv.GetMethodID(classWindowManager, |
| 206 | "getDefaultDisplay", |
| 207 | "()Landroid/view/Display;"); |
| 208 | jobject objectDisplay = lJNIEnv.CallObjectMethod(objectWindowManager, methodGetDefaultDisplay); |
| 209 | |
| 210 | jclass classDisplay = lJNIEnv.FindClass("android/view/Display"); |
| 211 | jmethodID methodGetMetrics = lJNIEnv.GetMethodID(classDisplay, "getMetrics", "(Landroid/util/DisplayMetrics;)V"); |
| 212 | lJNIEnv.CallVoidMethod(objectDisplay, methodGetMetrics, objectDisplayMetrics); |
| 213 | |
| 214 | jfieldID fieldWidthPixels = lJNIEnv.GetFieldID(classDisplayMetrics, "widthPixels", "I"); |
| 215 | jfieldID fieldHeightPixels = lJNIEnv.GetFieldID(classDisplayMetrics, "heightPixels", "I"); |
| 216 | |
| 217 | width = lJNIEnv.GetIntField(objectDisplayMetrics, fieldWidthPixels); |
| 218 | height = lJNIEnv.GetIntField(objectDisplayMetrics, fieldHeightPixels); |
| 219 | } |
| 220 | |
| 221 | |
| 222 | //////////////////////////////////////////////////////////// |
no outgoing calls
no test coverage detected