public static void button_demo(this NuklearContext ctx, Media media) { ctx.StyleSetFont(media.font); ctx.StyleSetFontSize(20); ctx.Begin("Button Demo", new RectangleF(50, 50, 255, 610), Nuklear.NK_WINDOW_BORDER | Nuklear.NK_WINDOW_MOVABLE | Nuklear.NK_WINDOW_TITLE); /*------------------------------------------------ * MENU *------------------------------------------------*/ ctx.MenubarBegin(); { /* toolbar */ ctx.LayoutRowStatic(40, 40, 4); if (ctx.MenuBeginImage("Music", media.play, new Vector2(110, 120))) { /* settings */ ctx.LayoutRowDynamic(25, 1); ctx.MenuItemImageLabel(media.play, "Play", nk_text_align.NK_TEXT_RIGHT); ctx.MenuItemImageLabel(media.stop, "Stop", nk_text_align.NK_TEXT_RIGHT); ctx.MenuItemImageLabel(media.pause, "Pause", nk_text_align.NK_TEXT_RIGHT); ctx.MenuItemImageLabel(media.next, "Next", nk_text_align.NK_TEXT_RIGHT); ctx.MenuItemImageLabel(media.prev, "Prev", nk_text_align.NK_TEXT_RIGHT); ctx.MenuEnd(); } ctx.ButtonImage(media.tools); ctx.ButtonImage(media.cloud); ctx.ButtonImage(media.pen); } ctx.MenubarEnd(); /*------------------------------------------------ * BUTTON *------------------------------------------------*/ ui_header(ctx, media, "Push buttons"); ui_widget(ctx, media, 35); if (ctx.ButtonLabel("Push me")) { Console.Write("pushed!\n"); } ui_widget(ctx, media, 35); if (ctx.ButtonImageLabel(media.rocket, "Styled", nk_text_align.NK_TEXT_CENTERED)) { Console.Write("rocket!\n"); } /*------------------------------------------------ * REPEATER *------------------------------------------------*/ ui_header(ctx, media, "Repeater"); ui_widget(ctx, media, 35); if (ctx.ButtonLabel("Press me")) { Console.Write("pressed!\n"); } /*------------------------------------------------ * TOGGLE *------------------------------------------------*/ ui_header(ctx, media, "Toggle buttons"); ui_widget(ctx, media, 35); if (ctx.ButtonImageLabel(toggle0 ? media.checkd : media.uncheckd, "Toggle", nk_text_align.NK_TEXT_LEFT)) { toggle0 = !toggle0; } ui_widget(ctx, media, 35); if (ctx.ButtonImageLabel(toggle1 ? media.checkd : media.uncheckd, "Toggle", nk_text_align.NK_TEXT_LEFT)) { toggle1 = !toggle1; } ui_widget(ctx, media, 35); if (ctx.ButtonImageLabel(toggle2 ? media.checkd : media.uncheckd, "Toggle", nk_text_align.NK_TEXT_LEFT)) { toggle2 = !toggle2; } /*------------------------------------------------ * RADIO *------------------------------------------------*/ ui_header(ctx, media, "Radio buttons"); ui_widget(ctx, media, 35); if (ctx.ButtonSymbolLabel( option == 0 ? nk_symbol_type.NK_SYMBOL_CIRCLE_OUTLINE : nk_symbol_type.NK_SYMBOL_CIRCLE_SOLID, "Select", nk_text_align.NK_TEXT_LEFT)) { option = 0; } ui_widget(ctx, media, 35); if (ctx.ButtonSymbolLabel( option == 1 ? nk_symbol_type.NK_SYMBOL_CIRCLE_OUTLINE : nk_symbol_type.NK_SYMBOL_CIRCLE_SOLID, "Select", nk_text_align.NK_TEXT_LEFT)) { option = 1; } ui_widget(ctx, media, 35); if (ctx.ButtonSymbolLabel( option == 2 ? nk_symbol_type.NK_SYMBOL_CIRCLE_OUTLINE : nk_symbol_type.NK_SYMBOL_CIRCLE_SOLID, "Select", nk_text_align.NK_TEXT_LEFT)) { option = 2; } /*------------------------------------------------ * CONTEXTUAL *------------------------------------------------*/ ctx.StyleSetFontSize(18); if (ctx.ContextualBegin(Nuklear.NK_WINDOW_NO_SCROLLBAR, new Vector2(150, 300), ctx.WindowGetBounds())) { ctx.LayoutRowDynamic(30, 1); if (ctx.ContextualItemImageLabel(media.copy, "Clone", nk_text_align.NK_TEXT_RIGHT)) { Console.Write("pressed clone!\n"); } if (ctx.ContextualItemImageLabel(media.del, "Delete", nk_text_align.NK_TEXT_RIGHT)) { Console.Write("pressed delete!\n"); } if (ctx.ContextualItemImageLabel(media.convert, "Convert", nk_text_align.NK_TEXT_RIGHT)) { Console.Write("pressed convert!\n"); } if (ctx.ContextualItemImageLabel(media.edit, "Edit", nk_text_align.NK_TEXT_RIGHT)) { Console.Write("pressed edit!\n"); } ctx.ContextualEnd(); } ctx.StyleSetFontSize(14); ctx.End(); }
public static void button_demo(NuklearContext ctx, Media media) { ctx.StyleSetFont(media.Font20.Handle); ctx.Begin("Button Demo", Nk.nk_rect_(50, 50, 255, 610), PanelFlags.BORDER | PanelFlags.MOVABLE | PanelFlags.TITLE); /*------------------------------------------------ * MENU *------------------------------------------------*/ ctx.MenubarBegin(); { /* toolbar */ ctx.LayoutRowStatic(40, 40, 4); if (ctx.MenuBeginImage("Music", media.Play, Nk.nk_vec2_(110, 120))) { /* settings */ ctx.LayoutRowDynamic(25, 1); ctx.MenuItemImageLabel(media.Play, "Play", Alignment.MIDDLERIGHT); ctx.MenuItemImageLabel(media.Stop, "Stop", Alignment.MIDDLERIGHT); ctx.MenuItemImageLabel(media.Pause, "Pause", Alignment.MIDDLERIGHT); ctx.MenuItemImageLabel(media.Next, "Next", Alignment.MIDDLERIGHT); ctx.MenuItemImageLabel(media.Prev, "Prev", Alignment.MIDDLERIGHT); ctx.MenuEnd(); } ctx.ButtonImage(media.Tools); ctx.ButtonImage(media.Cloud); ctx.ButtonImage(media.Pen); } ctx.MenubarEnd(); /*------------------------------------------------ * BUTTON *------------------------------------------------*/ ui_header(ctx, media, "Push buttons"); ui_widget(ctx, media, 35); if (ctx.ButtonLabel("Push me")) { Console.Write("pushed!\n"); } ui_widget(ctx, media, 35); if (ctx.ButtonImageLabel(media.Rocket, "Styled", Alignment.MIDDLECENTERED)) { Console.Write("rocket!\n"); } /*------------------------------------------------ * REPEATER *------------------------------------------------*/ ui_header(ctx, media, "Repeater"); ui_widget(ctx, media, 35); if (ctx.ButtonLabel("Press me")) { Console.Write("pressed!\n"); } /*------------------------------------------------ * TOGGLE *------------------------------------------------*/ ui_header(ctx, media, "Toggle buttons"); ui_widget(ctx, media, 35); if (ctx.ButtonImageLabel(_toggle0 ? media.Checkd : media.Uncheckd, "Toggle", Alignment.MIDDLELEFT)) { _toggle0 = !_toggle0; } ui_widget(ctx, media, 35); if (ctx.ButtonImageLabel(_toggle1 ? media.Checkd : media.Uncheckd, "Toggle", Alignment.MIDDLELEFT)) { _toggle1 = !_toggle1; } ui_widget(ctx, media, 35); if (ctx.ButtonImageLabel(_toggle2 ? media.Checkd : media.Uncheckd, "Toggle", Alignment.MIDDLELEFT)) { _toggle2 = !_toggle2; } /*------------------------------------------------ * RADIO *------------------------------------------------*/ ui_header(ctx, media, "Radio buttons"); ui_widget(ctx, media, 35); if (ctx.ButtonSymbolLabel(_option == 0 ? NkSymbolType.CIRCLE_OUTLINE : NkSymbolType.CIRCLE_SOLID, "Select", Alignment.MIDDLELEFT)) { _option = 0; } ui_widget(ctx, media, 35); if (ctx.ButtonSymbolLabel(_option == 1 ? NkSymbolType.CIRCLE_OUTLINE : NkSymbolType.CIRCLE_SOLID, "Select", Alignment.MIDDLELEFT)) { _option = 1; } ui_widget(ctx, media, 35); if (ctx.ButtonSymbolLabel(_option == 2 ? NkSymbolType.CIRCLE_OUTLINE : NkSymbolType.CIRCLE_SOLID, "Select", Alignment.MIDDLELEFT)) { _option = 2; } /*------------------------------------------------ * CONTEXTUAL *------------------------------------------------*/ ctx.StyleSetFont(media.Font18.Handle); if (ctx.ContextualBegin(PanelFlags.NO_SCROLLBAR, Nk.nk_vec2_(150, 300), ctx.WindowGetBounds())) { ctx.LayoutRowDynamic(30, 1); if (ctx.ContextualItemImageLabel(media.Copy, "Clone", Alignment.MIDDLERIGHT)) { Console.Write("pressed clone!\n"); } if (ctx.ContextualItemImageLabel(media.Del, "Delete", Alignment.MIDDLERIGHT)) { Console.Write("pressed delete!\n"); } if (ctx.ContextualItemImageLabel(media.Convert, "Convert", Alignment.MIDDLERIGHT)) { Console.Write("pressed convert!\n"); } if (ctx.ContextualItemImageLabel(media.Edit, "Edit", Alignment.MIDDLERIGHT)) { Console.Write("pressed edit!\n"); } ctx.ContextualEnd(); } ctx.StyleSetFont(media.Font14.Handle); ctx.End(); }