#include "demo_view.h" #include #include #include void hbar_timeout(struct rtgui_timer* timer, void* parameter) { static rt_uint32_t value = 0; rtgui_progressbar_t *bar = (rtgui_progressbar_t*)parameter; value += 3; if (value >= 100) value = 0; rtgui_progressbar_set_value(bar, value); } void vbar_timeout(struct rtgui_timer* timer, void* parameter) { static rt_uint32_t value = 0; rtgui_progressbar_t *bar = (rtgui_progressbar_t*)parameter; value += 5; if (value >= 100) value = 0; rtgui_progressbar_set_value(bar, value); } rtgui_view_t *demo_gui_progressbar(rtgui_view_t* parent_view) { rtgui_view_t *view; rtgui_progressbar_t *hbar, *vbar; rtgui_timer_t *timer = RT_NULL; /* create a demo view */ view = demo_view_create(parent_view, "ProgressBar View"); rtgui_label_create(view, "水平进度条:", 5, 40, 100, 20); hbar = rtgui_progressbar_create(view, RTGUI_HORIZONTAL, 100, 10, 70, 150, 15); rtgui_label_create(view, "垂直进度条:", 5, 100, 100, 20); vbar = rtgui_progressbar_create(view, RTGUI_VERTICAL, 100, 10, 130, 15, 60); timer = rtgui_timer_create(20, RT_TIMER_FLAG_PERIODIC, hbar_timeout, hbar); rtgui_timer_start(timer); timer = rtgui_timer_create(20, RT_TIMER_FLAG_PERIODIC, vbar_timeout, vbar); rtgui_timer_start(timer); return view; }