1 /*-
2  * This file contains the interface for the user interface of tcd.
3  */
4 
5 #ifndef TCD_USER_INTERFACE_H
6 #define TCD_USER_INTERFACE_H
7 
8 #include "tcd.h"
9 
10 /**
11  * Initializes the user interface. This procedure must be called
12  * once at startup.
13  */
14 extern void tcd_ui_init(void);
15 
16 /**
17  * Cleanly shuts down the user interface.
18  */
19 extern void tcd_ui_shutdown(void);
20 
21 /**
22  * Updates the whole user interface using the state information.
23  */
24 extern void tcd_ui_update(struct tcd_state *state);
25 
26 /**
27  * Asks the user to input a track to jump to.
28  */
29 extern int get_i_track(void);
30 
31 /**
32  * Reads a key from the user. If /delay/ is positive, the timeout
33  * is set to /delay/ deciseconds. If it is negative, input is blocking.
34  */
35 extern int tcd_ui_readkey(int delay);
36 
37 #endif
38