Mercurial > sdl-ios-xcode
view README.WinCE @ 3877:81f66f258d77 SDL-1.2
Fixed bug #281
------- Comment #2 From Christian Walther 2006-07-23 07:37 [reply] -------
Wow, that was an interesting bug to chase. It was a timing issue: it seems that
for some reason, a certain time must pass between ShowMenuBar() being called in
QZ_UnsetVideoMode() and the application quitting. Before rev. 1885, this delay
was provided by the slow hand-coded fade. With the asynchronous Core Graphics
fading introduced in rev. 1885, that delay was no longer present (most of the
time) and the bug became apparent. Adding an SDL_Delay(100) somewhere between
ShowMenuBar() and the end of QZ_VideoQuit() lowered the frequency of the bug
appearing from "almost every time" to "very rarely" here.
However, there is another solution: doing the ShowMenuBar() before releasing
the captured display instead of afterwards. Apparently, no delay is necessary
in that case, and it looks nicer to me anyway because it is the reverse order
of the way things are set up in the beginning: capture display - set video mode
- hide menu bar - ... - show menu bar - reset video mode - release captured
display. So, this is what the attached patch does.
In addition, I've taken the liberty of
- removing some unused code that I forgot to remove in rev. 1885,
- fixing two warnings about undeclared functions in SDL_QuartzVideo.m by
including OpenGL.h (whose name is a bit misleading - it only declares CGL
stuff, so there's no interference with SDL_opengl.h).
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 24 Sep 2006 01:27:40 +0000 |
parents | 86d0d01290ea |
children |
line wrap: on
line source
Project files for embedded Visual C++ 3.0, 4.0 and Visual Studio 2005 can be found in VisualCE.zip SDL supports GAPI and WinDib output for Windows CE. GAPI driver supports: - all possible WinCE devices (Pocket PC, Smartphones, HPC) with different orientations of video memory and resolutions. - 4, 8 and 16 bpp devices - special handling of 8bpp on 8bpp devices - VGA mode, you can even switch between VGA and GAPI in runtime (between 240x320 and 480x640 for example). On VGA devices you can use either GAPI or VGA. - Landscape mode and automatic rotation of buttons and stylus coordinates. To enable landscape mode make width of video screen bigger than height. For example: SDL_SetVideoMode(320,240,16,SDL_FULLSCREEN) - WM2005 - SDL_ListModes NOTE: There are several SDL features not available in the WinCE port of SDL. - DirectX is not yet available - Semaphores are not available - Joystick support is not available - CD-ROM control is not available In addition, there are several features that run in "degraded" mode: Preprocessor Symbol Effect =================== ================================= SDL_systimer.c: USE_GETTICKCOUNT Less accurate values for SDL time functions USE_SETTIMER Use only a single marginally accurate timer SDL_syswm.c: DISABLE_ICON_SUPPORT Can't set the runtime window icon SDL_sysmouse.c: USE_STATIC_CURSOR Only the arrow cursor is available SDL_sysevents.c: NO_GETKEYBOARDSTATE Can't get modifier state on keyboard focus SDL_dibevents.c: NO_GETKEYBOARDSTATE Very limited keycode translation SDL_dibvideo.c: NO_GETDIBITS Can't distinguish between 15 bpp and 16 bpp NO_CHANGEDISPLAYSETTINGS No fullscreen support NO_GAMMA_SUPPORT Gamma correction not available