void nk_menu_wnd_main(nk_menu_handle_t *zr) { struct nk_panel layout; struct nk_context *ctx = &zr->ctx; const int id = ZRMENU_WND_MAIN; settings_t *settings = config_get_ptr(); if (nk_begin(ctx, &layout, "Main", nk_rect(-1, -1, 120, zr->size.x + 1), NK_WINDOW_NO_SCROLLBAR)) { struct nk_panel menu; struct nk_panel node, context_menu; /* context menu */ /* main menu */ nk_menubar_begin(ctx); nk_layout_row_begin(ctx, NK_STATIC, 25, 1); nk_layout_row_push(ctx, 100); nk_layout_row_push(ctx, 60); nk_menubar_end(ctx); } /* save position and size to restore after context reset */ nk_menu_set_state(zr, id, nk_window_get_position(ctx), nk_window_get_size(ctx)); if (zr->size_changed) nk_window_set_size(ctx, nk_vec2(nk_window_get_size(ctx).x, zr->size.y)); nk_end(ctx); }
static void button_demo(struct nk_context *ctx, struct media *media) { static int option = 1; static int toggle0 = 1; static int toggle1 = 0; static int toggle2 = 1; nk_style_set_font(ctx, &media->font_20->handle); nk_begin(ctx, "Button Demo", nk_rect(50,50,255,610), NK_WINDOW_BORDER|NK_WINDOW_MOVABLE|NK_WINDOW_TITLE); /*------------------------------------------------ * MENU *------------------------------------------------*/ nk_menubar_begin(ctx); { /* toolbar */ nk_layout_row_static(ctx, 40, 40, 4); if (nk_menu_begin_image(ctx, "Music", media->play, nk_vec2(110,120))) { /* settings */ nk_layout_row_dynamic(ctx, 25, 1); nk_menu_item_image_label(ctx, media->play, "Play", NK_TEXT_RIGHT); nk_menu_item_image_label(ctx, media->stop, "Stop", NK_TEXT_RIGHT); nk_menu_item_image_label(ctx, media->pause, "Pause", NK_TEXT_RIGHT); nk_menu_item_image_label(ctx, media->next, "Next", NK_TEXT_RIGHT); nk_menu_item_image_label(ctx, media->prev, "Prev", NK_TEXT_RIGHT); nk_menu_end(ctx); } nk_button_image(ctx, media->tools); nk_button_image(ctx, media->cloud); nk_button_image(ctx, media->pen); } nk_menubar_end(ctx); /*------------------------------------------------ * BUTTON *------------------------------------------------*/ ui_header(ctx, media, "Push buttons"); ui_widget(ctx, media, 35); if (nk_button_label(ctx, "Push me")) fprintf(stdout, "pushed!\n"); ui_widget(ctx, media, 35); if (nk_button_image_label(ctx, media->rocket, "Styled", NK_TEXT_CENTERED)) fprintf(stdout, "rocket!\n"); /*------------------------------------------------ * REPEATER *------------------------------------------------*/ ui_header(ctx, media, "Repeater"); ui_widget(ctx, media, 35); if (nk_button_label(ctx, "Press me")) fprintf(stdout, "pressed!\n"); /*------------------------------------------------ * TOGGLE *------------------------------------------------*/ ui_header(ctx, media, "Toggle buttons"); ui_widget(ctx, media, 35); if (nk_button_image_label(ctx, (toggle0) ? media->checked: media->unchecked, "Toggle", NK_TEXT_LEFT)) toggle0 = !toggle0; ui_widget(ctx, media, 35); if (nk_button_image_label(ctx, (toggle1) ? media->checked: media->unchecked, "Toggle", NK_TEXT_LEFT)) toggle1 = !toggle1; ui_widget(ctx, media, 35); if (nk_button_image_label(ctx, (toggle2) ? media->checked: media->unchecked, "Toggle", NK_TEXT_LEFT)) toggle2 = !toggle2; /*------------------------------------------------ * RADIO *------------------------------------------------*/ ui_header(ctx, media, "Radio buttons"); ui_widget(ctx, media, 35); if (nk_button_symbol_label(ctx, (option == 0)?NK_SYMBOL_CIRCLE_OUTLINE:NK_SYMBOL_CIRCLE_SOLID, "Select", NK_TEXT_LEFT)) option = 0; ui_widget(ctx, media, 35); if (nk_button_symbol_label(ctx, (option == 1)?NK_SYMBOL_CIRCLE_OUTLINE:NK_SYMBOL_CIRCLE_SOLID, "Select", NK_TEXT_LEFT)) option = 1; ui_widget(ctx, media, 35); if (nk_button_symbol_label(ctx, (option == 2)?NK_SYMBOL_CIRCLE_OUTLINE:NK_SYMBOL_CIRCLE_SOLID, "Select", NK_TEXT_LEFT)) option = 2; /*------------------------------------------------ * CONTEXTUAL *------------------------------------------------*/ nk_style_set_font(ctx, &media->font_18->handle); if (nk_contextual_begin(ctx, NK_WINDOW_NO_SCROLLBAR, nk_vec2(150, 300), nk_window_get_bounds(ctx))) { nk_layout_row_dynamic(ctx, 30, 1); if (nk_contextual_item_image_label(ctx, media->copy, "Clone", NK_TEXT_RIGHT)) fprintf(stdout, "pressed clone!\n"); if (nk_contextual_item_image_label(ctx, media->del, "Delete", NK_TEXT_RIGHT)) fprintf(stdout, "pressed delete!\n"); if (nk_contextual_item_image_label(ctx, media->convert, "Convert", NK_TEXT_RIGHT)) fprintf(stdout, "pressed convert!\n"); if (nk_contextual_item_image_label(ctx, media->edit, "Edit", NK_TEXT_RIGHT)) fprintf(stdout, "pressed edit!\n"); nk_contextual_end(ctx); } nk_style_set_font(ctx, &media->font_14->handle); nk_end(ctx); }