ex_app.c 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #include <rtthread.h>
  2. #include <rtgui/rtgui_app.h>
  3. #include <rtgui/widgets/window.h>
  4. #include <rtgui/widgets/label.h>
  5. void app1_entry(void* parameter)
  6. {
  7. struct rtgui_app* application;
  8. struct rtgui_win* win;
  9. application = rtgui_app_create(rt_thread_self(), "ExApp1");
  10. if (application != RT_NULL)
  11. {
  12. struct rtgui_label *label;
  13. struct rtgui_box *box;
  14. box = rtgui_box_create(RTGUI_VERTICAL, 10);
  15. label = rtgui_label_create("Hello World");
  16. win = rtgui_mainwin_create(RT_NULL, "MainWin", RTGUI_WIN_STYLE_MAINWIN);
  17. rtgui_container_set_box(RTGUI_CONTAINER(win), box);
  18. rtgui_container_add_child(RTGUI_CONTAINER(win), RTGUI_WIDGET(label));
  19. rtgui_container_layout(RTGUI_CONTAINER(win));
  20. rtgui_win_show(win, RT_TRUE);
  21. rtgui_app_destroy(application);
  22. }
  23. }
  24. void app2_entry(void* parameter)
  25. {
  26. struct rtgui_app* application;
  27. struct rtgui_win* win;
  28. application = rtgui_app_create(rt_thread_self(), "ExApp2");
  29. if (application != RT_NULL)
  30. {
  31. rtgui_rect_t rect = {220, 250, 400, 450};
  32. win = rtgui_win_create(RT_NULL, "Window #2", &rect, RTGUI_WIN_STYLE_DEFAULT);
  33. rtgui_win_show(win, RT_TRUE);
  34. rtgui_app_destroy(application);
  35. }
  36. }
  37. void app_init(void)
  38. {
  39. rt_thread_t tid;
  40. tid = rt_thread_create("app1", app1_entry, RT_NULL, 2048, 20, 20);
  41. if (tid != RT_NULL)
  42. rt_thread_startup(tid);
  43. tid = rt_thread_create("app2", app2_entry, RT_NULL, 2048, 20, 20);
  44. if (tid != RT_NULL)
  45. rt_thread_startup(tid);
  46. }