Cleaned up some UI code.

This commit is contained in:
2021-09-12 13:01:20 -07:00
parent d4ab5ede05
commit a1823bdc1a
21 changed files with 74 additions and 426 deletions

View File

@@ -7,31 +7,17 @@
#pragma once
#include "../libs.h"
#include "grid.h"
/** The maximum number of items a menu can hold */
#define MENU_ITEMS_MAX 32
/** Generic callback for menu events */
typedef void menucallback_t(void *user, uint8_t i);
typedef struct _menuitem_t menuitem_t;
typedef struct _menu_t menu_t;
/** Callback for when menu events are fired. */
typedef void menucallback_t(menu_t *m, menuitem_t *t, uint8_t i, void *user);
typedef struct _menuitem_t {
uint8_t x;
uint8_t y;
uint8_t width;
uint8_t height;
} menuitem_t;
typedef struct _menu_t {
menuitem_t items[MENU_ITEMS_MAX];
uint8_t itemCount;
/** Structure for a menu */
typedef struct {
grid_t grid;
uint8_t selected;
uint8_t cursorX;
uint8_t cursorY;
void *user;
menucallback_t *onSelect;
} menu_t;
} menu_t;