static void app_mainmenu_init(void) { struct rtgui_image *bg_image; rtgui_rect_t rect; /* create main window of Application Manager */ win = rtgui_mainwin_create(RT_NULL, "mainmenu", RTGUI_WIN_STYLE_MAINWIN); if (win != RT_NULL) { rtgui_object_set_event_handler(RTGUI_OBJECT(win), mainmenu_event_handler); rtgui_widget_get_rect(RTGUI_WIDGET(win), &rect); #ifdef RT_USING_MODULE mainmenu_scan_apps(); #endif /* create background image */ bg_image = rtgui_image_create("/resource/bg_image.jpg", RT_TRUE); if (bg_image == RT_NULL) { rt_kprintf("open \"/resource/bg_image.jpg\" failed\n"); } ycircle_image = rtgui_image_create("/resource/ycircle.png", RT_TRUE); gcircle_image = rtgui_image_create("/resource/gcircle.png", RT_TRUE); app_list = app_list_create(&rect, items, ITEM_MAX, 2, 5, bg_image); rtgui_image_destroy(bg_image); app_list_draw(app_list); app_list_draw_pagemark(app_list); app_list->on_select = exec_internal_app; rtgui_win_show(win, RT_FALSE); /* set as main window */ rtgui_app_set_main_win(rtgui_app_self(), win); } }
int main(int argc, char *argv[]) { int value; list_ctx_t *lctx; lctx = app_list_create(); for (value = 0; value < 50; value++) { list_node_t *lnode; lnode = app_entry_alloc(); lnode->value_lnode = value; LIST_INIT(&lnode->link_lnode); list_insert_head(&lctx->link_lctx, &lnode->link_lnode); app_list_entries_incr(lctx); } app_list_print(lctx); app_list_destroy(lctx); exit(0); }