Mercurial > sdl-ios-xcode
diff XCodeiPhoneOS/Template/SDL Application/main.c @ 2765:f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Bring SDL to iPhone and iPod Touch
by Holmes Futrell, mentored by Sam Lantinga
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 04 Oct 2008 06:46:59 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/XCodeiPhoneOS/Template/SDL Application/main.c Sat Oct 04 06:46:59 2008 +0000 @@ -0,0 +1,90 @@ +/* + * rectangles.c + * written by Holmes Futrell + * use however you want + */ + +#include "SDL.h" +#include <time.h> + +#define SCREEN_WIDTH 320 +#define SCREEN_HEIGHT 480 + +int +randomInt(int min, int max) +{ + return min + rand() % (max - min + 1); +} + +void +render(void) +{ + + Uint8 r, g, b; + /* Come up with a random rectangle */ + SDL_Rect rect; + rect.w = randomInt(64, 128); + rect.h = randomInt(64, 128); + rect.x = randomInt(0, SCREEN_WIDTH); + rect.y = randomInt(0, SCREEN_HEIGHT); + + /* Come up with a random color */ + r = randomInt(50, 255); + g = randomInt(50, 255); + b = randomInt(50, 255); + + /* Fill the rectangle in the color */ + SDL_RenderFill(r, g, b, 255, &rect); + + /* update screen */ + SDL_RenderPresent(); + +} + +int +main(int argc, char *argv[]) +{ + + SDL_WindowID windowID; + int done; + SDL_Event event; + + /* initialize SDL */ + if (SDL_Init(SDL_INIT_VIDEO) < 0) { + printf("Could not initialize SDL\n"); + } + + /* seed random number generator */ + srand(time(NULL)); + + /* create window and renderer */ + windowID = + SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, + SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN); + if (windowID == 0) { + printf("Could not initialize Window\n"); + } + if (SDL_CreateRenderer(windowID, -1, 0) != 0) { + printf("Could not create renderer\n"); + } + + /* Fill screen with black */ + SDL_RenderFill(0, 0, 0, 0, NULL); + + /* Enter render loop, waiting for user to quit */ + done = 0; + while (!done) { + while (SDL_PollEvent(&event)) { + if (event.type == SDL_QUIT) { + done = 1; + } + } + render(); + SDL_Delay(1); + } + + /* shutdown SDL */ + SDL_Quit(); + + return 0; +}