Mercurial > sdl-ios-xcode
annotate 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 |
rev | line source |
---|---|
0 | 1 |
2 #include <stdio.h> | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
3 #include <stdlib.h> |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
4 #include <string.h> |
47
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
5 #include "SDL_main.h" |
0 | 6 #include "SDL_types.h" |
7 | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
8 /* |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
9 * Watcom C flags these as Warning 201: "Unreachable code" if you just |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
10 * compare them directly, so we push it through a function to keep the |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
11 * compiler quiet. --ryan. |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
12 */ |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
13 static int badsize(size_t sizeoftype, size_t hardcodetype) |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
14 { |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
15 return sizeoftype != hardcodetype; |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
16 } |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
17 |
0 | 18 int main(int argc, char *argv[]) |
19 { | |
20 int error = 0; | |
21 int verbose = 1; | |
22 | |
23 if ( argv[1] && (strcmp(argv[1], "-q") == 0) ) | |
24 verbose = 0; | |
25 | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
26 if ( badsize(sizeof(Uint8), 1) ) { |
0 | 27 if ( verbose ) |
28 printf("sizeof(Uint8) != 1, instead = %d\n", | |
29 sizeof(Uint8)); | |
30 ++error; | |
31 } | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
32 if ( badsize(sizeof(Uint16), 2) ) { |
0 | 33 if ( verbose ) |
34 printf("sizeof(Uint16) != 2, instead = %d\n", | |
35 sizeof(Uint16)); | |
36 ++error; | |
37 } | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
38 if ( badsize(sizeof(Uint32), 4) ) { |
0 | 39 if ( verbose ) |
40 printf("sizeof(Uint32) != 4, instead = %d\n", | |
41 sizeof(Uint32)); | |
42 ++error; | |
43 } | |
44 #ifdef SDL_HAS_64BIT_TYPE | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
45 if ( badsize(sizeof(Uint64), 8) ) { |
0 | 46 if ( verbose ) |
47 printf("sizeof(Uint64) != 8, instead = %d\n", | |
48 sizeof(Uint64)); | |
49 ++error; | |
50 } | |
51 #else | |
52 if ( verbose ) { | |
53 printf("WARNING: No 64-bit datatype on this platform\n"); | |
54 } | |
55 #endif | |
56 if ( verbose && ! error ) | |
57 printf("All data types are the expected size.\n"); | |
58 | |
59 return( error ? 1 : 0 ); | |
60 } |