#ifndef TUI_H
#define TUI_H

#include <game.h>
#include <stdbool.h>
#include <stddef.h>

bool setup(); //setups screens, doesn't redaw contents
void printlog(); //clears & reprints the log window
void logstr(const char *format, ...); //echoes printf string to the logwindow TODO: fix multiline log
void charclear(); //clears the character screen
void charprint(const char *format, ...); //echoes printf string to the charwindow
void log_scroll(enum direction d); //scrolls the log up or down
void draw_map(const struct game *g, struct point p); //draws the map around the player
bool messagebox(const char *str, size_t y, size_t x); //shows a centered messagebox of at least the given size

typedef bool(itemselectfn)(struct monster *m, size_t i); //returns true if cursor should be reset
void itemselect(struct monster *m, itemselectfn f); //provides an inventory screen, calls f when the space is pressed on an item
//TODO: create general select screen

#endif //TUI_H
