view XCodeiPhoneOS/Demos/src/rectangles.c @ 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
children
line wrap: on
line source

/*
 *	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;
}