public static void nk_combobox_callback(this NuklearContext ctx, NkComboCallback item_getter, ref int selected, int count, int item_height, Vector2 size) { selected = nk_combo_callback(ctx, item_getter, selected, count, item_height, size); }
public void ComboboxCallback(NkComboCallback item_getter, IntPtr userdata, ref int selected, int count, int item_height, NkVec2 size) { int s = selected; Nk.nk_combobox_callback(_ctx, item_getter, userdata.ToPointer(), &s, count, item_height, size); selected = s; }
public static int nk_combo_callback(this NuklearContext ctx, NkComboCallback item_getter, int selected, int count, int item_height, Vector2 size) { int i; int max_height; var item_spacing = new Vector2(); var window_padding = new Vector2(); string item; if (ctx == null || item_getter == null) { return(selected); } item_spacing = ctx.style.window.spacing; window_padding = nk_panel_get_padding(ctx.style, ctx.current.Layout.Type); max_height = count * item_height + count * (int)item_spacing.Y; max_height += (int)item_spacing.Y * 2 + (int)window_padding.Y * 2; size.Y = size.Y < (float)max_height ? size.Y : max_height; item_getter(selected, out item); if (ComboBeginLabel(ctx, item, size)) { ctx.LayoutRowDynamic(item_height, 1); for (i = 0; i < count; ++i) { item_getter(i, out item); if (ComboItemLabel(ctx, item, nk_text_align.NK_TEXT_LEFT)) { selected = i; } } ComboEnd(ctx); } return(selected); }
public bool ComboCallback(NkComboCallback item_getter, IntPtr userdata, int selected, int count, int item_height, NkVec2 size) { return(Nk.nk_combo_callback(_ctx, item_getter, userdata.ToPointer(), selected, count, item_height, size) != 0); }