// Copyright (c) 2021 Dominic Masters // // This software is released under the MIT License. // https://opensource.org/licenses/MIT #pragma once #include "../libs.h" #include "../display/font.h" #include "menu.h" #include "grid.h" #include "label.h" #include "rectangle.h" #define TEXTMENU_SELECTION_COLOR ((pixel_t){.r=0xFF,.g=0xFF,.b=0xFF,.a=0x64}) typedef void textmenucallback_t(void *user, uint8_t i, char *text); typedef struct { float x, y; float width, height; } textmenulabelinfo_t; typedef struct { menu_t menu; char *texts[GRID_CHILD_COUNT]; font_t *font; label_t labels[GRID_CHILD_COUNT]; rectangle_t rectangle; textmenulabelinfo_t labelInfo[GRID_CHILD_COUNT]; textmenucallback_t *onSelect; void *user; } textmenu_t;