#pragma once #include "data_manager.h" enum ui_state { UI_STATE_MAIN, UI_STATE_MAIN_WITH_SETTING, UI_STATE_CHOOSE_UNIT_CATEGORY, UI_STATE_CHANGE_UNIT_MODE, }; enum ui_input_event { UI_INPUT_EVENT_UP, UI_INPUT_EVENT_DOWN, UI_INPUT_EVENT_PRESS, UI_INPUT_EVENT_HOLD, }; struct ui_ctx { struct display *display; enum ui_state state; }; void ui_init(struct ui_ctx*, struct display *); void ui_update(struct ui_ctx*, struct data_ctx*); void ui_input_event(struct ui_ctx*, struct data_ctx *dctx, enum ui_input_event);