/** * Copyright (c) 2021 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #pragma once #include "../libs.h" #define MENU_ITEMS_COLUMNS_MAX 16 #define MENU_ITEMS_ROWS_MAX 128 #define MENU_ITEMS_MAX MENU_ITEMS_COLUMNS_MAX * MENU_ITEMS_ROWS_MAX #define MENU_DIRECTION_DOWN 0x01 #define MENU_DIRECTION_UP 0x02 #define MENU_DIRECTION_LEFT 0x03 #define MENU_DIRECTION_RIGHT 0x04 #define MENU_HOLD_DURATION 1.0 typedef struct { uint8_t x; uint8_t y; uint8_t width; uint8_t height; } menuitem_t; typedef struct { menuitem_t items[MENU_ITEMS_MAX]; uint8_t itemCount; uint8_t selected; uint8_t cursorX; uint8_t cursorY; // bool holdAllow; // float holdLast; } menu_t;