• Sam Lantinga's avatar
    Fixed bug 1293 - [Android] Support Pause/Resume · 64d81471
    Sam Lantinga authored
    Gabriel Jacobo 2011-12-23 12:55:11 PST
    
    The attached files provide some improvement over the current handling of
    pause/resume in Android.
    - I disabled the exit(status) instruction in SDL_main as that makes the entire
    app instead of the SDL thread exit (while not needed for pause/resume it is
    needed for Live Wallpapers, an SDLActivity for which I'll upload in a separate
    bug).
    - Added nativePause and nativeResume which basically just mark the window as
    visible/hidden, something that the end user needs to take into consideration
    (ideally pausing the event loop).
    
    Also, this arrangement creates a new GL context when needed, which at least in
    my test system is every time you go away from the app and come back to it. So,
    this means that the textures need to be generated again after resuming (a
    problem the end user didn't have before because the app exited completely when
    it should've been pausing). I'd like to know if there's a standard way of
    letting the user know that the GL context has changed and that he needs to
    refresh his textures, or if this is out of the scope of the library and each
    user handles it in their own way (I don't know how/if this same thing is
    handled in  the iPhone backend, but it would be wise to try to imitate that).
    
    Gabriel Jacobo 2011-12-23 12:57:10 PST
    Also, in the SDLActivity the EGL handling code is moved up to the Activity from
    the Surface code, as I think it is possible (in theory) that the surface is
    destroyed temporarily while the context remains alive (though in practice in my
    test system this is not the case)
    64d81471
Name
Last commit
Last update
VisualC Loading commit data...
Xcode Loading commit data...
Xcode-iOS Loading commit data...
acinclude Loading commit data...
android-project Loading commit data...
build-scripts Loading commit data...
include Loading commit data...
src Loading commit data...
test Loading commit data...
.DISABLED-hgeol Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
.indent.pro Loading commit data...
Android.mk Loading commit data...
BUGS Loading commit data...
Borland.html Loading commit data...
Borland.zip Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
INSTALL Loading commit data...
Makefile.ds Loading commit data...
Makefile.in Loading commit data...
Makefile.minimal Loading commit data...
Makefile.pandora Loading commit data...
Makefile.wiz Loading commit data...
NOTES Loading commit data...
README Loading commit data...
README-SDL.txt Loading commit data...
README.BeOS Loading commit data...
README.DirectFB Loading commit data...
README.HG Loading commit data...
README.MacOSX Loading commit data...
README.Platforms Loading commit data...
README.Porting Loading commit data...
README.Watcom Loading commit data...
README.WinCE Loading commit data...
README.android Loading commit data...
README.ds Loading commit data...
README.gesture Loading commit data...
README.iOS Loading commit data...
README.pandora Loading commit data...
README.touch Loading commit data...
SDL.spec.in Loading commit data...
TODO Loading commit data...
UNDER_CONSTRUCTION.txt Loading commit data...
VisualC.html Loading commit data...
Watcom-Win32.zip Loading commit data...
WhatsNew Loading commit data...
aclocal.m4 Loading commit data...
autogen.sh Loading commit data...
configure Loading commit data...
configure.in Loading commit data...
sdl-config.in Loading commit data...
sdl.m4 Loading commit data...
sdl.pc.in Loading commit data...