00001
00048 #ifndef _GUI_H_
00049 #define _GUI_H_
00050
00051 #include "et024006dhu.h"
00052 #include "dsp_sprintf.h"
00053
00054 #define GUI_NO_COLOR ((uint16_t) -1)
00055 #define GUI_NO_SEL -1
00056
00057 #define GUI_MAIN_FG_COLOR BLACK
00058 #define GUI_MAIN_BG_COLOR 0xF79E
00059 #define GUI_SELECTION_COLOR 0xAA3F
00060 #define GUI_TEXT_COLOR 0xAEAE
00061
00062 #define GUI_ZOOM_BOX_X 0
00063 #define GUI_ZOOM_BOX_Y 0
00064 #define GUI_ZOOM_BOX_WIDTH 320
00065 #define GUI_ZOOM_BOX_HEIGHT 218
00066
00067 #define GUI_SOURCE1_ID 0
00068 #define GUI_SOURCE1_FG_COLOR GUI_MAIN_FG_COLOR
00069 #define GUI_SOURCE1_BG_COLOR GUI_MAIN_BG_COLOR
00070 #define GUI_SOURCE1_X 13
00071 #define GUI_SOURCE1_Y 10
00072 #define GUI_SOURCE1_WIDTH 92
00073 #define GUI_SOURCE1_HEIGHT 56
00074
00075 #define GUI_SOURCE2_ID 1
00076 #define GUI_SOURCE2_FG_COLOR GUI_MAIN_FG_COLOR
00077 #define GUI_SOURCE2_BG_COLOR GUI_MAIN_BG_COLOR
00078 #define GUI_SOURCE2_X 13
00079 #define GUI_SOURCE2_Y 153
00080 #define GUI_SOURCE2_WIDTH 92
00081 #define GUI_SOURCE2_HEIGHT 56
00082
00083 #define GUI_INPUT_ID 2
00084 #define GUI_INPUT_FG_COLOR GUI_MAIN_FG_COLOR
00085 #define GUI_INPUT_BG_COLOR GUI_MAIN_BG_COLOR
00086 #define GUI_INPUT_X 84
00087 #define GUI_INPUT_Y 82
00088 #define GUI_INPUT_WIDTH 92
00089 #define GUI_INPUT_HEIGHT 56
00090
00091 #define GUI_OUTPUT_ID 3
00092 #define GUI_OUTPUT_FG_COLOR GUI_MAIN_FG_COLOR
00093 #define GUI_OUTPUT_BG_COLOR GUI_MAIN_BG_COLOR
00094 #define GUI_OUTPUT_X 210
00095 #define GUI_OUTPUT_Y 82
00096 #define GUI_OUTPUT_WIDTH 92
00097 #define GUI_OUTPUT_HEIGHT 56
00098
00099 #define GUI_FILTER_ID 4
00100 #define GUI_FILTER_FG_COLOR GUI_TEXT_COLOR
00101 #define GUI_FILTER_BG_COLOR GUI_NO_COLOR
00102 #define GUI_FILTER_X 130
00103 #define GUI_FILTER_Y 32
00104 #define GUI_FILTER_WIDTH 171
00105 #define GUI_FILTER_HEIGHT 32
00106
00107 #define GUI_COMMENT_ID 5
00108 #define GUI_COMMENT_FG_COLOR GUI_TEXT_COLOR
00109 #define GUI_COMMENT_BG_COLOR GUI_NO_COLOR
00110 #define GUI_COMMENT_X 126
00111 #define GUI_COMMENT_Y 153
00112 #define GUI_COMMENT_WIDTH 190
00113 #define GUI_COMMENT_HEIGHT 56
00114
00115 #define GUI_FONT FONT8x8
00116 #define GUI_FONT_WIDTH 8
00117 #define GUI_FONT_HEIGHT 8
00118
00120 #define GUI_TEXT_BUFFER_SIZE 256
00121
00122 #define GUI_BOXES \
00123 { \
00124 .x = GUI_SOURCE1_X, \
00125 .y = GUI_SOURCE1_Y, \
00126 .width = GUI_SOURCE1_WIDTH, \
00127 .height = GUI_SOURCE1_HEIGHT, \
00128 .fg_color = GUI_SOURCE1_FG_COLOR, \
00129 .bg_color = GUI_SOURCE1_BG_COLOR \
00130 }, \
00131 { \
00132 .x = GUI_SOURCE2_X, \
00133 .y = GUI_SOURCE2_Y, \
00134 .width = GUI_SOURCE2_WIDTH, \
00135 .height = GUI_SOURCE2_HEIGHT, \
00136 .fg_color = GUI_SOURCE2_FG_COLOR, \
00137 .bg_color = GUI_SOURCE2_BG_COLOR \
00138 }, \
00139 { \
00140 .x = GUI_INPUT_X, \
00141 .y = GUI_INPUT_Y, \
00142 .width = GUI_INPUT_WIDTH, \
00143 .height = GUI_INPUT_HEIGHT, \
00144 .fg_color = GUI_INPUT_FG_COLOR, \
00145 .bg_color = GUI_INPUT_BG_COLOR \
00146 }, \
00147 { \
00148 .x = GUI_OUTPUT_X, \
00149 .y = GUI_OUTPUT_Y, \
00150 .width = GUI_OUTPUT_WIDTH, \
00151 .height = GUI_OUTPUT_HEIGHT, \
00152 .fg_color = GUI_OUTPUT_FG_COLOR, \
00153 .bg_color = GUI_OUTPUT_BG_COLOR \
00154 }, \
00155 { \
00156 .x = GUI_FILTER_X, \
00157 .y = GUI_FILTER_Y, \
00158 .width = GUI_FILTER_WIDTH, \
00159 .height = GUI_FILTER_HEIGHT, \
00160 .fg_color = GUI_FILTER_FG_COLOR, \
00161 .bg_color = GUI_FILTER_BG_COLOR \
00162 }, \
00163 { \
00164 .x = GUI_COMMENT_X, \
00165 .y = GUI_COMMENT_Y, \
00166 .width = GUI_COMMENT_WIDTH, \
00167 .height = GUI_COMMENT_HEIGHT, \
00168 .fg_color = GUI_COMMENT_FG_COLOR, \
00169 .bg_color = GUI_COMMENT_BG_COLOR \
00170 }
00171
00172 void gui_init(int cpu_hz, int hsb_hz, int pba_hz, int pbb_hz);
00173 void gui_task(void);
00174
00175 void gui_clear_view(void);
00177 void gui_change_update_fs(uint32_t time_ms);
00178 uint32_t gui_get_update_fs(void);
00180 void gui_set_selection(int box_id);
00182 void gui_text_print(int box_id, const char *text);
00184 #define gui_text_printf(box_id, format, ...) \
00185 { \
00186 extern char gui_text_buffer[]; \
00187 dsp16_sprintf(gui_text_buffer, format, __VA_ARGS__); \
00188 gui_text_print(box_id, (const char *) gui_text_buffer); \
00189 }
00190
00191
00192 #endif //_GUI_H_