Updated the template code

This commit is contained in:
Sam Lantinga 2011-02-20 19:15:00 -08:00
parent 1c631c853c
commit 7aadbd91ac
2 changed files with 51 additions and 44 deletions

View file

@ -17,10 +17,15 @@ randomInt(int min, int max)
} }
void void
render(void) render(SDL_Renderer *renderer)
{ {
Uint8 r, g, b; Uint8 r, g, b;
/* Clear the screen */
SDL_SetRenderDrawColor(0, 0, 0, 255);
SDL_SetRenderClear(renderer);
/* Come up with a random rectangle */ /* Come up with a random rectangle */
SDL_Rect rect; SDL_Rect rect;
rect.w = randomInt(64, 128); rect.w = randomInt(64, 128);
@ -32,45 +37,47 @@ render(void)
r = randomInt(50, 255); r = randomInt(50, 255);
g = randomInt(50, 255); g = randomInt(50, 255);
b = randomInt(50, 255); b = randomInt(50, 255);
SDL_SetRenderDrawColor(r, g, b, 255); SDL_SetRenderDrawColor(renderer, r, g, b, 255);
/* Fill the rectangle in the color */ /* Fill the rectangle in the color */
SDL_RenderFillRect(&rect); SDL_RenderFillRect(renderer, &rect);
/* update screen */ /* update screen */
SDL_RenderPresent(); SDL_RenderPresent(renderer);
} }
int int
main(int argc, char *argv[]) main(int argc, char *argv[])
{ {
SDL_WindowID windowID; SDL_Window *window;
SDL_Renderer *renderer;
int done; int done;
SDL_Event event; SDL_Event event;
/* initialize SDL */ /* initialize SDL */
if (SDL_Init(SDL_INIT_VIDEO) < 0) { if (SDL_Init(SDL_INIT_VIDEO) < 0) {
printf("Could not initialize SDL\n"); printf("Could not initialize SDL\n");
return 1;
} }
/* seed random number generator */ /* seed random number generator */
srand(time(NULL)); srand(time(NULL));
/* create window and renderer */ /* create window and renderer */
windowID = window =
SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN); SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN);
if (windowID == 0) { if (!window) {
printf("Could not initialize Window\n"); printf("Could not initialize Window\n");
} return 1;
if (SDL_CreateRenderer(windowID, -1, 0) != 0) {
printf("Could not create renderer\n");
} }
/* Fill screen with black */ renderer = SDL_CreateRenderer(window, -1, 0);
SDL_RenderClear(); if (renderer) {
printf("Could not create renderer\n");
return 1;
}
/* Enter render loop, waiting for user to quit */ /* Enter render loop, waiting for user to quit */
done = 0; done = 0;
@ -80,7 +87,7 @@ main(int argc, char *argv[])
done = 1; done = 1;
} }
} }
render(); render(renderer);
SDL_Delay(1); SDL_Delay(1);
} }