MCPcopy Create free account
hub / github.com/SFML/SFML / getScreenSizeInPixels

Function getScreenSizeInPixels

src/SFML/Main/MainAndroid.cpp:183–219  ·  view source on GitHub ↗

///////////////////////////////////////////////////////

Source from the content-addressed store, hash-verified

181
182////////////////////////////////////////////////////////////
183void 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////////////////////////////////////////////////////////////

Callers 1

ANativeActivity_onCreateFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected