summaryrefslogtreecommitdiff
path: root/src/console.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/console.h')
-rw-r--r--src/console.h40
1 files changed, 31 insertions, 9 deletions
diff --git a/src/console.h b/src/console.h
index 6a4d27f..88eb8a4 100644
--- a/src/console.h
+++ b/src/console.h
@@ -1,17 +1,39 @@
-#ifndef
+#ifndef CONSOLE
#define CONSOLE
+#define BLK "\033[0;30m"
#define RED "\033[0:31m"
#define GRN "\033[0:32m"
#define WHT "\033[0:37m"
-struct ConsoleLine {
- char* color;
+#define BLKB "\033[40m"
+#define REDB "\033[41m"
+#define GRNB "\033[42m"
+#define WHTB "\033[47m"
+#define RESET "\033[0m"
+typedef enum ConsoleColors {
+ CBLACK,
+ CRED,
+ CGREEN,
+ CWHITE
+} consoleColor_t;
+typedef struct ConsoleLine {
+ consoleColor_t color;
char* content;
- /* pointer to a function accepting a void pointer */
- void (*onInteract)(void*);
+ /* set to NULL to use oninteract */
+ char* expansionContent;
+ void (*onInteract)(void);
+ char isExpanded;
} consoleLine_t;
-consoleLine_t init_consoleline(char* color, char* content);
-void clear_screen();
-void draw_screen();
+consoleLine_t init_simple_consoleline(consoleColor_t color, char* content);
+consoleLine_t init_expandable_consoleline(consoleColor_t color, char* content, char* expansionContent);
+consoleLine_t init_interactable_consoleline(consoleColor_t color, char* content, void (*onInteract)(void));
+typedef struct ConsoleLineSet {
+ consoleLine_t* lines;
+ int count;
+} consoleLineSet_t;
+consoleLineSet_t init_consolelineset(consoleLine_t* lines, int count);
+void set_lines(consoleLineSet_t lines);
+void clear_screen(void);
+void draw_screen(void);
void move_selection(int amount);
-void interact_selected();
+void interact_selected(void);
#endif