I’ve made fixes to the SDL DIB driver to allow it to fullscreen properly
under Windows CE. They require the linking of aygshell.lib when
compiling for CE.
—For both of 'em, add this block below ‘#include <windows.h>’
#ifdef _WIN32_WCE
#include <aygshell.h>
#endif
—Modify DIB_DestroyWindow() to this:
void DIB_DestroyWindow(_THIS)
{
if ( SDL_windowid == NULL ) {
#ifdef _WIN32_WCE
//Unhide taskbar etc
SHFullScreen(SDL_Window, SHFS_SHOWTASKBAR);
SHFullScreen(SDL_Window, SHFS_SHOWSIPBUTTON);
ShowWindow(FindWindow(TEXT(“HHTaskBar”),NULL),SW_SHOWNORMAL);
#endif
DestroyWindow(SDL_Window);
}
}
—In SDL_dibvideo.c, add this code directly above the ‘#ifndef
NO_CHANGEDISPLAYSETTINGS’
#ifdef _WIN32_WCE
//Stuff to hide that $#!^%#$ WinCE taskbar in fullscreen…
//If we’re switching from fullscreen to non-fullscreen…
if( ((prev_flags&SDL_FULLSCREEN)==SDL_FULLSCREEN) &&
((flags&SDL_FULLSCREEN)!=SDL_FULLSCREEN) )
{
SHFullScreen(SDL_Window, SHFS_SHOWTASKBAR);
SHFullScreen(SDL_Window, SHFS_SHOWSIPBUTTON);
ShowWindow(FindWindow(TEXT(“HHTaskBar”),NULL),SW_SHOWNORMAL);
}
//If we're going from non-fullscreen to fullscreen...
if( ((flags&SDL_FULLSCREEN)==SDL_FULLSCREEN) &&
((prev_flags&SDL_FULLSCREEN)!=SDL_FULLSCREEN) )
{
SHFullScreen(SDL_Window, SHFS_HIDETASKBAR);
SHFullScreen(SDL_Window, SHFS_HIDESIPBUTTON);
ShowWindow(FindWindow(TEXT("HHTaskBar"),NULL),SW_HIDE);
}
#endif //_WIN32_WCE