00001
00029 #ifndef GUI_H_
00030 #define GUI_H_
00031
00032 #include "pm.h"
00033 #include <stdio.h>
00034 #include "console.h"
00035 #include <stdint.h>
00036
00037 #ifdef GUI_COMPAT
00038 typedef cmd_state_t (*button_cb_t)();
00039 #else
00040 typedef void (*button_cb_t)(void);
00041 #endif
00042
00043 typedef void (*getstring_cb) (char *str, size_t len, void* ctx);
00044
00045 void gui_init(const pm_freq_param_t *pm_freq_param);
00046 void gui_draw(int force_draw);
00047 void gui_exec(uint32_t ticks);
00048 void gui_set_title(const char *str, unsigned char line);
00049 int gui_set_button(short id, const char *label, size_t len, button_cb_t cb);
00050 void gui_clear_scroll_box(void);
00051 void gui_inc_scroll_cursor(void);
00052 void gui_dec_scroll_cursor(void);
00053 int gui_scroll_idx(void);
00054 void gui_add_scroll_box_item(const char *str, size_t len);
00055 int gui_get_scroll_box_focused_item(char **str, size_t *len);
00056 void gui_del_scroll_box_item(const char *str, size_t len);
00057 void gui_set_bg_color(short color);
00058 void gui_getstring(getstring_cb cb, void *ctx);
00059 void gui_getstring_onoff(int state);
00060 void gui_save_buttons(void);
00061 void gui_restore_buttons(void);
00062
00063 void gui_clear_infobox(short color);
00064 void gui_add_infobox_item(const char *str, int line);
00065 void gui_infobox_onoff(int state);
00066 int gui_infobox_state(void);
00067 void gui_display_pic(void *pic, size_t len);
00068
00069 #endif