Xcode-iOS/Template/SDL iOS Application/main.c
changeset 6159 fb6f363032fd
parent 5511 be843abc1f6c
child 7191 75360622e65f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Xcode-iOS/Template/SDL iOS Application/main.c	Thu Jan 05 21:41:55 2012 -0500
@@ -0,0 +1,98 @@
+/*
+ *	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(SDL_Renderer *renderer)
+{
+
+    Uint8 r, g, b;
+
+    /* Clear the screen */
+    SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
+    SDL_RenderClear(renderer);
+
+    /*  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);
+    SDL_SetRenderDrawColor(renderer, r, g, b, 255);
+
+    /*  Fill the rectangle in the color */
+    SDL_RenderFillRect(renderer, &rect);
+
+    /* update screen */
+    SDL_RenderPresent(renderer);
+}
+
+int
+main(int argc, char *argv[])
+{
+
+    SDL_Window *window;
+    SDL_Renderer *renderer;
+    int done;
+    SDL_Event event;
+
+    /* initialize SDL */
+    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
+        printf("Could not initialize SDL\n");
+        return 1;
+    }
+
+    /* seed random number generator */
+    srand(time(NULL));
+
+    /* create window and renderer */
+    window =
+        SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
+                         SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN);
+    if (!window) {
+        printf("Could not initialize Window\n");
+        return 1;
+    }
+
+    renderer = SDL_CreateRenderer(window, -1, 0);
+    if (!renderer) {
+        printf("Could not create renderer\n");
+        return 1;
+    }
+
+    /* Enter render loop, waiting for user to quit */
+    done = 0;
+    while (!done) {
+        while (SDL_PollEvent(&event)) {
+            if (event.type == SDL_QUIT) {
+                done = 1;
+            }
+        }
+        render(renderer);
+        SDL_Delay(1);
+    }
+
+    /* shutdown SDL */
+    SDL_Quit();
+
+    return 0;
+}