aboutsummaryrefslogtreecommitdiff
path: root/ui.h
blob: 3bb14c727fedb7af3b528ca6a8dc5d7ee9d63941 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#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);