Removed SDL_GetDisplayDPI()
This function wasn't consistently correct across platforms and devices. If you want the UI scale factor, you can use display_scale in the structure returned by SDL_GetDesktopDisplayMode(). If you need an approximate DPI, you can multiply this value times 160 on iPhone and Android, and 96 on other platforms.
This commit is contained in:
parent
b7c6fec10a
commit
824b9b0a58
28 changed files with 32 additions and 542 deletions
|
@ -304,7 +304,6 @@ static jmethodID midClipboardSetText;
|
|||
static jmethodID midCreateCustomCursor;
|
||||
static jmethodID midDestroyCustomCursor;
|
||||
static jmethodID midGetContext;
|
||||
static jmethodID midGetDisplayPhysicalDPI;
|
||||
static jmethodID midGetManifestEnvironmentVariables;
|
||||
static jmethodID midGetNativeSurface;
|
||||
static jmethodID midInitTouch;
|
||||
|
@ -593,7 +592,6 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeSetupJNI)(JNIEnv *env, jclass cl
|
|||
midCreateCustomCursor = (*env)->GetStaticMethodID(env, mActivityClass, "createCustomCursor", "([IIIII)I");
|
||||
midDestroyCustomCursor = (*env)->GetStaticMethodID(env, mActivityClass, "destroyCustomCursor", "(I)V");
|
||||
midGetContext = (*env)->GetStaticMethodID(env, mActivityClass, "getContext", "()Landroid/content/Context;");
|
||||
midGetDisplayPhysicalDPI = (*env)->GetStaticMethodID(env, mActivityClass, "getDisplayDPI", "()Landroid/util/DisplayMetrics;");
|
||||
midGetManifestEnvironmentVariables = (*env)->GetStaticMethodID(env, mActivityClass, "getManifestEnvironmentVariables", "()Z");
|
||||
midGetNativeSurface = (*env)->GetStaticMethodID(env, mActivityClass, "getNativeSurface", "()Landroid/view/Surface;");
|
||||
midInitTouch = (*env)->GetStaticMethodID(env, mActivityClass, "initTouch", "()V");
|
||||
|
@ -624,7 +622,6 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeSetupJNI)(JNIEnv *env, jclass cl
|
|||
!midCreateCustomCursor ||
|
||||
!midDestroyCustomCursor ||
|
||||
!midGetContext ||
|
||||
!midGetDisplayPhysicalDPI ||
|
||||
!midGetManifestEnvironmentVariables ||
|
||||
!midGetNativeSurface ||
|
||||
!midInitTouch ||
|
||||
|
@ -1650,37 +1647,6 @@ SDL_DisplayOrientation Android_JNI_GetDisplayOrientation(void)
|
|||
return displayOrientation;
|
||||
}
|
||||
|
||||
int Android_JNI_GetDisplayPhysicalDPI(float *ddpi, float *xdpi, float *ydpi)
|
||||
{
|
||||
JNIEnv *env = Android_JNI_GetEnv();
|
||||
|
||||
jobject jDisplayObj = (*env)->CallStaticObjectMethod(env, mActivityClass, midGetDisplayPhysicalDPI);
|
||||
jclass jDisplayClass = (*env)->GetObjectClass(env, jDisplayObj);
|
||||
|
||||
jfieldID fidXdpi = (*env)->GetFieldID(env, jDisplayClass, "xdpi", "F");
|
||||
jfieldID fidYdpi = (*env)->GetFieldID(env, jDisplayClass, "ydpi", "F");
|
||||
jfieldID fidDdpi = (*env)->GetFieldID(env, jDisplayClass, "densityDpi", "I");
|
||||
|
||||
float nativeXdpi = (*env)->GetFloatField(env, jDisplayObj, fidXdpi);
|
||||
float nativeYdpi = (*env)->GetFloatField(env, jDisplayObj, fidYdpi);
|
||||
int nativeDdpi = (*env)->GetIntField(env, jDisplayObj, fidDdpi);
|
||||
|
||||
(*env)->DeleteLocalRef(env, jDisplayObj);
|
||||
(*env)->DeleteLocalRef(env, jDisplayClass);
|
||||
|
||||
if (ddpi) {
|
||||
*ddpi = (float)nativeDdpi;
|
||||
}
|
||||
if (xdpi) {
|
||||
*xdpi = nativeXdpi;
|
||||
}
|
||||
if (ydpi) {
|
||||
*ydpi = nativeYdpi;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void *Android_JNI_GetAudioBuffer(void)
|
||||
{
|
||||
return audioBufferPinned;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue