Add SDL_IsTablet() to Android and iOS SDL.

This commit is contained in:
Sam Lantinga
2018-08-21 11:23:47 -07:00
parent b09b25f6e4
commit 109544ca04
6 changed files with 52 additions and 1 deletions

View File

@@ -5,6 +5,7 @@ import java.io.InputStream;
import java.util.Arrays;
import java.util.Hashtable;
import java.lang.reflect.Method;
import java.lang.Math;
import android.app.*;
import android.content.*;
@@ -776,6 +777,23 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
return false;
}
/**
* This method is called by SDL using JNI.
*/
public static boolean isTablet() {
DisplayMetrics metrics = new DisplayMetrics();
Activity sdlActivity = (Activity)getContext();
sdlActivity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
double dWidthInches = metrics.widthPixels / (double)metrics.densityDpi;
double dHeightInches = metrics.heightPixels / (double)metrics.densityDpi;
double dDiagonal = Math.sqrt((dWidthInches * dWidthInches) + (dHeightInches * dHeightInches));
// If our diagonal size is seven inches or greater, we consider ourselves a tablet.
return (dDiagonal > 7.0);
}
/**
* This method is called by SDL using JNI.
*/