|
- void workbench_panel1(void* parameter)
- {
- rt_mq_t mq;
- rtgui_view_t* view;
- rtgui_label_t* label;
- struct rtgui_workbench* workbench;
- rtgui_rect_t rect={0, 0, 320, 240};
- mq = rt_mq_create("wmq", 256, 8, RT_IPC_FLAG_FIFO);
-
- rtgui_thread_register(rt_thread_self(), mq);
-
- workbench = rtgui_workbench_create("main", "workbench #1");
- if (workbench == RT_NULL) return;
- view = rtgui_view_create("view");
- if (view == RT_NULL) return;
- RTGUI_WIDGET_BACKGROUND(RTGUI_WIDGET(view)) = blue;
- label = rtgui_label_create("RT-Thread");
- rect.x1 = 10; rect.y1 = 10;
- rect.x2 = 210; rect.y2 = 50;
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- rtgui_container_add_child(RTGUI_CONTAINER(view), RTGUI_WIDGET(label));
-
- rtgui_workbench_add_view(workbench, view);
-
- rtgui_view_show(view, RT_FALSE);
-
- rtgui_workbench_event_loop(workbench);
-
- rtgui_thread_deregister(rt_thread_self());
- /* delete message queue */
- rt_mq_delete(mq);
- }
- /* workbench */
- void workbench_init()
- {
- rt_thread_t tid;
- tid = rt_thread_create("wb", workbench_panel1, RT_NULL, 3072, 20, 5);
- if (tid != RT_NULL) rt_thread_startup(tid);
- }
- extern rt_err_t rt_hw_lcd_init(void);
- void gui_init()
- {
- rtgui_rect_t rect;
- rt_device_t lcd;
- /*LCD*/
- rt_hw_lcd_init();
- lcd = rt_device_find("lcd");
- if (lcd != RT_NULL)
- {
- rt_device_init(lcd);
- rtgui_graphic_set_device(lcd);
- /* RT-Thread/GUI server */
- rtgui_system_server_init();
-
- rect.x1 = 0;
- rect.y1 = 0;
- rect.x2 = 320;
- rect.y2 = 240;
- rtgui_panel_register("main", &rect);
- rtgui_panel_set_default_focused("main");
- rt_device_init_all();
- /* workbench */
- workbench_init();
- }
- }
复制代码 这是一个stm32_radio里的example文件夹下的4_gui_single_ panel里的例子,图形驱动已经完成的。主要是程序执行RTGUI_WIDGET_BACKGROUND(RTGUI_WIDGET(view)) = blue;时没对整个屏幕设置成蓝色,就是X方向上留下几列没设置成蓝色。而且我看程序也没对view的大小进行设置,所以不是太明白。求高人指点
我现在又在程序里加了rtgui_widget_get_rect(RTGUI_WIDGET(view), &rect);我看了rect的值是全屏的?奇怪啊 为什么 RTGUI_WIDGET_BACKGROUND(RTGUI_WIDGET(view)) = blue;不全屏啊
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|