summaryrefslogtreecommitdiffstats
path: root/src/target/ui-experiment/screen.h
blob: 1174d9e7088c32614e4d8c32ff1c4eadfdb9de0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
 * Screens - full-screen dialogs
 *
 * These compose the first level of interaction in the UI.
 *
 * There is always exactly one active screen, which is in
 * control of the entire display on which it is displayed.
 *
 * Screen activations are stacked, providing interaction depth.
 *
 */
struct screen {
	const char *name;
	void (*on_enter)(void);
	void (*on_leave)(void);
	void (*on_render)(void);
	void (*on_key_press)(void);
	void (*on_key_release)(void);
};