1
0

demo_gui_progressbar.c 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include "demo_view.h"
  2. #include <rtgui/rtgui_system.h>
  3. #include <rtgui/widgets/label.h>
  4. #include <rtgui/widgets/progressbar.h>
  5. void hbar_timeout(struct rtgui_timer* timer, void* parameter)
  6. {
  7. static rt_uint32_t value = 0;
  8. rtgui_progressbar_t *bar = (rtgui_progressbar_t*)parameter;
  9. value += 3;
  10. if (value >= 100) value = 0;
  11. rtgui_progressbar_set_value(bar, value);
  12. }
  13. void vbar_timeout(struct rtgui_timer* timer, void* parameter)
  14. {
  15. static rt_uint32_t value = 0;
  16. rtgui_progressbar_t *bar = (rtgui_progressbar_t*)parameter;
  17. value += 5;
  18. if (value >= 100) value = 0;
  19. rtgui_progressbar_set_value(bar, value);
  20. }
  21. rtgui_view_t *demo_gui_progressbar(rtgui_view_t* parent_view)
  22. {
  23. rtgui_view_t *view;
  24. rtgui_progressbar_t *hbar, *vbar;
  25. rtgui_timer_t *timer = RT_NULL;
  26. /* create a demo view */
  27. view = demo_view_create(parent_view, "ProgressBar View");
  28. rtgui_label_create(view, "ˮƽ½ø¶ÈÌõ:", 5, 40, 100, 20);
  29. hbar = rtgui_progressbar_create(view, RTGUI_HORIZONTAL, 100, 10, 70, 150, 15);
  30. rtgui_label_create(view, "´¹Ö±½ø¶ÈÌõ:", 5, 90, 100, 20);
  31. vbar = rtgui_progressbar_create(view, RTGUI_VERTICAL, 100, 10, 110, 15, 60);
  32. timer = rtgui_timer_create(20, RT_TIMER_FLAG_PERIODIC, hbar_timeout, hbar);
  33. rtgui_timer_start(timer);
  34. timer = rtgui_timer_create(20, RT_TIMER_FLAG_PERIODIC, vbar_timeout, vbar);
  35. rtgui_timer_start(timer);
  36. return view;
  37. }