/** * Copyright (c) 2021 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #pragma once #include "../libs.h" #include "frame.h" #include "label.h" #include "menu.h" #include "rectangle.h" /** Color of the menulist selection rectangle */ #define MENULIST_SELECTION_COLOR ((pixel_t){ .r=255, .g=255, .b=255, .a=150 }) /** Maximum number of items that the list supports */ #define MENULIST_ITEMS_MAX 32 /** Representation of a menu list, a menu with multiple menu items. */ typedef struct { float x, y; char *items[MENULIST_ITEMS_MAX]; label_t labels[MENULIST_ITEMS_MAX]; frame_t frame; menu_t menu; rectangle_t selection; uint8_t count; } menulist_t;