changeset 2385:0705e8ebe951 gsoc2008_iphone

Rectangles demo (SDL_RenderFill)
author Holmes Futrell <hfutrell@umail.ucsb.edu>
date Fri, 18 Jul 2008 20:52:18 +0000
parents 6a946f3155d8
children c5cbbba41c65
files XCodeiPhoneOS/Demos/src/rectangles.c
diffstat 1 files changed, 76 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/XCodeiPhoneOS/Demos/src/rectangles.c	Fri Jul 18 20:52:18 2008 +0000
@@ -0,0 +1,76 @@
+/*
+ *	rectangles.c
+ *	written by Holmes Futrell
+ *	use however you want
+*/
+
+#include "SDL.h"
+#include <time.h>
+#include "common.h"
+
+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) {
+		fatalError("Could not initialize SDL");
+	}
+		
+	/* seed random number generator */
+	srand(time(NULL));
+	
+	/* create window and renderer */
+	windowID = SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN);
+	if (windowID == 0) {
+		fatalError("Could not initialize Window");
+	}
+	if (SDL_CreateRenderer(windowID, -1, 0) != 0) {
+		fatalError("Could not create renderer");
+	}
+			
+	/* 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;
+}