- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
void GetDPI ()
{
jclass c; jmethodID m; jobject o, dm; jfieldID fxdpi, fydpi;
c = env->FindClass ("android/util/DisplayMetrics");
m = env->GetMethodID (c, "<init>", "()V");
dm = env->NewObject (c, m);
fxdpi = env->GetFieldID (c, "xdpi", "F");
fydpi = env->GetFieldID (c, "ydpi", "F");
c = env->FindClass ("android/app/NativeActivity");
m = env->GetMethodID (c, "getWindowManager", "()Landroid/view/WindowManager;");
o = env->CallObjectMethod (appState->activity->clazz, m);
c = env->GetObjectClass (o);
m = env->GetMethodID (c, "getDefaultDisplay", "()Landroid/view/Display;");
o = env->CallObjectMethod (o, m);
c = env->GetObjectClass (o);
m = env->GetMethodID (c, "getMetrics", "(Landroid/util/DisplayMetrics;)V");
o = env->CallObjectMethod (o, m, dm);
xdpi = env->GetFloatField (dm, fxdpi);
ydpi = env->GetFloatField (dm, fydpi);
LOGI("dpi is (%f, %f)", xdpi, ydpi);
}