21#ifndef LSHCORE_DEVICE_CLICKABLE_MANAGER_HPP
22#define LSHCORE_DEVICE_CLICKABLE_MANAGER_HPP
40 extern etl::array<Clickable *, CONFIG_MAX_CLICKABLES>
clickables;
41 extern etl::map<uint8_t, uint8_t, CONFIG_MAX_CLICKABLES>
clickablesMap;
45 [[nodiscard]]
auto getIndex(uint8_t clickableId) -> uint8_t;
A class that represents a clickable object, like a button, and its associated logic.
Definition clickable.hpp:37
Defines enums for various click types and fallback behaviors.
Forward declaration.
Definition clickable_manager.cpp:33
uint8_t totalClickables
Device real total Clickables.
Definition clickable_manager.cpp:34
void finalizeSetup()
Resize vectors of all clickables to the actual needed size.
Definition clickable_manager.cpp:159
void addClickable(Clickable *const clickable)
Adds a clickable to the system.
Definition clickable_manager.cpp:46
etl::array< Clickable *, CONFIG_MAX_CLICKABLES > clickables
Device clickables.
Definition clickable_manager.cpp:35
auto clickableExists(uint8_t clickableId) -> bool
Get if the clickable actually exists.
Definition clickable_manager.cpp:101
etl::map< uint8_t, uint8_t, CONFIG_MAX_CLICKABLES > clickablesMap
Device clickables map (UUID -> clickables index)
Definition clickable_manager.cpp:36
auto getClickable(uint8_t clickableId) -> Clickable *
Get a single clickable.
Definition clickable_manager.cpp:78
auto getIndex(uint8_t clickableId) -> uint8_t
Get a single clickable index (in device vector of clickable).
Definition clickable_manager.cpp:89
auto click(const Clickable *const clickable, constants::ClickType clickType) -> bool
Perform a click.
Definition clickable_manager.cpp:116
ClickType
Clickable (like button) click types.
Definition clicktypes.hpp:36
Internal bridge that imports user-defined macros into the library's scope.