32 lines
678 B
C++
32 lines
678 B
C++
#include "coordinates.hpp"
|
|
|
|
struct menu_item_t {
|
|
const uint8_t * label;
|
|
};
|
|
|
|
struct menu_t {
|
|
screen_cell_t top_left; // in cells
|
|
screen_cell_t bottom_right; // in cells
|
|
uint8_t width; // in menu items
|
|
uint8_t height; // in menu items
|
|
uint8_t h_advance; // in cells
|
|
uint8_t v_advance; // in cells
|
|
|
|
const menu_item_t * items;
|
|
};
|
|
|
|
struct cursor_t {
|
|
uint16_t x; // in menu items
|
|
uint16_t y; // in menu items
|
|
};
|
|
|
|
extern const menu_t start_menu;
|
|
extern const menu_t fight_menu;
|
|
|
|
void draw_menu(const uint32_t base_pattern,
|
|
const menu_t& menu);
|
|
|
|
void draw_menu_cursor(const uint32_t base_pattern,
|
|
const menu_t& menu,
|
|
const cursor_t& cursor);
|