Mercurial > sdlxcode4templates
diff SDLApplicationBase.xctemplate/main.c @ 0:b0b91cadc484
Initial Xcode 4 templates for SDL/Mac 1.2 and 1.3. The major difference between
the two is SDLMain.
Copy all templates to
~/Library/Developer/Xcode/Templates/SDL
or
/Library/Developer/Xcode/Templates/SDL
Templates based off information documented here:
http://blog.boreal-kiss.net/2011/03/11/a-minimal-project-template-for-xcode-4/
author | Eric Wing <ewing . public |-at-| gmail . com> |
---|---|
date | Sun, 02 Oct 2011 21:14:53 -0700 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SDLApplicationBase.xctemplate/main.c Sun Oct 02 21:14:53 2011 -0700 @@ -0,0 +1,65 @@ + +/* Simple program: Create a blank window, wait for keypress, quit. + + Please see the SDL documentation for details on using the SDL API: + /Developer/Documentation/SDL/docs.html +*/ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <math.h> + +#include "SDL.h" + +int main(int argc, char *argv[]) +{ + Uint32 initflags = SDL_INIT_VIDEO; /* See documentation for details */ + SDL_Surface *screen; + Uint8 video_bpp = 0; + Uint32 videoflags = SDL_SWSURFACE; + int done; + SDL_Event event; + + /* Initialize the SDL library */ + if ( SDL_Init(initflags) < 0 ) { + fprintf(stderr, "Couldn't initialize SDL: %s\n", + SDL_GetError()); + exit(1); + } + + /* Set 640x480 video mode */ + screen=SDL_SetVideoMode(640,480, video_bpp, videoflags); + if (screen == NULL) { + fprintf(stderr, "Couldn't set 640x480x%d video mode: %s\n", + video_bpp, SDL_GetError()); + SDL_Quit(); + exit(2); + } + + done = 0; + while ( !done ) { + + /* Check for events */ + while ( SDL_PollEvent(&event) ) { + switch (event.type) { + + case SDL_MOUSEMOTION: + break; + case SDL_MOUSEBUTTONDOWN: + break; + case SDL_KEYDOWN: + /* Any keypress quits the app... */ + case SDL_QUIT: + done = 1; + break; + default: + break; + } + } + } + + /* Clean up the SDL library */ + SDL_Quit(); + return(0); +}