This repository has been archived by the owner. It is now read-only.
Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
with
76 additions
and 0 deletions.
@@ -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; | ||
} |