#pragma once
#include <SDL2/SDL.h>

namespace ui
{
    #define CHR_W 6
    #define CHR_H 13

    #define COLOR_BLACK     0
    #define COLOR_DARK_BLUE 1
    #define COLOR_GREEN     2
    #define COLOR_TEAL      3
    #define COLOR_BROWN     4
    #define COLOR_PURPLE    5
    #define COLOR_ORANGE    6
    #define COLOR_GRAY      7
    #define COLOR_DARK      8
    #define COLOR_BLUE      9
    #define COLOR_LIME      10
    #define COLOR_CYAN      11
    #define COLOR_RED       12
    #define COLOR_MAGENTA   13
    #define COLOR_YELLOW    14
    #define COLOR_WHITE     15

    SDL_Texture * createtexture(SDL_Renderer *renderer);
    void setrenderer(SDL_Renderer *renderer, SDL_Texture *texture);
    void setoffset(uint8_t x, uint8_t y);

    void box(int x, int y, int w, int h, uint8_t color);
    void printrect(int x, int y, int w, int h, uint8_t color);
    void printvoidrect(int x, int y, int w, int h, uint8_t color);
    void printchar(int x, int y, char chr, uint8_t color=255);
    void printtxt(int x, int y, const char *text, uint8_t color);

    void setClicked(const bool value);
    const bool getClicked();
}
