3331
+ − 1
+ − 2 /* Simple program: Create a blank window, wait for keypress, quit.
+ − 3
+ − 4 Please see the SDL documentation for details on using the SDL API:
+ − 5 /Developer/Documentation/SDL/docs.html
+ − 6 */
+ − 7
+ − 8 #include <stdio.h>
+ − 9 #include <stdlib.h>
+ − 10 #include <string.h>
+ − 11 #include <math.h>
+ − 12
+ − 13 #include "SDL.h"
+ − 14
+ − 15 int main(int argc, char *argv[])
+ − 16 {
+ − 17 Uint32 initflags = SDL_INIT_VIDEO; /* See documentation for details */
+ − 18 SDL_Surface *screen;
+ − 19 Uint8 video_bpp = 0;
+ − 20 Uint32 videoflags = SDL_SWSURFACE;
+ − 21 int done;
+ − 22 SDL_Event event;
+ − 23
+ − 24 /* Initialize the SDL library */
+ − 25 if ( SDL_Init(initflags) < 0 ) {
+ − 26 fprintf(stderr, "Couldn't initialize SDL: %s\n",
+ − 27 SDL_GetError());
+ − 28 exit(1);
+ − 29 }
+ − 30
+ − 31 /* Set 640x480 video mode */
+ − 32 screen=SDL_SetVideoMode(640,480, video_bpp, videoflags);
+ − 33 if (screen == NULL) {
+ − 34 fprintf(stderr, "Couldn't set 640x480x%d video mode: %s\n",
+ − 35 video_bpp, SDL_GetError());
+ − 36 SDL_Quit();
+ − 37 exit(2);
+ − 38 }
+ − 39
+ − 40 done = 0;
+ − 41 while ( !done ) {
+ − 42
+ − 43 /* Check for events */
+ − 44 while ( SDL_PollEvent(&event) ) {
+ − 45 switch (event.type) {
+ − 46
+ − 47 case SDL_MOUSEMOTION:
+ − 48 break;
+ − 49 case SDL_MOUSEBUTTONDOWN:
+ − 50 break;
+ − 51 case SDL_KEYDOWN:
+ − 52 /* Any keypress quits the app... */
+ − 53 case SDL_QUIT:
+ − 54 done = 1;
+ − 55 break;
+ − 56 default:
+ − 57 break;
+ − 58 }
+ − 59 }
+ − 60 }
+ − 61
+ − 62 /* Clean up the SDL library */
+ − 63 SDL_Quit();
+ − 64 return(0);
+ − 65 }