1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Proper surface reset when resuming app on Android

Just re-creating the window instead of restarting the app entirely.
This commit is contained in:
PouleyKetchoupp
2020-05-24 10:04:59 +02:00
parent 07ada02cb4
commit b987677cc0
7 changed files with 43 additions and 17 deletions

View File

@@ -164,9 +164,20 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_setup(JNIEnv *env, jc
ClassDB::register_class<JNISingleton>();
}
JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_resize(JNIEnv *env, jclass clazz, jint width, jint height) {
if (os_android)
os_android->set_display_size(Size2i(width, height));
JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_resize(JNIEnv *env, jclass clazz, jobject p_surface, jint p_width, jint p_height) {
if (os_android) {
os_android->set_display_size(Size2i(p_width, p_height));
// No need to reset the surface during startup
if (step > 0) {
if (p_surface) {
ANativeWindow *native_window = ANativeWindow_fromSurface(env, p_surface);
os_android->set_native_window(native_window);
DisplayServerAndroid::get_singleton()->reset_window();
}
}
}
}
JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_newcontext(JNIEnv *env, jclass clazz, jobject p_surface, jboolean p_32_bits) {