#pragma once
#include <stdint.h>

struct SDL_Window;
struct SDL_Texture;

namespace mini
{
    namespace shader
    {
        struct state_t {
            const bool *keys;
            uint8_t just_pressed = 0;
            char text_input_buffer[10];
            bool has_text_input = false;
        };
        extern state_t state;

        const bool init(SDL_Window* win, SDL_Texture* backBuffer, const char* vertexShader, const char* fragmentShader=nullptr);
        void init(const char* vshader, const char* fshader);

        void enable();
        void disable();

        void render();
    }
}
