Mercurial > sdl-ios-xcode
diff Xcode/TemplatesForXcode/SDL OpenGL Application/main.c @ 2220:4d2d0548f5b2
Don't run indent on the Xcode templates
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 11 Aug 2007 18:51:12 +0000 |
parents | 23a2cb765052 |
children |
line wrap: on
line diff
--- a/Xcode/TemplatesForXcode/SDL OpenGL Application/main.c Fri Aug 10 16:03:35 2007 +0000 +++ b/Xcode/TemplatesForXcode/SDL OpenGL Application/main.c Sat Aug 11 18:51:12 2007 +0000 @@ -4,7 +4,7 @@ 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> @@ -12,175 +12,168 @@ #include "SDL.h" -extern void Atlantis_Init(); -extern void Atlantis_Reshape(int w, int h); -extern void Atlantis_Animate(); -extern void Atlantis_Display(); +extern void Atlantis_Init (); +extern void Atlantis_Reshape (int w, int h); +extern void Atlantis_Animate (); +extern void Atlantis_Display (); static SDL_Surface *gScreen; -static void -initAttributes() +static void initAttributes () { // Setup attributes we want for the OpenGL context - + int value; - + // Don't set color bit sizes (SDL_GL_RED_SIZE, etc) // Mac OS X will always use 8-8-8-8 ARGB for 32-bit screens and // 5-5-5 RGB for 16-bit screens - + // Request a 16-bit depth buffer (without this, there is no depth buffer) value = 16; - SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, value); - - + SDL_GL_SetAttribute (SDL_GL_DEPTH_SIZE, value); + + // Request double-buffered OpenGL // The fact that windows are double-buffered on Mac OS X has no effect // on OpenGL double buffering. value = 1; - SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, value); + SDL_GL_SetAttribute (SDL_GL_DOUBLEBUFFER, value); } -static void -printAttributes() +static void printAttributes () { // Print out attributes of the context we created int nAttr; int i; - - int attr[] = { SDL_GL_RED_SIZE, SDL_GL_BLUE_SIZE, SDL_GL_GREEN_SIZE, - SDL_GL_ALPHA_SIZE, SDL_GL_BUFFER_SIZE, SDL_GL_DEPTH_SIZE - }; - - char *desc[] = { "Red size: %d bits\n", "Blue size: %d bits\n", - "Green size: %d bits\n", - "Alpha size: %d bits\n", "Color buffer size: %d bits\n", - "Depth bufer size: %d bits\n" - }; + + int attr[] = { SDL_GL_RED_SIZE, SDL_GL_BLUE_SIZE, SDL_GL_GREEN_SIZE, + SDL_GL_ALPHA_SIZE, SDL_GL_BUFFER_SIZE, SDL_GL_DEPTH_SIZE }; + + char *desc[] = { "Red size: %d bits\n", "Blue size: %d bits\n", "Green size: %d bits\n", + "Alpha size: %d bits\n", "Color buffer size: %d bits\n", + "Depth bufer size: %d bits\n" }; nAttr = sizeof(attr) / sizeof(int); - + for (i = 0; i < nAttr; i++) { - + int value; - SDL_GL_GetAttribute(attr[i], &value); - printf(desc[i], value); - } + SDL_GL_GetAttribute (attr[i], &value); + printf (desc[i], value); + } } -static void -createSurface(int fullscreen) +static void createSurface (int fullscreen) { Uint32 flags = 0; - + flags = SDL_OPENGL; if (fullscreen) flags |= SDL_FULLSCREEN; - + // Create window - gScreen = SDL_SetVideoMode(640, 480, 0, flags); + gScreen = SDL_SetVideoMode (640, 480, 0, flags); if (gScreen == NULL) { - - fprintf(stderr, "Couldn't set 640x480 OpenGL video mode: %s\n", - SDL_GetError()); - SDL_Quit(); - exit(2); - } + + fprintf (stderr, "Couldn't set 640x480 OpenGL video mode: %s\n", + SDL_GetError()); + SDL_Quit(); + exit(2); + } } -static void -initGL() +static void initGL () { - Atlantis_Init(); - Atlantis_Reshape(gScreen->w, gScreen->h); + Atlantis_Init (); + Atlantis_Reshape (gScreen->w, gScreen->h); } -static void -drawGL() +static void drawGL () { - Atlantis_Animate(); - Atlantis_Display(); + Atlantis_Animate (); + Atlantis_Display (); } -static void -mainLoop() +static void mainLoop () { SDL_Event event; int done = 0; int fps = 24; - int delay = 1000 / fps; + int delay = 1000/fps; int thenTicks = -1; int nowTicks; - - while (!done) { + + while ( !done ) { - /* Check for events */ - while (SDL_PollEvent(&event)) { - switch (event.type) { + /* 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; - } - } - + case SDL_MOUSEMOTION: + break; + case SDL_MOUSEBUTTONDOWN: + break; + case SDL_KEYDOWN: + /* Any keypress quits the app... */ + case SDL_QUIT: + done = 1; + break; + default: + break; + } + } + // Draw at 24 hz // This approach is not normally recommended - it is better to // use time-based animation and run as fast as possible - drawGL(); - SDL_GL_SwapBuffers(); + drawGL (); + SDL_GL_SwapBuffers (); // Time how long each draw-swap-delay cycle takes // and adjust delay to get closer to target framerate if (thenTicks > 0) { - nowTicks = SDL_GetTicks(); - delay += (1000 / fps - (nowTicks - thenTicks)); + nowTicks = SDL_GetTicks (); + delay += (1000/fps - (nowTicks-thenTicks)); thenTicks = nowTicks; if (delay < 0) - delay = 1000 / fps; - } else { - thenTicks = SDL_GetTicks(); + delay = 1000/fps; + } + else { + thenTicks = SDL_GetTicks (); } - SDL_Delay(delay); - } + SDL_Delay (delay); + } } -int -main(int argc, char *argv[]) +int main(int argc, char *argv[]) { - // Init SDL video subsystem - if (SDL_Init(SDL_INIT_VIDEO) < 0) { + // Init SDL video subsystem + if ( SDL_Init (SDL_INIT_VIDEO) < 0 ) { + + fprintf(stderr, "Couldn't initialize SDL: %s\n", + SDL_GetError()); + exit(1); + } - fprintf(stderr, "Couldn't initialize SDL: %s\n", SDL_GetError()); - exit(1); - } // Set GL context attributes - initAttributes(); - + initAttributes (); + // Create GL context - createSurface(0); - + createSurface (0); + // Get GL context attributes - printAttributes(); - + printAttributes (); + // Init GL state - initGL(); - + initGL (); + // Draw, get events... - mainLoop(); - + mainLoop (); + // Cleanup - SDL_Quit(); - + SDL_Quit(); + return 0; }