property: Allow optional labels for properties with # (#634)

This commit is contained in:
Rob Loach 2024-04-28 02:42:54 -04:00 committed by GitHub
parent 7e9da57c09
commit 37e54da201
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 19 additions and 6 deletions

View File

@ -233,6 +233,7 @@ overview(struct nk_context *ctx)
static int range_int_value = 2048;
static int range_int_max = 4096;
static const float ratio[] = {120, 150};
static int range_int_value_hidden = 2048;
nk_layout_row_dynamic(ctx, 0, 1);
nk_checkbox_label(ctx, "CheckLeft TextLeft", &checkbox_left_text_left);
@ -278,6 +279,10 @@ overview(struct nk_context *ctx)
nk_property_int(ctx, "#neg:", range_int_min, &range_int_value, range_int_max, 1, 10);
nk_property_int(ctx, "#max:", range_int_min, &range_int_max, INT_MAX, 1, 10);
nk_layout_row_dynamic(ctx, 0, 2);
nk_label(ctx, "Hidden Label:", NK_TEXT_LEFT);
nk_property_int(ctx, "##Hidden Label", range_int_min, &range_int_value_hidden, INT_MAX, 1, 10);
nk_tree_pop(ctx);
}

View File

@ -28180,8 +28180,10 @@ nk_draw_property(struct nk_command_buffer *out, const struct nk_style_property *
/* draw label */
text.padding = nk_vec2(0,0);
if (name && name[0] != '#') {
nk_widget_text(out, *label, name, len, &text, NK_TEXT_CENTERED, font);
}
}
NK_LIB void
nk_do_property(nk_flags *ws,
struct nk_command_buffer *out, struct nk_rect property,
@ -28198,7 +28200,7 @@ nk_do_property(nk_flags *ws,
nk_filter_float
};
nk_bool active, old;
int num_len = 0, name_len;
int num_len = 0, name_len = 0;
char string[NK_MAX_NUMBER_BUFFER];
float size;
@ -28218,7 +28220,9 @@ nk_do_property(nk_flags *ws,
left.y = property.y + style->border + property.h/2.0f - left.h/2;
/* text label */
if (name && name[0] != '#') {
name_len = nk_strlen(name);
}
size = font->width(font->userdata, font->height, name, name_len);
label.x = left.x + left.w + style->padding.x;
label.w = (float)size + 2 * style->padding.x;

View File

@ -106,8 +106,10 @@ nk_draw_property(struct nk_command_buffer *out, const struct nk_style_property *
/* draw label */
text.padding = nk_vec2(0,0);
if (name && name[0] != '#') {
nk_widget_text(out, *label, name, len, &text, NK_TEXT_CENTERED, font);
}
}
NK_LIB void
nk_do_property(nk_flags *ws,
struct nk_command_buffer *out, struct nk_rect property,
@ -124,7 +126,7 @@ nk_do_property(nk_flags *ws,
nk_filter_float
};
nk_bool active, old;
int num_len = 0, name_len;
int num_len = 0, name_len = 0;
char string[NK_MAX_NUMBER_BUFFER];
float size;
@ -144,7 +146,9 @@ nk_do_property(nk_flags *ws,
left.y = property.y + style->border + property.h/2.0f - left.h/2;
/* text label */
if (name && name[0] != '#') {
name_len = nk_strlen(name);
}
size = font->width(font->userdata, font->height, name, name_len);
label.x = left.x + left.w + style->padding.x;
label.w = (float)size + 2 * style->padding.x;