// Leopold Clement
#include "SDL2/SDL.h"
/*#include <exception.h>
#include <string.h>
#include <iostream.h>*/

int main(int argc, char *argv[])
{
    SDL_Window *pwindow;
    SDL_Renderer *prenderer;
    SDL_Event events;
    int isOpen = 1;

    SDL_Rect rectangle1 = {20, 20, 100, 50};

    //Initialisation de SDL avec la vidéo
    if (SDL_Init(SDL_INIT_VIDEO) != 0)
        printf("il y a un souci d'initialisation");

    // make sure SDL cleans up before exit
    atexit(SDL_Quit);

    //Création d'une fenetre pointée par m_window et de son rendu pointé par m_rendered
    //largeur 640 et hauteur 480
    if (SDL_CreateWindowAndRenderer(640, 480, SDL_WINDOW_SHOWN, &pwindow, &prenderer) != 0)
        printf("il y a un souci de création de fenêtre");

    //Paramètre de rendu de la fenetre (R,G,B et transparence a 255 pour opaque)
    SDL_SetRenderDrawColor(prenderer, 200, 200, 200, 255);
    SDL_RenderClear(prenderer);

    //Affichage de la fenetre
    SDL_RenderPresent(prenderer);

    while (isOpen)
    {
        /* évènements de votre jeu */
        while (SDL_PollEvent(&events))
        {

            switch (events.type)
            {
            case SDL_QUIT:
                isOpen = 0;
                break;

            case SDL_KEYDOWN:
                if (events.key.keysym.sym == SDLK_v)
                {
                    SDL_SetRenderDrawColor(prenderer, 00, 255, 00, 255);
                    SDL_RenderFillRect(prenderer, &rectangle1);
                }
                if (events.key.keysym.sym == SDLK_b)
                {
                    SDL_SetRenderDrawColor(prenderer, 00, 00, 255, 255);
                    SDL_RenderFillRect(prenderer, &rectangle1);
                }
                break;
            }
        }

        SDL_RenderPresent(prenderer); // mets à jour la fenêtre
    }

    SDL_DestroyRenderer(prenderer); //destruction du rendu
    SDL_DestroyWindow(pwindow);     //destruction de la fenetre
    SDL_Quit();

    return 0;
}
