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