Mercurial > sdl-ios-xcode
view test/testtypes.c @ 1180:bdcb8bb4c831
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. :(
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Tue, 22 Nov 2005 07:10:07 +0000 |
parents | d93862a3d821 |
children | 835c1831f903 |
line wrap: on
line source
#include <stdio.h> #include <stdlib.h> #include <string.h> #include "SDL_main.h" #include "SDL_types.h" /* * Watcom C flags these as Warning 201: "Unreachable code" if you just * compare them directly, so we push it through a function to keep the * compiler quiet. --ryan. */ static int badsize(size_t sizeoftype, size_t hardcodetype) { return sizeoftype != hardcodetype; } int main(int argc, char *argv[]) { int error = 0; int verbose = 1; if ( argv[1] && (strcmp(argv[1], "-q") == 0) ) verbose = 0; if ( badsize(sizeof(Uint8), 1) ) { if ( verbose ) printf("sizeof(Uint8) != 1, instead = %d\n", sizeof(Uint8)); ++error; } if ( badsize(sizeof(Uint16), 2) ) { if ( verbose ) printf("sizeof(Uint16) != 2, instead = %d\n", sizeof(Uint16)); ++error; } if ( badsize(sizeof(Uint32), 4) ) { if ( verbose ) printf("sizeof(Uint32) != 4, instead = %d\n", sizeof(Uint32)); ++error; } #ifdef SDL_HAS_64BIT_TYPE if ( badsize(sizeof(Uint64), 8) ) { if ( verbose ) printf("sizeof(Uint64) != 8, instead = %d\n", sizeof(Uint64)); ++error; } #else if ( verbose ) { printf("WARNING: No 64-bit datatype on this platform\n"); } #endif if ( verbose && ! error ) printf("All data types are the expected size.\n"); return( error ? 1 : 0 ); }