00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00035 #ifndef LIBC_IO_CONSOLE_H_
00036 #define LIBC_IO_CONSOLE_H_
00037
00038 #include <bool.h>
00039
00040 typedef enum {
00041 KEY_PRESS,
00042 KEY_RELEASE
00043 } console_ev_type_t;
00044
00045 typedef enum {
00046 CONSOLE_CCAP_NONE = 0,
00047 CONSOLE_CCAP_STYLE,
00048 CONSOLE_CCAP_INDEXED,
00049 CONSOLE_CCAP_RGB
00050 } console_caps_t;
00051
00053 typedef struct {
00055 console_ev_type_t type;
00056
00058 unsigned int key;
00059
00061 unsigned int mods;
00062
00064 wchar_t c;
00065 } console_event_t;
00066
00067 extern void console_clear(int phone);
00068
00069 extern int console_get_size(int phone, sysarg_t *cols, sysarg_t *rows);
00070 extern int console_get_pos(int phone, sysarg_t *col, sysarg_t *row);
00071 extern void console_set_pos(int phone, sysarg_t col, sysarg_t row);
00072
00073 extern void console_set_style(int phone, uint8_t style);
00074 extern void console_set_color(int phone, uint8_t fg_color, uint8_t bg_color,
00075 uint8_t flags);
00076 extern void console_set_rgb_color(int phone, uint32_t fg_color, uint32_t bg_color);
00077
00078 extern void console_cursor_visibility(int phone, bool show);
00079 extern int console_get_color_cap(int phone, sysarg_t *ccap);
00080 extern void console_kcon_enable(int phone);
00081
00082 extern bool console_get_event(int phone, console_event_t *event);
00083
00084 #endif
00085