X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;ds=sidebyside;f=src%2Fandroid%2Ffg_main_android.c;h=09406d56ec3d202c3032613bd4d236c5e16d8f9f;hb=5e0c2363eddcc91af3574ea5777e686e8998e390;hp=a989a27e7758e086bcfb82f6fa33add6fbbb4252;hpb=1c44434d29188fbfe47a2239c045f8059600ed42;p=freeglut diff --git a/src/android/fg_main_android.c b/src/android/fg_main_android.c index a989a27..09406d5 100644 --- a/src/android/fg_main_android.c +++ b/src/android/fg_main_android.c @@ -228,7 +228,8 @@ int32_t handle_input(struct android_app* app, AInputEvent* event) { int32_t action = AMotionEvent_getAction(event) & AMOTION_EVENT_ACTION_MASK; /* Pointer ID for clicks */ int32_t pidx = AMotionEvent_getAction(event) >> AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT; - /* TODO: Handle multi-touch; also handle multiple sources */ + /* TODO: Handle multi-touch; also handle multiple sources/devices */ + /* cf. http://sourceforge.net/mailarchive/forum.php?thread_name=20120518071314.GA28061%40perso.beuc.net&forum_name=freeglut-developer */ if (0) { LOGI("motion action=%d index=%d source=%d", action, pidx, source); int count = AMotionEvent_getPointerCount(event); @@ -367,6 +368,7 @@ void handle_cmd(struct android_app* app, int32_t cmd) { /* The application is being hidden, but may be restored */ LOGI("handle_cmd: APP_CMD_TERM_WINDOW"); fghPlatformCloseWindowEGL(window); + window->State.NeedToInitContext = GL_TRUE; fgDisplay.pDisplay.single_native_window = NULL; break; case APP_CMD_STOP: @@ -459,7 +461,7 @@ void fgPlatformProcessSingleEvent ( void ) } } } - /* If coming back from a pause: */ + /* Coming back from a pause: */ /* - Recreate window context and surface */ /* - Call user-defined hook to restore resources (textures...) */ /* - Exit pause looop */ @@ -471,8 +473,9 @@ void fgPlatformProcessSingleEvent ( void ) surface; in which case fgPlatformOpenWindow will no-op. */ fgPlatformOpenWindow(window, "", GL_FALSE, 0, 0, GL_FALSE, 0, 0, GL_FALSE, GL_FALSE); /* TODO: INVOKE_WCB(*window, Pause?); */ - /* TODO: INVOKE_WCB(*window, LoadResources/ContextLost/...?); */ /* TODO: INVOKE_WCB(*window, Resume?); */ + if (!FETCH_WCB(*window, InitContext)) + fgWarning("Resuming application, but no callback to reload context resources (glutInitContextFunc)"); } } }