#include "demo_view.h" #include /* digit tube codes: "ERROR" */ static char digitbuf[5] = {0x79, 0x77, 0x77, 0x3F, 0x77}; rtgui_container_t * demo_view_digtube(void) { struct rtgui_rect rect; rtgui_container_t *container; struct rtgui_digtube * digtube; struct rtgui_digitfont digitfont; container = demo_view("Digit Tube View"); /* add digtube 1: use the default digit font */ digtube = rtgui_digtube_create(RT_NULL, 5, (void *)4213, 0); rtgui_container_add_child(container, RTGUI_WIDGET(digtube)); demo_view_get_rect(container, &rect); rect.y2 = rect.y1 + 80; rtgui_widget_set_rect(RTGUI_WIDGET(digtube), &rect); /* add digtube 2: show hex */ digitfont.seg1_len = 20; digitfont.seg1_hspace = 4; digitfont.seg1_nr = 3; digitfont.seg2_len = 20; digitfont.seg3_len = 20; digitfont.seg1_vspace = 1; digitfont.data = RT_NULL; digtube = rtgui_digtube_create(&digitfont, 5, (void *)0xABC, RTGUI_DIGTUBE_STYLE_NOBACKFONT | RTGUI_DIGTUBE_STYLE_DISHEXNUM); rtgui_container_add_child(container, RTGUI_WIDGET(digtube)); rect.y1 = rect.y2 + 10;; rect.y2 = rect.y1 + 60; rtgui_widget_set_rect(RTGUI_WIDGET(digtube), &rect); /* add digtube 3: show custom codes table */ digitfont.seg1_len = 25; digitfont.seg1_hspace = 5; digitfont.seg1_nr = 5; digitfont.seg2_len = 25; digitfont.seg3_len = 25; digitfont.seg1_vspace = 1; digitfont.data = RT_NULL; digtube = rtgui_digtube_create(&digitfont, 5, (void *)digitbuf, RTGUI_DIGTUBE_STYLE_DISCODES); rtgui_container_add_child(container, RTGUI_WIDGET(digtube)); rect.y1 = rect.y2 + 5; rect.y2 = rect.y1 + 80; rtgui_widget_set_rect(RTGUI_WIDGET(digtube), &rect); RTGUI_WIDGET_BACKGROUND(digtube) = RTGUI_RGB(0x00, 0x00, 0x00); RTGUI_WIDGET_FOREGROUND(digtube) = RTGUI_RGB(0x00, 0xFF, 0x00); digtube->digit_bc = RTGUI_RGB(0x00, 0xFF, 0xFF); return container; }