Merge pull request #602 from brianwatling/optional-chart-boxes
Add a style option to disable point markers on charts
This commit is contained in:
commit
34ea8bb042
@ -632,6 +632,7 @@ overview(struct nk_context *ctx)
|
||||
float id = 0;
|
||||
static int col_index = -1;
|
||||
static int line_index = -1;
|
||||
static int show_markers = nk_true;
|
||||
float step = (2*3.141592654f) / 32;
|
||||
|
||||
int i;
|
||||
@ -640,7 +641,10 @@ overview(struct nk_context *ctx)
|
||||
/* line chart */
|
||||
id = 0;
|
||||
index = -1;
|
||||
nk_layout_row_dynamic(ctx, 15, 1);
|
||||
nk_checkbox_label(ctx, "Show markers", &show_markers);
|
||||
nk_layout_row_dynamic(ctx, 100, 1);
|
||||
ctx->style.chart.show_markers = show_markers;
|
||||
if (nk_chart_begin(ctx, NK_CHART_LINES, 32, -1.0f, 1.0f)) {
|
||||
for (i = 0; i < 32; ++i) {
|
||||
nk_flags res = nk_chart_push(ctx, (float)cos(id));
|
||||
|
17
nuklear.h
17
nuklear.h
@ -5220,6 +5220,7 @@ struct nk_style_chart {
|
||||
struct nk_vec2 padding;
|
||||
float color_factor;
|
||||
float disabled_factor;
|
||||
nk_bool show_markers;
|
||||
};
|
||||
|
||||
struct nk_style_combo {
|
||||
@ -5410,6 +5411,7 @@ struct nk_chart_slot {
|
||||
int count;
|
||||
struct nk_vec2 last;
|
||||
int index;
|
||||
nk_bool show_markers;
|
||||
};
|
||||
|
||||
struct nk_chart {
|
||||
@ -18678,6 +18680,7 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
chart->rounding = 0;
|
||||
chart->color_factor = 1.0f;
|
||||
chart->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
chart->show_markers = nk_true;
|
||||
|
||||
/* combo */
|
||||
combo = &style->combo;
|
||||
@ -28629,7 +28632,8 @@ nk_chart_begin_colored(struct nk_context *ctx, enum nk_chart_type type,
|
||||
slot->highlight = highlight;
|
||||
slot->min = NK_MIN(min_value, max_value);
|
||||
slot->max = NK_MAX(min_value, max_value);
|
||||
slot->range = slot->max - slot->min;}
|
||||
slot->range = slot->max - slot->min;
|
||||
slot->show_markers = style->show_markers;}
|
||||
|
||||
/* draw chart background */
|
||||
background = &style->background;
|
||||
@ -28681,7 +28685,8 @@ nk_chart_add_slot_colored(struct nk_context *ctx, const enum nk_chart_type type,
|
||||
slot->highlight = highlight;
|
||||
slot->min = NK_MIN(min_value, max_value);
|
||||
slot->max = NK_MAX(min_value, max_value);
|
||||
slot->range = slot->max - slot->min;}
|
||||
slot->range = slot->max - slot->min;
|
||||
slot->show_markers = style->show_markers;}
|
||||
}
|
||||
NK_API void
|
||||
nk_chart_add_slot(struct nk_context *ctx, const enum nk_chart_type type,
|
||||
@ -28728,7 +28733,9 @@ nk_chart_push_line(struct nk_context *ctx, struct nk_window *win,
|
||||
i->mouse.buttons[NK_BUTTON_LEFT].clicked) ? NK_CHART_CLICKED: 0;
|
||||
color = g->slots[slot].highlight;
|
||||
}
|
||||
nk_fill_rect(out, bounds, 0, color);
|
||||
if (g->slots[slot].show_markers) {
|
||||
nk_fill_rect(out, bounds, 0, color);
|
||||
}
|
||||
g->slots[slot].index += 1;
|
||||
return ret;
|
||||
}
|
||||
@ -28752,7 +28759,9 @@ nk_chart_push_line(struct nk_context *ctx, struct nk_window *win,
|
||||
color = g->slots[slot].highlight;
|
||||
}
|
||||
}
|
||||
nk_fill_rect(out, nk_rect(cur.x - 2, cur.y - 2, 4, 4), 0, color);
|
||||
if (g->slots[slot].show_markers) {
|
||||
nk_fill_rect(out, nk_rect(cur.x - 2, cur.y - 2, 4, 4), 0, color);
|
||||
}
|
||||
|
||||
/* save current data point position */
|
||||
g->slots[slot].last.x = cur.x;
|
||||
|
@ -4998,6 +4998,7 @@ struct nk_style_chart {
|
||||
struct nk_vec2 padding;
|
||||
float color_factor;
|
||||
float disabled_factor;
|
||||
nk_bool show_markers;
|
||||
};
|
||||
|
||||
struct nk_style_combo {
|
||||
@ -5188,6 +5189,7 @@ struct nk_chart_slot {
|
||||
int count;
|
||||
struct nk_vec2 last;
|
||||
int index;
|
||||
nk_bool show_markers;
|
||||
};
|
||||
|
||||
struct nk_chart {
|
||||
|
@ -52,7 +52,8 @@ nk_chart_begin_colored(struct nk_context *ctx, enum nk_chart_type type,
|
||||
slot->highlight = highlight;
|
||||
slot->min = NK_MIN(min_value, max_value);
|
||||
slot->max = NK_MAX(min_value, max_value);
|
||||
slot->range = slot->max - slot->min;}
|
||||
slot->range = slot->max - slot->min;
|
||||
slot->show_markers = style->show_markers;}
|
||||
|
||||
/* draw chart background */
|
||||
background = &style->background;
|
||||
@ -104,7 +105,8 @@ nk_chart_add_slot_colored(struct nk_context *ctx, const enum nk_chart_type type,
|
||||
slot->highlight = highlight;
|
||||
slot->min = NK_MIN(min_value, max_value);
|
||||
slot->max = NK_MAX(min_value, max_value);
|
||||
slot->range = slot->max - slot->min;}
|
||||
slot->range = slot->max - slot->min;
|
||||
slot->show_markers = style->show_markers;}
|
||||
}
|
||||
NK_API void
|
||||
nk_chart_add_slot(struct nk_context *ctx, const enum nk_chart_type type,
|
||||
@ -151,7 +153,9 @@ nk_chart_push_line(struct nk_context *ctx, struct nk_window *win,
|
||||
i->mouse.buttons[NK_BUTTON_LEFT].clicked) ? NK_CHART_CLICKED: 0;
|
||||
color = g->slots[slot].highlight;
|
||||
}
|
||||
nk_fill_rect(out, bounds, 0, color);
|
||||
if (g->slots[slot].show_markers) {
|
||||
nk_fill_rect(out, bounds, 0, color);
|
||||
}
|
||||
g->slots[slot].index += 1;
|
||||
return ret;
|
||||
}
|
||||
@ -175,7 +179,9 @@ nk_chart_push_line(struct nk_context *ctx, struct nk_window *win,
|
||||
color = g->slots[slot].highlight;
|
||||
}
|
||||
}
|
||||
nk_fill_rect(out, nk_rect(cur.x - 2, cur.y - 2, 4, 4), 0, color);
|
||||
if (g->slots[slot].show_markers) {
|
||||
nk_fill_rect(out, nk_rect(cur.x - 2, cur.y - 2, 4, 4), 0, color);
|
||||
}
|
||||
|
||||
/* save current data point position */
|
||||
g->slots[slot].last.x = cur.x;
|
||||
|
@ -486,6 +486,7 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
chart->rounding = 0;
|
||||
chart->color_factor = 1.0f;
|
||||
chart->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
chart->show_markers = nk_true;
|
||||
|
||||
/* combo */
|
||||
combo = &style->combo;
|
||||
|
Loading…
Reference in New Issue
Block a user