Mercurial > sdl-ios-xcode
view README.WinCE @ 4393:9afe12fb4c41 SDL-1.2
Fixed bug #901
Tim Angus 2009-12-11 11:45:46 PST
Disable mouse event generation when state is not SDL_APPMOUSEFOCUS
If a Windows SDL application is minimised by using alt-tab, SDL_APPMOUSEFOCUS
is lost as part of the minimisation. Unfortunately, the directx driver doesn't
pay any attention to this state when generating mouse button events, so
clicking on the Desktop can cause mouse clicks in the SDL application, while
it's still minimised. The attached patch fixes this. It looks much more
complicated than it actually is due to indentation; here it is ignoring
whitespace:
tma@abraxas:~/sources/SDL-1.2-svn$ svn diff -x -b
Index: src/video/windx5/SDL_dx5events.c
===================================================================
--- src/video/windx5/SDL_dx5events.c (revision 5376)
+++ src/video/windx5/SDL_dx5events.c (working copy)
@@ -374,10 +374,9 @@
if ( !(SDL_GetAppState() & SDL_APPMOUSEFOCUS) ) {
mouse_lost = 1;
ClipCursor(NULL);
- }
-
+ } else {
/* If the mouse was lost, regain some sense of mouse state */
- if ( mouse_lost && (SDL_GetAppState() & SDL_APPMOUSEFOCUS) ) {
+ if ( mouse_lost ) {
POINT mouse_pos;
Uint8 old_state;
Uint8 new_state;
@@ -548,6 +547,7 @@
if ( xrel || yrel ) {
post_mouse_motion(1, xrel, yrel);
}
+ }
}
/* The main Win32 event handler */
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 14 Dec 2009 22:41:31 +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