/** * rtgui server thread's entry */ static void rtgui_server_entry(void *parameter) { #ifdef _WIN32_NATIVE /* set the server thread to highest */ HANDLE hCurrentThread = GetCurrentThread(); SetThreadPriority(hCurrentThread, THREAD_PRIORITY_HIGHEST); #endif /* create rtgui server application */ rtgui_server_application = rtgui_app_create("rtgui"); if (rtgui_server_application == RT_NULL) return; rtgui_object_set_event_handler(RTGUI_OBJECT(rtgui_server_application), rtgui_server_event_handler); /* init mouse and show */ rtgui_mouse_init(); #ifdef RTGUI_USING_MOUSE_CURSOR rtgui_mouse_show_cursor(); #endif rtgui_app_run(rtgui_server_application); rtgui_app_destroy(rtgui_server_application); rtgui_server_application = RT_NULL; }
int main(int argc, char** argv) { struct rtgui_app* application; struct rtgui_win* win; struct rtgui_button *button; application = rtgui_app_create("button"); if (application != RT_NULL) { rtgui_rect_t rect; win = rtgui_mainwin_create(RT_NULL, "button", RTGUI_WIN_STYLE_MAINWIN | RTGUI_WIN_STYLE_DESTROY_ON_CLOSE); rtgui_widget_get_extent(RTGUI_WIDGET(win), &rect); /* create lable in app window */ button = rtgui_button_create("close"); rtgui_button_set_onbutton(button, _on_close); rect.x2 -= 5; rect.y2 -= 5; rect.x1 = rect.x2 - 80; rect.y1 = rect.y2 - 25; rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect); rtgui_container_add_child(RTGUI_CONTAINER(win), RTGUI_WIDGET(button)); rtgui_win_show(win, RT_TRUE); rtgui_app_destroy(application); } return 0; }
void calibration_entry(void* parameter) { rt_device_t device; struct rtgui_rect rect; struct setup_items setup; device = rt_device_find("touch"); if (device == RT_NULL) return; /* no this device */ calibration_ptr = (struct calibration_session*) rt_malloc(sizeof(struct calibration_session)); rt_memset(calibration_ptr, 0, sizeof(struct calibration_data)); calibration_ptr->device = device; rt_device_control(calibration_ptr->device, RT_TOUCH_CALIBRATION, (void*)calibration_data_post); rtgui_graphic_driver_get_rect(rtgui_graphic_driver_get_default(), &rect); /* set screen rect */ calibration_ptr->width = rect.x2; calibration_ptr->height = rect.y2; calibration_ptr->app = rtgui_app_create("calibration"); if (calibration_ptr->app != RT_NULL) { /* create calibration window */ calibration_ptr->win = rtgui_win_create(RT_NULL, "calibration", &rect, RTGUI_WIN_STYLE_NO_TITLE | RTGUI_WIN_STYLE_NO_BORDER | RTGUI_WIN_STYLE_ONTOP | RTGUI_WIN_STYLE_DESTROY_ON_CLOSE); if (calibration_ptr->win != RT_NULL) { rtgui_object_set_event_handler(RTGUI_OBJECT(calibration_ptr->win), calibration_event_handler); rtgui_win_show(calibration_ptr->win, RT_TRUE); } rtgui_app_destroy(calibration_ptr->app); } /* set calibration data */ rt_device_control(calibration_ptr->device, RT_TOUCH_CALIBRATION_DATA, &calibration_ptr->data); //save setup setup.touch_min_x = calibration_ptr->data.min_x; setup.touch_max_x = calibration_ptr->data.max_x; setup.touch_min_y = calibration_ptr->data.min_y; setup.touch_max_y = calibration_ptr->data.max_y; setup_save(&setup); /* recover to normal */ rt_device_control(calibration_ptr->device, RT_TOUCH_NORMAL, RT_NULL); /* release memory */ rt_free(calibration_ptr); calibration_ptr = RT_NULL; }
static void app_lcd(void *parameter) { /* create application */ struct rtgui_app *app; struct rtgui_rect rect1 = {0, 0, 240, 320}; struct rtgui_button* btn; struct rtgui_label *lb; app = rtgui_app_create("lcd_app"); if (!app) { rt_kprintf("Create application \"lcd_app\" failed!\n"); return; } /* create main window */ win_main = rtgui_win_create(RT_NULL, "main", &rect1, RTGUI_WIN_STYLE_NO_BORDER | RTGUI_WIN_STYLE_NO_TITLE); if (win_main == RT_NULL) { rt_kprintf("Create window \"main\" failed!\n"); rtgui_app_destroy(app); return; } RTGUI_WIDGET_BACKGROUND(RTGUI_WIDGET(win_main)) = green; rect1.x1 = rect1.y1 = 50; rect1.x2 -= 50; rect1.y2 -= 50; lb = rtgui_label_create("I am a transparent label!!!!!!!!!"); rtgui_widget_set_rect(RTGUI_WIDGET(lb), &rect1); RTGUI_WIDGET_FLAG(RTGUI_WIDGET(lb)) |= RTGUI_WIDGET_FLAG_TRANSPARENT; rect1.x1 += 20; rect1.y1 += 20; notebook = rtgui_notebook_create(&rect1, 0); /* create lable in main container */ btn = rtgui_button_create("Here I am."); rtgui_notebook_add(notebook, "btn A", RTGUI_WIDGET(btn)); rtgui_button_set_onbutton(btn, remove_myself); btn = rtgui_button_create("There I am."); rtgui_notebook_add(notebook, "btn B", RTGUI_WIDGET(btn)); rtgui_container_add_child(RTGUI_CONTAINER(win_main), RTGUI_WIDGET(lb)); rtgui_container_add_child(RTGUI_CONTAINER(win_main), RTGUI_WIDGET(notebook)); rtgui_win_show(win_main, RT_FALSE); rtgui_app_run(app); rtgui_app_destroy(app); }
void picture_show(void) { /* create application */ struct rtgui_app *app; struct rtgui_rect rect1; struct rtgui_win *win_main; rtgui_timer_t *timer; app = rtgui_app_create(rt_thread_self(), "gui_app"); if (app == RT_NULL) { rt_kprintf("Create application \"gui_app\" failed!\n"); return; } rtgui_graphic_driver_get_rect(rtgui_graphic_driver_get_default(), &rect1); /* create main window */ win_main = rtgui_win_create(RT_NULL, "main", &rect1, RTGUI_WIN_STYLE_NO_BORDER | RTGUI_WIN_STYLE_NO_TITLE); if (win_main == RT_NULL) { rt_kprintf("Create window \"main\" failed!\n"); rtgui_app_destroy(app); return; } /* create container in main window */ container = rtgui_container_create(); if (container == RT_NULL) { rt_kprintf("Create container failed!\n"); return; } rtgui_widget_set_rect(RTGUI_WIDGET(container), &rect1); rtgui_object_set_event_handler(RTGUI_OBJECT(container), picture_view_event_handler); rtgui_container_add_child(RTGUI_CONTAINER(win_main), RTGUI_WIDGET(container)); timer = rtgui_timer_create(500, RT_TIMER_FLAG_PERIODIC, timeout, RT_NULL); rtgui_timer_start(timer); rtgui_win_set_onkey(win_main, onkey_handle); rtgui_win_show(win_main, RT_FALSE); /* show next picture */ picture_show_next(); rtgui_app_run(app); rtgui_app_destroy(app); }
void app2_entry(void* parameter) { struct rtgui_app* application; struct rtgui_win* win; application = rtgui_app_create(rt_thread_self(), "ExApp2"); if (application != RT_NULL) { rtgui_rect_t rect = {220, 250, 400, 450}; win = rtgui_win_create(RT_NULL, "Window #2", &rect, RTGUI_WIN_STYLE_DEFAULT); rtgui_win_show(win, RT_TRUE); rtgui_app_destroy(application); } }
static void app_lcd(void *parameter) { /* create application */ struct rtgui_app *app; struct rtgui_rect rect1 = {0, 0, 240, 320}; struct rtgui_win *win_main; struct rtgui_button* btn; app = rtgui_app_create(rt_thread_self(), "lcd_app"); if (!app) { rt_kprintf("Create application \"lcd_app\" failed!\n"); return; } /* create main window */ win_main = rtgui_win_create(RT_NULL, "main", &rect1, RTGUI_WIN_STYLE_NO_BORDER | RTGUI_WIN_STYLE_NO_TITLE); if (win_main == RT_NULL) { rt_kprintf("Create window \"main\" failed!\n"); rtgui_app_destroy(app); return; } notebook = rtgui_notebook_create(&rect1, 0); /* create lable in main container */ btn = rtgui_button_create("Here I am."); rtgui_notebook_add(notebook, "btn A", RTGUI_WIDGET(btn)); rtgui_button_set_onbutton(btn, remove_myself); btn = rtgui_button_create("There I am."); rtgui_notebook_add(notebook, "btn B", RTGUI_WIDGET(btn)); rtgui_container_add_child(RTGUI_CONTAINER(win_main), RTGUI_WIDGET(notebook)); rtgui_win_show(win_main, RT_FALSE); rtgui_app_run(app); rtgui_app_destroy(app); }
void app_mgr_entry(void* parameter) { struct rtgui_app* application; application = rtgui_app_create(rt_thread_self(), "AppMgr"); if (application != RT_NULL) { /* set as window manager */ rtgui_app_set_as_wm(); /* initialize status bar */ statusbar_init(); app_mgr_win_init(); /* set our event handler */ rtgui_object_set_event_handler(RTGUI_OBJECT(application), event_handler); rtgui_app_run(application); rtgui_app_destroy(application); } }
void picture_show(void* parameter) { /* create application */ struct rtgui_app *app; struct rtgui_rect rect1; rtgui_timer_t *timer; app = rtgui_app_create(rt_thread_self(), "picture"); if (app == RT_NULL) { rt_kprintf("Create application \"picture\" failed!\n"); return; } rtgui_graphic_driver_get_rect(rtgui_graphic_driver_get_default(), &rect1); /* create main window */ win = rtgui_mainwin_create(RT_NULL, "main", RTGUI_WIN_STYLE_NO_BORDER | RTGUI_WIN_STYLE_NO_TITLE); if (win == RT_NULL) { rt_kprintf("Create window \"main\" failed!\n"); rtgui_app_destroy(app); return; } timer = rtgui_timer_create(500, RT_TIMER_FLAG_PERIODIC, timeout, (void*)win); rtgui_timer_start(timer); rtgui_object_set_event_handler(RTGUI_OBJECT(win), picture_view_event_handler); rtgui_win_set_onkey(win, onkey_handle); rtgui_win_show(win, RT_FALSE); /* show next picture */ picture_show_next(RTGUI_WIDGET(win)); rtgui_app_run(app); rtgui_app_destroy(app); }
void rt_init_thread_entry(void* parameter) { extern void rtgui_startup(); extern void rt_hw_lcd_init(); extern void rtgui_touch_hw_init(void); struct rtgui_app* app; app = rtgui_app_create("guiapp"); RT_ASSERT(app != RT_NULL); create_wins(app, parameter); window_focus(); rtgui_app_run(app); rtgui_app_destroy(app); rt_kprintf("app destroyed\n"); }
void main(void) { struct rtgui_app* application; struct rtgui_win* win; struct rtgui_label* label; application = rtgui_app_create(rt_thread_self(), "label"); if (application != RT_NULL) { rtgui_rect_t rect = {220, 250, 400, 450}; win = rtgui_mainwin_create(RT_NULL, "Label", RTGUI_WIN_STYLE_MAINWIN | RTGUI_WIN_STYLE_DESTROY_ON_CLOSE); /* create lable in app window */ label = rtgui_label_create("This is a RTGUI label Demo"); rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect); rtgui_container_add_child(RTGUI_CONTAINER(win), RTGUI_WIDGET(label)); rtgui_win_show(win, RT_TRUE); rtgui_app_destroy(application); } }
void main(void) { struct rtgui_app* application; struct rtgui_win* win; struct rtgui_button* button; application = rtgui_app_create(rt_thread_self(), "button"); if (application != RT_NULL) { rtgui_rect_t rect = {220, 250, 400, 450}; win = rtgui_mainwin_create(RT_NULL, "Button", RTGUI_WIN_STYLE_MAINWIN | RTGUI_WIN_STYLE_DESTROY_ON_CLOSE); /* create button in app window */ button = rtgui_button_create("Button Demo"); rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect); rtgui_container_add_child(RTGUI_CONTAINER(win), RTGUI_WIDGET(button)); rtgui_win_show(win, RT_TRUE); rtgui_app_destroy(application); } }
void app1_entry(void* parameter) { struct rtgui_app* application; struct rtgui_win* win; application = rtgui_app_create(rt_thread_self(), "ExApp1"); if (application != RT_NULL) { struct rtgui_label *label; struct rtgui_box *box; box = rtgui_box_create(RTGUI_VERTICAL, 10); label = rtgui_label_create("Hello World"); win = rtgui_mainwin_create(RT_NULL, "MainWin", RTGUI_WIN_STYLE_MAINWIN); rtgui_container_set_box(RTGUI_CONTAINER(win), box); rtgui_container_add_child(RTGUI_CONTAINER(win), RTGUI_WIDGET(label)); rtgui_container_layout(RTGUI_CONTAINER(win)); rtgui_win_show(win, RT_TRUE); rtgui_app_destroy(application); } }
void main(void) { struct rtgui_app* application; struct rtgui_win* win; application = rtgui_app_create(rt_thread_self(), "filelist"); if (application != RT_NULL) { struct rtgui_rect rect; rtgui_filelist_view_t *view; win = rtgui_mainwin_create(RT_NULL, "filelist", RTGUI_WIN_STYLE_MAINWIN | RTGUI_WIN_STYLE_DESTROY_ON_CLOSE); rtgui_widget_get_extent(RTGUI_WIDGET(win), &rect); view = rtgui_filelist_view_create("/", "*.*", &rect); rtgui_container_add_child(RTGUI_CONTAINER(win), RTGUI_WIDGET(view)); rtgui_win_show(win, RT_TRUE); rtgui_app_destroy(application); } }
static void app_mainmenu_entry(void *parameter) { struct rtgui_app *application; application = rtgui_app_create("menu"); if (application != RT_NULL) { /* set as window manager */ rtgui_app_set_as_wm(application); /* initialize status bar */ statusbar_init(); app_mainmenu_init(); /* set our event handler */ rtgui_object_set_event_handler(RTGUI_OBJECT(application), event_handler); tasklist_win = tasklist_win_create(RT_NULL); rtgui_app_run(application); rtgui_app_destroy(application); } }
void snake_main(void) { struct rtgui_app *application; struct rtgui_win *win; rtgui_rect_t rect; application = rtgui_app_create(rt_thread_self(), "sanke_app"); if (application != RT_NULL) { rtgui_get_screen_rect(&rect); rtgui_set_mainwin_rect(&rect); win = rtgui_mainwin_create(RT_NULL, "sanke_win", RTGUI_WIN_STYLE_MAINWIN | RTGUI_WIN_STYLE_DESTROY_ON_CLOSE); if (win == RT_NULL) { rt_kprintf("sanke_win create fail!\r\n"); return; } rtgui_object_set_event_handler(RTGUI_OBJECT(win), event_handler); timer = rtgui_timer_create(RT_TICK_PER_SECOND / 2, RT_TIMER_FLAG_PERIODIC, timeout, (void *)win); rtgui_win_show(win, RT_TRUE); //Í˳öºó²Å·µ»Ø map_deinit(map); snake_deinit(); food_deinit(); rtgui_app_destroy(application); } }
static void application_entry(void *parameter) { struct rtgui_app *app; struct rtgui_rect rect; app = rtgui_app_create("gui_demo"); if (app == RT_NULL) return; /* create a full screen window */ rtgui_graphic_driver_get_rect(rtgui_graphic_driver_get_default(), &rect); main_win = rtgui_win_create(RT_NULL, "demo_win", &rect, RTGUI_WIN_STYLE_NO_BORDER | RTGUI_WIN_STYLE_NO_TITLE); if (main_win == RT_NULL) { rtgui_app_destroy(app); return; } rtgui_win_set_onkey(main_win, demo_handle_key); /* create a no title notebook that we can switch demo on it easily. */ the_notebook = rtgui_notebook_create(&rect, RTGUI_NOTEBOOK_NOTAB); if (the_notebook == RT_NULL) { rtgui_win_destroy(main_win); rtgui_app_destroy(app); return; } rtgui_container_add_child(RTGUI_CONTAINER(main_win), RTGUI_WIDGET(the_notebook)); //demo_view_box(); /* 初始化各个例子的视图 */ demo_view_benchmark(); demo_view_dc(); #ifdef RTGUI_USING_TTF demo_view_ttf(); #endif #ifndef RTGUI_USING_SMALL_SIZE demo_view_dc_buffer(); #endif //demo_view_animation(); #ifndef RTGUI_USING_SMALL_SIZE demo_view_instrument_panel(); #endif demo_view_buffer_animation(); demo_view_window(); demo_view_label(); demo_view_button(); demo_view_checkbox(); demo_view_progressbar(); demo_view_scrollbar(); demo_view_radiobox(); demo_view_textbox(); demo_view_listbox(); demo_view_menu(); demo_view_listctrl(); demo_view_combobox(); demo_view_slider(); demo_view_notebook(); demo_view_mywidget(); demo_plot(); demo_view_digtube(); #if defined(RTGUI_USING_DFS_FILERW) demo_view_edit(); //demo_view_bmp(); #endif #if defined(RTGUI_USING_DFS_FILERW) demo_fn_view(); #endif #if 0 #if defined(RTGUI_USING_DFS_FILERW) demo_view_image(); #endif #ifdef RT_USING_MODULE #if defined(RTGUI_USING_DFS_FILERW) demo_view_module(); #endif #endif demo_listview_view(); demo_listview_icon_view(); #endif rtgui_win_show(main_win, RT_FALSE); /* 执行工作台事件循环 */ rtgui_app_run(app); rtgui_app_destroy(app); }
void win_thread_entry(void* parameter) { struct rtgui_app* app; struct rtgui_win *win; struct rtgui_panel *panel; struct rtgui_box *box; struct rtgui_label *label; struct rtgui_notebook *notebook; struct rtgui_rect rect = {50, 50, 350, 350}; app = rtgui_app_create(rt_thread_self(), "MyApp"); RT_ASSERT(app != RT_NULL); win = rtgui_mainwin_create(RT_NULL, "MyWindow", RTGUI_WIN_STYLE_DEFAULT); box = rtgui_box_create(RTGUI_VERTICAL, 10); rtgui_container_set_box(RTGUI_CONTAINER(win), box); /* create a panel */ panel = rtgui_panel_create(RTGUI_BORDER_BOX); RTGUI_WIDGET_ALIGN(panel) = RTGUI_ALIGN_EXPAND; rtgui_container_add_child(RTGUI_CONTAINER(win), RTGUI_WIDGET(panel)); /* create sub-child for panel */ box = rtgui_box_create(RTGUI_VERTICAL, 10); rtgui_container_set_box(RTGUI_CONTAINER(panel), box); label = rtgui_label_create("hello panel!"); rtgui_container_add_child(RTGUI_CONTAINER(panel), RTGUI_WIDGET(label)); /* create a notebook */ notebook = rtgui_notebook_create(&rect, RTGUI_NOTEBOOK_TOP); RTGUI_WIDGET_ALIGN(notebook) = RTGUI_ALIGN_EXPAND; rtgui_container_add_child(RTGUI_CONTAINER(win), RTGUI_WIDGET(notebook)); _notebook = notebook; /* create tab-page for notebook */ panel = rtgui_panel_create(RTGUI_BORDER_STATIC); _panel = panel; box = rtgui_box_create(RTGUI_VERTICAL, 10); rtgui_container_set_box(RTGUI_CONTAINER(panel), box); label = rtgui_label_create("hello panel!"); rtgui_container_add_child(RTGUI_CONTAINER(panel), RTGUI_WIDGET(label)); rtgui_notebook_add(notebook, "Panel", RTGUI_WIDGET(panel)); /* create another page with label */ label = rtgui_label_create("hello notebook"); rtgui_notebook_add(notebook, "Text", RTGUI_WIDGET(label)); /* layout for window */ rtgui_container_layout(RTGUI_CONTAINER(win)); rtgui_win_show(win, RT_FALSE); rtgui_app_run(app); rtgui_win_destroy(win); rtgui_app_destroy(app); rt_kprintf("MyApp Quit.\n"); }
static void calibration_entry(void *parameter) { rt_device_t device; struct rtgui_rect rect; device = rt_device_find("touch"); if (device == RT_NULL) { rt_kprintf("RTGUI: no touch device to calibrate\n"); return; } calibration_ptr = (struct calibration_session *) rt_malloc(sizeof(*calibration_ptr)); rt_memset(calibration_ptr, 0, sizeof(*calibration_ptr)); calibration_ptr->device = device; rt_device_control(calibration_ptr->device, RT_TOUCH_CALIBRATION, (void *)calibration_data_post); rtgui_graphic_driver_get_rect(rtgui_graphic_driver_get_default(), &rect); /* set screen rect */ calibration_ptr->width = rect.x2; calibration_ptr->height = rect.y2; calibration_ptr->app = rtgui_app_create("calibration"); if (calibration_ptr->app == RT_NULL) { rt_kprintf("RTGUI: no mem to create calibration app\n"); goto __free_ptr; } /* create calibration window */ calibration_ptr->win = rtgui_win_create(RT_NULL, "calibration", &rect, RTGUI_WIN_STYLE_NO_TITLE | RTGUI_WIN_STYLE_NO_BORDER | RTGUI_WIN_STYLE_ONTOP | RTGUI_WIN_STYLE_DESTROY_ON_CLOSE); if (calibration_ptr->win != RT_NULL) { rtgui_object_set_event_handler(RTGUI_OBJECT(calibration_ptr->win), calibration_event_handler); rtgui_win_show(calibration_ptr->win, RT_TRUE); } rtgui_app_destroy(calibration_ptr->app); /* set calibration data */ rt_device_control(calibration_ptr->device, RT_TOUCH_CALIBRATION_DATA, RT_NULL); if (_cali_after) _cali_after(cal_data); /* recover to normal */ rt_device_control(calibration_ptr->device, RT_TOUCH_NORMAL, RT_NULL); __free_ptr: /* release memory */ rt_free(calibration_ptr); calibration_ptr = RT_NULL; }