properly detect whether we are in "fullscreen" (i.e. immersive) on Android

This commit is contained in:
fysx
2015-02-19 00:15:31 +01:00
parent 168357e1ad
commit c30e788393
4 changed files with 34 additions and 4 deletions
+18
View File
@@ -49,6 +49,24 @@ void setImmersive (bool immersive_active) {
env->DeleteLocalRef (clazz);
}
bool getImmersive () {
JNIEnv *env = (JNIEnv*) SDL_AndroidGetJNIEnv();
jobject activity = (jobject) SDL_AndroidGetActivity();
jclass clazz (env->GetObjectClass(activity));
jmethodID method_id = env->GetMethodID (clazz, "getImmersiveMode", "()Z");
jboolean immersive_active = env->CallBooleanMethod (activity, method_id);
env->DeleteLocalRef (activity);
env->DeleteLocalRef (clazz);
if (immersive_active)
return true;
return false;
}
double getScreenScale()
{
static double result = -1.;
+4
View File
@@ -32,7 +32,11 @@ namespace love
namespace android
{
/**
* Enables or disables immersive mode where the navigation bar is hidden.
**/
void setImmersive (bool immersive_active);
bool getImmersive ();
/**
* Gets the scale factor of the window's screen, e.g. on Retina displays this