• Sam Lantinga's avatar
    Updated main.c for API changes · 48e11c36
    Sam Lantinga authored
    Kees Bakker to sdl
    
    The main.c for the template is still targeting SDL1.2. Here
    is the patch to make it work for SDL1.3 (I'm hoping
    the mailing lists accepts attachments.)
    
    In this patch I have also changed the shell script that
    assembles the Template. Since there is now only one lib
    target (same name for "device" and "simulator" version)
    I copy the simulator library to the destination with
    the name libSDLSimulator.a. This is not a satisfactory
    solution, because both libraries are included in the project
    while only one is needed (depending on the selected
    environment). However, I'm not fluent with Xcode to
    say what a better solution would be.
    
    Kind regards,
    Kees Bakker
    48e11c36
main.c 1.78 KB
/*
 *	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(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);
    SDL_SetRenderDrawColor(r, g, b, 255);

    /*  Fill the rectangle in the color */
    SDL_RenderFillRect(&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) {
        printf("Could not initialize SDL\n");
    }

    /* seed random number generator */
    srand(time(NULL));

    /* create window and renderer */
    windowID =
        SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
                         SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN);
    if (windowID == 0) {
        printf("Could not initialize Window\n");
    }
    if (SDL_CreateRenderer(windowID, -1, 0) != 0) {
        printf("Could not create renderer\n");
    }

    /* Fill screen with black */
    SDL_RenderClear();

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