/*
 * re_ui.c
 *
 * A programmers editor
 *
 * Simple UI in SDL2
 *
 * HEADER FILE
 *
 * Author: Dario Rodriguez dario@softhome.net
 * This program is licensed under the terms of GNU GPL v2.1+
 */

#include "SDL.h"
#include "SDL_rwops.h"
#include "SDL_image.h"
#include "SDL_ttf.h"


typedef struct reui_t {
        int screenw,screenh;
        int w,h;
        SDL_Window *win;
        SDL_Renderer *renderer;
        SDL_Texture *scr;
        SDL_RWops *fontdata;
        TTF_Font *font;
        int fontheight;
        int fontwidth;
        int scrdirty;
        int rendererdirty;
} reui_t;

reui_t *reui_init();
void reui_free(reui_t *ui);

int reui_title(reui_t *ui, char *titlefilename);
int reui_fill(reui_t *ui, int x, int y, int w, int h, char *rgba);
int reui_scr2renderer(reui_t *ui, int x, int y, int w, int h);
int reui_present(reui_t *ui);

int reui_write(reui_t *ui, int x, int y, char *rgba, char *str, int nchar);
#ifdef __GNUC__
int reui_printf(reui_t *ui, int x, int y, char *rgba, char *format, ...) __attribute__ ((format (printf, 5, 6)));
#else
int reui_printf(reui_t *ui, int x, int y, char *rgba, char *format, ...);
#endif