From: Tyler Montbriand <tsm@accesscomm.ca>

To: sdl@libsdl.org
Date: Fri, 30 Sep 2005 02:24:50 -0600
Subject: [SDL] WinCE timers, continued

Here's a strange timer for Windows CE that doesn't ignore time across
suspends.  It uses GetSystemTime to keep the time continuous, and GetTicks to
get finer-grained readings than 1 second.  It detects the difference between
the GetTicks time and GetSystemTime time on power-on to keep the error within
one second max.

It's not a patch on the current win32 timer code -- took one look at that and
figured it had more than enough #ifdefs already.  It's windows-ce specific.

Another thing I've noticed is that the Windows CE 4.0 and newer API has
functions warn processes about suspends.  This is something SDL REALLY needs
for audio in particular, because turning it off while it's playing causes
anything that uses audio to hardlock the system on power-on.  Unfortunately I
don't have 4.0 to play with.  :(

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401183
This commit is contained in:
Ryan C. Gordon 2005-11-22 07:10:07 +00:00
parent 1e285f766b
commit 374ad1d764
2 changed files with 152 additions and 2 deletions

View file

@ -33,8 +33,11 @@ static char rcsid =
#include "SDL_error.h"
#ifdef _WIN32_WCE
#define USE_GETTICKCOUNT
#define USE_SETTIMER
#error This is WinCE. Please use src/timer/wince/SDL_systimer.c instead.
/* but if you really want to use this file, use these #defines... */
#define USE_GETTICKCOUNT
#define USE_SETTIMER
#endif
#define TIME_WRAP_VALUE (~(DWORD)0)