Merge branch 'master' of https://github.com/Immediate-Mode-UI/Nuklear into offical/align_widgets
# Conflicts: # demo/common/overview.c # nuklear.h # src/nuklear_toggle.c
This commit is contained in:
commit
208dbc506e
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "nuklear",
|
||||
"version": "4.10.7",
|
||||
"version": "4.11.0",
|
||||
"repo": "Immediate-Mode-UI/Nuklear",
|
||||
"description": "A small ANSI C gui toolkit",
|
||||
"keywords": ["gl", "ui", "toolkit"],
|
||||
|
@ -12,6 +12,8 @@ overview(struct nk_context *ctx)
|
||||
|
||||
ctx->style.window.header.align = header_align;
|
||||
|
||||
static nk_bool disable_widgets = nk_false;
|
||||
|
||||
actual_window_flags = window_flags;
|
||||
if (!(actual_window_flags & NK_WINDOW_TITLE))
|
||||
actual_window_flags &= ~(NK_WINDOW_MINIMIZABLE|NK_WINDOW_CLOSABLE);
|
||||
@ -129,9 +131,13 @@ overview(struct nk_context *ctx)
|
||||
nk_checkbox_flags_label(ctx, "No Scrollbar", &window_flags, NK_WINDOW_NO_SCROLLBAR, NK_WIDGET_LEFT);
|
||||
nk_checkbox_flags_label(ctx, "Minimizable", &window_flags, NK_WINDOW_MINIMIZABLE, NK_WIDGET_LEFT);
|
||||
nk_checkbox_flags_label(ctx, "Scale Left", &window_flags, NK_WINDOW_SCALE_LEFT, NK_WIDGET_LEFT);
|
||||
nk_checkbox_label(ctx, "Disable widgets", &disable_widgets, NK_WIDGET_LEFT);
|
||||
nk_tree_pop(ctx);
|
||||
}
|
||||
|
||||
if (disable_widgets)
|
||||
nk_widget_disable_begin(ctx);
|
||||
|
||||
if (nk_tree_push(ctx, NK_TREE_TAB, "Widgets", NK_MINIMIZED))
|
||||
{
|
||||
enum options {A,B,C};
|
||||
@ -182,6 +188,7 @@ overview(struct nk_context *ctx)
|
||||
nk_layout_row_static(ctx, 30, 100, 2);
|
||||
nk_button_symbol_label(ctx, NK_SYMBOL_TRIANGLE_LEFT, "prev", NK_TEXT_RIGHT);
|
||||
nk_button_symbol_label(ctx, NK_SYMBOL_TRIANGLE_RIGHT, "next", NK_TEXT_LEFT);
|
||||
|
||||
nk_tree_pop(ctx);
|
||||
}
|
||||
|
||||
@ -256,24 +263,17 @@ overview(struct nk_context *ctx)
|
||||
|
||||
nk_layout_row_static(ctx, 30, 80, 1);
|
||||
if (inactive) {
|
||||
struct nk_style_button button;
|
||||
button = ctx->style.button;
|
||||
ctx->style.button.normal = nk_style_item_color(nk_rgb(40,40,40));
|
||||
ctx->style.button.hover = nk_style_item_color(nk_rgb(40,40,40));
|
||||
ctx->style.button.active = nk_style_item_color(nk_rgb(40,40,40));
|
||||
ctx->style.button.border_color = nk_rgb(60,60,60);
|
||||
ctx->style.button.text_background = nk_rgb(60,60,60);
|
||||
ctx->style.button.text_normal = nk_rgb(60,60,60);
|
||||
ctx->style.button.text_hover = nk_rgb(60,60,60);
|
||||
ctx->style.button.text_active = nk_rgb(60,60,60);
|
||||
nk_button_label(ctx, "button");
|
||||
ctx->style.button = button;
|
||||
} else if (nk_button_label(ctx, "button"))
|
||||
nk_widget_disable_begin(ctx);
|
||||
}
|
||||
|
||||
if (nk_button_label(ctx, "button"))
|
||||
fprintf(stdout, "button pressed\n");
|
||||
|
||||
nk_widget_disable_end(ctx);
|
||||
|
||||
nk_tree_pop(ctx);
|
||||
}
|
||||
|
||||
|
||||
if (nk_tree_push(ctx, NK_TREE_NODE, "Selectable", NK_MINIMIZED))
|
||||
{
|
||||
if (nk_tree_push(ctx, NK_TREE_NODE, "List", NK_MINIMIZED))
|
||||
@ -1297,6 +1297,8 @@ overview(struct nk_context *ctx)
|
||||
}
|
||||
nk_tree_pop(ctx);
|
||||
}
|
||||
if (disable_widgets)
|
||||
nk_widget_disable_end(ctx);
|
||||
}
|
||||
nk_end(ctx);
|
||||
return !nk_window_is_closed(ctx, "Overview");
|
||||
|
@ -7,6 +7,7 @@
|
||||
/// - [y]: Minor version with non-breaking API and library changes
|
||||
/// - [z]: Patch version with no direct changes to the API
|
||||
///
|
||||
/// - 2023/10/11 (4.11.0) - Added nk_widget_disable_begin() and nk_widget_disable_end()
|
||||
/// - 2022/12/23 (4.10.6) - Fix incorrect glyph index in nk_font_bake()
|
||||
/// - 2022/12/17 (4.10.5) - Fix nk_font_bake_pack() using TTC font offset incorrectly
|
||||
/// - 2022/10/24 (4.10.4) - Fix nk_str_{append,insert}_str_utf8 always returning 0
|
||||
|
@ -2882,7 +2882,8 @@ NK_API void nk_list_view_end(struct nk_list_view*);
|
||||
enum nk_widget_layout_states {
|
||||
NK_WIDGET_INVALID, /* The widget cannot be seen and is completely out of view */
|
||||
NK_WIDGET_VALID, /* The widget is completely inside the window and can be updated and drawn */
|
||||
NK_WIDGET_ROM /* The widget is partially visible and cannot be updated */
|
||||
NK_WIDGET_ROM, /* The widget is partially visible and cannot be updated */
|
||||
NK_WIDGET_DISABLED /* The widget is manually disabled and acts like NK_WIDGET_ROM */
|
||||
};
|
||||
enum nk_widget_states {
|
||||
NK_WIDGET_STATE_MODIFIED = NK_FLAG(1),
|
||||
@ -2905,6 +2906,8 @@ NK_API nk_bool nk_widget_is_hovered(struct nk_context*);
|
||||
NK_API nk_bool nk_widget_is_mouse_clicked(struct nk_context*, enum nk_buttons);
|
||||
NK_API nk_bool nk_widget_has_mouse_click_down(struct nk_context*, enum nk_buttons, nk_bool down);
|
||||
NK_API void nk_spacing(struct nk_context*, int cols);
|
||||
NK_API void nk_widget_disable_begin(struct nk_context* ctx);
|
||||
NK_API void nk_widget_disable_end(struct nk_context* ctx);
|
||||
/* =============================================================================
|
||||
*
|
||||
* TEXT
|
||||
@ -3399,6 +3402,9 @@ NK_API void nk_menu_end(struct nk_context*);
|
||||
* STYLE
|
||||
*
|
||||
* ============================================================================= */
|
||||
|
||||
#define NK_WIDGET_DISABLED_FACTOR 0.5f
|
||||
|
||||
enum nk_style_colors {
|
||||
NK_COLOR_TEXT,
|
||||
NK_COLOR_WINDOW,
|
||||
@ -3475,6 +3481,7 @@ NK_API struct nk_color nk_rgb_f(float r, float g, float b);
|
||||
NK_API struct nk_color nk_rgb_fv(const float *rgb);
|
||||
NK_API struct nk_color nk_rgb_cf(struct nk_colorf c);
|
||||
NK_API struct nk_color nk_rgb_hex(const char *rgb);
|
||||
NK_API struct nk_color nk_rgb_factor(struct nk_color col, const float factor);
|
||||
|
||||
NK_API struct nk_color nk_rgba(int r, int g, int b, int a);
|
||||
NK_API struct nk_color nk_rgba_u32(nk_uint);
|
||||
@ -4695,6 +4702,8 @@ struct nk_style_item {
|
||||
struct nk_style_text {
|
||||
struct nk_color color;
|
||||
struct nk_vec2 padding;
|
||||
float color_factor;
|
||||
float disabled_factor;
|
||||
};
|
||||
|
||||
struct nk_style_button {
|
||||
@ -4703,6 +4712,7 @@ struct nk_style_button {
|
||||
struct nk_style_item hover;
|
||||
struct nk_style_item active;
|
||||
struct nk_color border_color;
|
||||
float color_factor_background;
|
||||
|
||||
/* text */
|
||||
struct nk_color text_background;
|
||||
@ -4710,6 +4720,7 @@ struct nk_style_button {
|
||||
struct nk_color text_hover;
|
||||
struct nk_color text_active;
|
||||
nk_flags text_alignment;
|
||||
float color_factor_text;
|
||||
|
||||
/* properties */
|
||||
float border;
|
||||
@ -4717,6 +4728,7 @@ struct nk_style_button {
|
||||
struct nk_vec2 padding;
|
||||
struct nk_vec2 image_padding;
|
||||
struct nk_vec2 touch_padding;
|
||||
float disabled_factor;
|
||||
|
||||
/* optional user callbacks */
|
||||
nk_handle userdata;
|
||||
@ -4747,6 +4759,8 @@ struct nk_style_toggle {
|
||||
struct nk_vec2 touch_padding;
|
||||
float spacing;
|
||||
float border;
|
||||
float color_factor;
|
||||
float disabled_factor;
|
||||
|
||||
/* optional user callbacks */
|
||||
nk_handle userdata;
|
||||
@ -4782,6 +4796,8 @@ struct nk_style_selectable {
|
||||
struct nk_vec2 padding;
|
||||
struct nk_vec2 touch_padding;
|
||||
struct nk_vec2 image_padding;
|
||||
float color_factor;
|
||||
float disabled_factor;
|
||||
|
||||
/* optional user callbacks */
|
||||
nk_handle userdata;
|
||||
@ -4814,6 +4830,8 @@ struct nk_style_slider {
|
||||
struct nk_vec2 padding;
|
||||
struct nk_vec2 spacing;
|
||||
struct nk_vec2 cursor_size;
|
||||
float color_factor;
|
||||
float disabled_factor;
|
||||
|
||||
/* optional buttons */
|
||||
int show_buttons;
|
||||
@ -4847,6 +4865,8 @@ struct nk_style_progress {
|
||||
float cursor_border;
|
||||
float cursor_rounding;
|
||||
struct nk_vec2 padding;
|
||||
float color_factor;
|
||||
float disabled_factor;
|
||||
|
||||
/* optional user callbacks */
|
||||
nk_handle userdata;
|
||||
@ -4873,6 +4893,8 @@ struct nk_style_scrollbar {
|
||||
float border_cursor;
|
||||
float rounding_cursor;
|
||||
struct nk_vec2 padding;
|
||||
float color_factor;
|
||||
float disabled_factor;
|
||||
|
||||
/* optional buttons */
|
||||
int show_buttons;
|
||||
@ -4919,6 +4941,8 @@ struct nk_style_edit {
|
||||
struct nk_vec2 scrollbar_size;
|
||||
struct nk_vec2 padding;
|
||||
float row_padding;
|
||||
float color_factor;
|
||||
float disabled_factor;
|
||||
};
|
||||
|
||||
struct nk_style_property {
|
||||
@ -4941,6 +4965,8 @@ struct nk_style_property {
|
||||
float border;
|
||||
float rounding;
|
||||
struct nk_vec2 padding;
|
||||
float color_factor;
|
||||
float disabled_factor;
|
||||
|
||||
struct nk_style_edit edit;
|
||||
struct nk_style_button inc_button;
|
||||
@ -4963,6 +4989,8 @@ struct nk_style_chart {
|
||||
float border;
|
||||
float rounding;
|
||||
struct nk_vec2 padding;
|
||||
float color_factor;
|
||||
float disabled_factor;
|
||||
};
|
||||
|
||||
struct nk_style_combo {
|
||||
@ -4994,6 +5022,8 @@ struct nk_style_combo {
|
||||
struct nk_vec2 content_padding;
|
||||
struct nk_vec2 button_padding;
|
||||
struct nk_vec2 spacing;
|
||||
float color_factor;
|
||||
float disabled_factor;
|
||||
};
|
||||
|
||||
struct nk_style_tab {
|
||||
@ -5016,6 +5046,8 @@ struct nk_style_tab {
|
||||
float indent;
|
||||
struct nk_vec2 padding;
|
||||
struct nk_vec2 spacing;
|
||||
float color_factor;
|
||||
float disabled_factor;
|
||||
};
|
||||
|
||||
enum nk_style_header_align {
|
||||
@ -5298,6 +5330,7 @@ struct nk_window {
|
||||
struct nk_popup_state popup;
|
||||
struct nk_edit_state edit;
|
||||
unsigned int scrolled;
|
||||
nk_bool widgets_disabled;
|
||||
|
||||
struct nk_table *tables;
|
||||
unsigned int table_count;
|
||||
|
@ -98,16 +98,16 @@ nk_draw_button(struct nk_command_buffer *out,
|
||||
background = &style->active;
|
||||
else background = &style->normal;
|
||||
|
||||
switch(background->type) {
|
||||
switch (background->type) {
|
||||
case NK_STYLE_ITEM_IMAGE:
|
||||
nk_draw_image(out, *bounds, &background->data.image, nk_white);
|
||||
nk_draw_image(out, *bounds, &background->data.image, nk_rgb_factor(nk_white, style->color_factor_background));
|
||||
break;
|
||||
case NK_STYLE_ITEM_NINE_SLICE:
|
||||
nk_draw_nine_slice(out, *bounds, &background->data.slice, nk_white);
|
||||
nk_draw_nine_slice(out, *bounds, &background->data.slice, nk_rgb_factor(nk_white, style->color_factor_background));
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(out, *bounds, style->rounding, background->data.color);
|
||||
nk_stroke_rect(out, *bounds, style->rounding, style->border, style->border_color);
|
||||
nk_fill_rect(out, *bounds, style->rounding, nk_rgb_factor(background->data.color, style->color_factor_background));
|
||||
nk_stroke_rect(out, *bounds, style->rounding, style->border, nk_rgb_factor(style->border_color, style->color_factor_background));
|
||||
break;
|
||||
}
|
||||
return background;
|
||||
@ -157,6 +157,8 @@ nk_draw_button_text(struct nk_command_buffer *out,
|
||||
text.text = style->text_active;
|
||||
else text.text = style->text_normal;
|
||||
|
||||
text.text = nk_rgb_factor(text.text, style->color_factor_text);
|
||||
|
||||
text.padding = nk_vec2(0,0);
|
||||
nk_widget_text(out, *content, txt, len, &text, text_alignment, font);
|
||||
}
|
||||
@ -204,6 +206,8 @@ nk_draw_button_symbol(struct nk_command_buffer *out,
|
||||
else if (state & NK_WIDGET_STATE_ACTIVED)
|
||||
sym = style->text_active;
|
||||
else sym = style->text_normal;
|
||||
|
||||
sym = nk_rgb_factor(sym, style->color_factor_text);
|
||||
nk_draw_symbol(out, type, *content, bg, sym, 1, font);
|
||||
}
|
||||
NK_LIB nk_bool
|
||||
@ -235,7 +239,7 @@ nk_draw_button_image(struct nk_command_buffer *out,
|
||||
nk_flags state, const struct nk_style_button *style, const struct nk_image *img)
|
||||
{
|
||||
nk_draw_button(out, bounds, state, style);
|
||||
nk_draw_image(out, *content, img, nk_white);
|
||||
nk_draw_image(out, *content, img, nk_rgb_factor(nk_white, style->color_factor_background));
|
||||
}
|
||||
NK_LIB nk_bool
|
||||
nk_do_button_image(nk_flags *state,
|
||||
@ -292,6 +296,8 @@ nk_draw_button_text_symbol(struct nk_command_buffer *out,
|
||||
text.text = style->text_normal;
|
||||
}
|
||||
|
||||
sym = nk_rgb_factor(sym, style->color_factor_text);
|
||||
text.text = nk_rgb_factor(text.text, style->color_factor_text);
|
||||
text.padding = nk_vec2(0,0);
|
||||
nk_draw_symbol(out, type, *symbol, style->text_background, sym, 0, font);
|
||||
nk_widget_text(out, *label, str, len, &text, NK_TEXT_CENTERED, font);
|
||||
@ -349,9 +355,10 @@ nk_draw_button_text_image(struct nk_command_buffer *out,
|
||||
text.text = style->text_active;
|
||||
else text.text = style->text_normal;
|
||||
|
||||
text.padding = nk_vec2(0,0);
|
||||
text.text = nk_rgb_factor(text.text, style->color_factor_text);
|
||||
text.padding = nk_vec2(0, 0);
|
||||
nk_widget_text(out, *label, str, len, &text, NK_TEXT_CENTERED, font);
|
||||
nk_draw_image(out, *image, img, nk_white);
|
||||
nk_draw_image(out, *image, img, nk_rgb_factor(nk_white, style->color_factor_background));
|
||||
}
|
||||
NK_LIB nk_bool
|
||||
nk_do_button_text_image(nk_flags *state,
|
||||
@ -456,7 +463,7 @@ nk_button_text_styled(struct nk_context *ctx,
|
||||
state = nk_widget(&bounds, ctx);
|
||||
|
||||
if (!state) return 0;
|
||||
in = (state == NK_WIDGET_ROM || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
return nk_do_button_text(&ctx->last_widget_state, &win->buffer, bounds,
|
||||
title, len, style->text_alignment, ctx->button_behavior,
|
||||
style, in, ctx->style.font);
|
||||
@ -501,7 +508,7 @@ nk_button_color(struct nk_context *ctx, struct nk_color color)
|
||||
|
||||
state = nk_widget(&bounds, ctx);
|
||||
if (!state) return 0;
|
||||
in = (state == NK_WIDGET_ROM || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
|
||||
button = ctx->style.button;
|
||||
button.normal = nk_style_item_color(color);
|
||||
@ -533,7 +540,7 @@ nk_button_symbol_styled(struct nk_context *ctx,
|
||||
layout = win->layout;
|
||||
state = nk_widget(&bounds, ctx);
|
||||
if (!state) return 0;
|
||||
in = (state == NK_WIDGET_ROM || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
return nk_do_button_symbol(&ctx->last_widget_state, &win->buffer, bounds,
|
||||
symbol, ctx->button_behavior, style, in, ctx->style.font);
|
||||
}
|
||||
@ -566,7 +573,7 @@ nk_button_image_styled(struct nk_context *ctx, const struct nk_style_button *sty
|
||||
|
||||
state = nk_widget(&bounds, ctx);
|
||||
if (!state) return 0;
|
||||
in = (state == NK_WIDGET_ROM || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
return nk_do_button_image(&ctx->last_widget_state, &win->buffer, bounds,
|
||||
img, ctx->button_behavior, style, in);
|
||||
}
|
||||
@ -600,7 +607,7 @@ nk_button_symbol_text_styled(struct nk_context *ctx,
|
||||
|
||||
state = nk_widget(&bounds, ctx);
|
||||
if (!state) return 0;
|
||||
in = (state == NK_WIDGET_ROM || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
return nk_do_button_text_symbol(&ctx->last_widget_state, &win->buffer, bounds,
|
||||
symbol, text, len, align, ctx->button_behavior,
|
||||
style, ctx->style.font, in);
|
||||
@ -647,7 +654,7 @@ nk_button_image_text_styled(struct nk_context *ctx,
|
||||
|
||||
state = nk_widget(&bounds, ctx);
|
||||
if (!state) return 0;
|
||||
in = (state == NK_WIDGET_ROM || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
return nk_do_button_text_image(&ctx->last_widget_state, &win->buffer,
|
||||
bounds, img, text, len, align, ctx->button_behavior,
|
||||
style, ctx->style.font, in);
|
||||
|
@ -48,7 +48,7 @@ nk_chart_begin_colored(struct nk_context *ctx, enum nk_chart_type type,
|
||||
{struct nk_chart_slot *slot = &chart->slots[chart->slot++];
|
||||
slot->type = type;
|
||||
slot->count = count;
|
||||
slot->color = color;
|
||||
slot->color = nk_rgb_factor(color, style->color_factor);
|
||||
slot->highlight = highlight;
|
||||
slot->min = NK_MIN(min_value, max_value);
|
||||
slot->max = NK_MAX(min_value, max_value);
|
||||
@ -59,15 +59,15 @@ nk_chart_begin_colored(struct nk_context *ctx, enum nk_chart_type type,
|
||||
|
||||
switch(background->type) {
|
||||
case NK_STYLE_ITEM_IMAGE:
|
||||
nk_draw_image(&win->buffer, bounds, &background->data.image, nk_white);
|
||||
nk_draw_image(&win->buffer, bounds, &background->data.image, nk_rgb_factor(nk_white, style->color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_NINE_SLICE:
|
||||
nk_draw_nine_slice(&win->buffer, bounds, &background->data.slice, nk_white);
|
||||
nk_draw_nine_slice(&win->buffer, bounds, &background->data.slice, nk_rgb_factor(nk_white, style->color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(&win->buffer, bounds, style->rounding, style->border_color);
|
||||
nk_fill_rect(&win->buffer, bounds, style->rounding, nk_rgb_factor(style->border_color, style->color_factor));
|
||||
nk_fill_rect(&win->buffer, nk_shrink_rect(bounds, style->border),
|
||||
style->rounding, style->background.data.color);
|
||||
style->rounding, nk_rgb_factor(style->background.data.color, style->color_factor));
|
||||
break;
|
||||
}
|
||||
return 1;
|
||||
@ -84,6 +84,8 @@ nk_chart_add_slot_colored(struct nk_context *ctx, const enum nk_chart_type type,
|
||||
struct nk_color color, struct nk_color highlight,
|
||||
int count, float min_value, float max_value)
|
||||
{
|
||||
const struct nk_style_chart* style;
|
||||
|
||||
NK_ASSERT(ctx);
|
||||
NK_ASSERT(ctx->current);
|
||||
NK_ASSERT(ctx->current->layout);
|
||||
@ -91,12 +93,14 @@ nk_chart_add_slot_colored(struct nk_context *ctx, const enum nk_chart_type type,
|
||||
if (!ctx || !ctx->current || !ctx->current->layout) return;
|
||||
if (ctx->current->layout->chart.slot >= NK_CHART_MAX_SLOT) return;
|
||||
|
||||
style = &ctx->style.chart;
|
||||
|
||||
/* add another slot into the graph */
|
||||
{struct nk_chart *chart = &ctx->current->layout->chart;
|
||||
struct nk_chart_slot *slot = &chart->slots[chart->slot++];
|
||||
slot->type = type;
|
||||
slot->count = count;
|
||||
slot->color = color;
|
||||
slot->color = nk_rgb_factor(color, style->color_factor);
|
||||
slot->highlight = highlight;
|
||||
slot->min = NK_MIN(min_value, max_value);
|
||||
slot->max = NK_MAX(min_value, max_value);
|
||||
@ -114,7 +118,7 @@ nk_chart_push_line(struct nk_context *ctx, struct nk_window *win,
|
||||
struct nk_chart *g, float value, int slot)
|
||||
{
|
||||
struct nk_panel *layout = win->layout;
|
||||
const struct nk_input *i = &ctx->input;
|
||||
const struct nk_input *i = ctx->current->widgets_disabled ? 0 : &ctx->input;
|
||||
struct nk_command_buffer *out = &win->buffer;
|
||||
|
||||
nk_flags ret = 0;
|
||||
@ -140,7 +144,7 @@ nk_chart_push_line(struct nk_context *ctx, struct nk_window *win,
|
||||
bounds.w = bounds.h = 4;
|
||||
|
||||
color = g->slots[slot].color;
|
||||
if (!(layout->flags & NK_WINDOW_ROM) &&
|
||||
if (!(layout->flags & NK_WINDOW_ROM) && i &&
|
||||
NK_INBOX(i->mouse.pos.x,i->mouse.pos.y, g->slots[slot].last.x-3, g->slots[slot].last.y-3, 6, 6)){
|
||||
ret = nk_input_is_mouse_hovering_rect(i, bounds) ? NK_CHART_HOVERING : 0;
|
||||
ret |= (i->mouse.buttons[NK_BUTTON_LEFT].down &&
|
||||
@ -184,7 +188,7 @@ nk_chart_push_column(const struct nk_context *ctx, struct nk_window *win,
|
||||
struct nk_chart *chart, float value, int slot)
|
||||
{
|
||||
struct nk_command_buffer *out = &win->buffer;
|
||||
const struct nk_input *in = &ctx->input;
|
||||
const struct nk_input *in = ctx->current->widgets_disabled ? 0 : &ctx->input;
|
||||
struct nk_panel *layout = win->layout;
|
||||
|
||||
float ratio;
|
||||
@ -214,7 +218,7 @@ nk_chart_push_column(const struct nk_context *ctx, struct nk_window *win,
|
||||
item.x = item.x + ((float)chart->slots[slot].index);
|
||||
|
||||
/* user chart bar selection */
|
||||
if (!(layout->flags & NK_WINDOW_ROM) &&
|
||||
if (!(layout->flags & NK_WINDOW_ROM) && in &&
|
||||
NK_INBOX(in->mouse.pos.x,in->mouse.pos.y,item.x,item.y,item.w,item.h)) {
|
||||
ret = NK_CHART_HOVERING;
|
||||
ret |= (!in->mouse.buttons[NK_BUTTON_LEFT].down &&
|
||||
|
@ -23,6 +23,16 @@ nk_parse_hex(const char *p, int length)
|
||||
return i;
|
||||
}
|
||||
NK_API struct nk_color
|
||||
nk_rgb_factor(struct nk_color col, const float factor)
|
||||
{
|
||||
if (factor == 1.0f)
|
||||
return col;
|
||||
col.r *= factor;
|
||||
col.g *= factor;
|
||||
col.b *= factor;
|
||||
return col;
|
||||
}
|
||||
NK_API struct nk_color
|
||||
nk_rgba(int r, int g, int b, int a)
|
||||
{
|
||||
struct nk_color ret;
|
||||
|
@ -187,7 +187,7 @@ nk_color_pick(struct nk_context * ctx, struct nk_colorf *color,
|
||||
layout = win->layout;
|
||||
state = nk_widget(&bounds, ctx);
|
||||
if (!state) return 0;
|
||||
in = (state == NK_WIDGET_ROM || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
return nk_do_color_picker(&ctx->last_widget_state, &win->buffer, color, fmt, bounds,
|
||||
nk_vec2(0,0), in, config->font);
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ nk_combo_begin_text(struct nk_context *ctx, const char *selected, int len,
|
||||
if (s == NK_WIDGET_INVALID)
|
||||
return 0;
|
||||
|
||||
in = (win->layout->flags & NK_WINDOW_ROM || s == NK_WIDGET_ROM)? 0: &ctx->input;
|
||||
in = (win->layout->flags & NK_WINDOW_ROM || s == NK_WIDGET_DISABLED || s == NK_WIDGET_ROM)? 0: &ctx->input;
|
||||
if (nk_button_behavior(&ctx->last_widget_state, header, in, NK_BUTTON_DEFAULT))
|
||||
is_clicked = nk_true;
|
||||
|
||||
@ -83,19 +83,21 @@ nk_combo_begin_text(struct nk_context *ctx, const char *selected, int len,
|
||||
text.text = style->combo.label_normal;
|
||||
}
|
||||
|
||||
text.text = nk_rgb_factor(text.text, style->combo.color_factor);
|
||||
|
||||
switch(background->type) {
|
||||
case NK_STYLE_ITEM_IMAGE:
|
||||
text.background = nk_rgba(0, 0, 0, 0);
|
||||
nk_draw_image(&win->buffer, header, &background->data.image, nk_white);
|
||||
nk_draw_image(&win->buffer, header, &background->data.image, nk_rgb_factor(nk_white, style->combo.color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_NINE_SLICE:
|
||||
text.background = nk_rgba(0, 0, 0, 0);
|
||||
nk_draw_nine_slice(&win->buffer, header, &background->data.slice, nk_white);
|
||||
nk_draw_nine_slice(&win->buffer, header, &background->data.slice, nk_rgb_factor(nk_white, style->combo.color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
text.background = background->data.color;
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color);
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, style->combo.border_color);
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, nk_rgb_factor(background->data.color, style->combo.color_factor));
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, nk_rgb_factor(style->combo.border_color, style->combo.color_factor));
|
||||
break;
|
||||
}
|
||||
{
|
||||
@ -175,7 +177,7 @@ nk_combo_begin_color(struct nk_context *ctx, struct nk_color color, struct nk_ve
|
||||
if (s == NK_WIDGET_INVALID)
|
||||
return 0;
|
||||
|
||||
in = (win->layout->flags & NK_WINDOW_ROM || s == NK_WIDGET_ROM)? 0: &ctx->input;
|
||||
in = (win->layout->flags & NK_WINDOW_ROM || s == NK_WIDGET_DISABLED || s == NK_WIDGET_ROM)? 0: &ctx->input;
|
||||
if (nk_button_behavior(&ctx->last_widget_state, header, in, NK_BUTTON_DEFAULT))
|
||||
is_clicked = nk_true;
|
||||
|
||||
@ -188,14 +190,14 @@ nk_combo_begin_color(struct nk_context *ctx, struct nk_color color, struct nk_ve
|
||||
|
||||
switch(background->type) {
|
||||
case NK_STYLE_ITEM_IMAGE:
|
||||
nk_draw_image(&win->buffer, header, &background->data.image, nk_white);
|
||||
nk_draw_image(&win->buffer, header, &background->data.image, nk_rgb_factor(nk_white, style->combo.color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_NINE_SLICE:
|
||||
nk_draw_nine_slice(&win->buffer, header, &background->data.slice, nk_white);
|
||||
nk_draw_nine_slice(&win->buffer, header, &background->data.slice, nk_rgb_factor(nk_white, style->combo.color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color);
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, style->combo.border_color);
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, nk_rgb_factor(background->data.color, style->combo.color_factor));
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, nk_rgb_factor(style->combo.border_color, style->combo.color_factor));
|
||||
break;
|
||||
}
|
||||
{
|
||||
@ -233,7 +235,7 @@ nk_combo_begin_color(struct nk_context *ctx, struct nk_color color, struct nk_ve
|
||||
bounds.w = (button.x - (style->combo.content_padding.x + style->combo.spacing.x)) - bounds.x;
|
||||
else
|
||||
bounds.w = header.w - 4 * style->combo.content_padding.x;
|
||||
nk_fill_rect(&win->buffer, bounds, 0, color);
|
||||
nk_fill_rect(&win->buffer, bounds, 0, nk_rgb_factor(color, style->combo.color_factor));
|
||||
|
||||
/* draw open/close button */
|
||||
if (draw_button_symbol)
|
||||
@ -268,7 +270,7 @@ nk_combo_begin_symbol(struct nk_context *ctx, enum nk_symbol_type symbol, struct
|
||||
if (s == NK_WIDGET_INVALID)
|
||||
return 0;
|
||||
|
||||
in = (win->layout->flags & NK_WINDOW_ROM || s == NK_WIDGET_ROM)? 0: &ctx->input;
|
||||
in = (win->layout->flags & NK_WINDOW_ROM || s == NK_WIDGET_DISABLED || s == NK_WIDGET_ROM)? 0: &ctx->input;
|
||||
if (nk_button_behavior(&ctx->last_widget_state, header, in, NK_BUTTON_DEFAULT))
|
||||
is_clicked = nk_true;
|
||||
|
||||
@ -284,19 +286,21 @@ nk_combo_begin_symbol(struct nk_context *ctx, enum nk_symbol_type symbol, struct
|
||||
symbol_color = style->combo.symbol_hover;
|
||||
}
|
||||
|
||||
symbol_color = nk_rgb_factor(symbol_color, style->combo.color_factor);
|
||||
|
||||
switch(background->type) {
|
||||
case NK_STYLE_ITEM_IMAGE:
|
||||
sym_background = nk_rgba(0, 0, 0, 0);
|
||||
nk_draw_image(&win->buffer, header, &background->data.image, nk_white);
|
||||
nk_draw_image(&win->buffer, header, &background->data.image, nk_rgb_factor(nk_white, style->combo.color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_NINE_SLICE:
|
||||
sym_background = nk_rgba(0, 0, 0, 0);
|
||||
nk_draw_nine_slice(&win->buffer, header, &background->data.slice, nk_white);
|
||||
nk_draw_nine_slice(&win->buffer, header, &background->data.slice, nk_rgb_factor(nk_white, style->combo.color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
sym_background = background->data.color;
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color);
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, style->combo.border_color);
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, nk_rgb_factor(background->data.color, style->combo.color_factor));
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, nk_rgb_factor(style->combo.border_color, style->combo.color_factor));
|
||||
break;
|
||||
}
|
||||
{
|
||||
@ -362,7 +366,7 @@ nk_combo_begin_symbol_text(struct nk_context *ctx, const char *selected, int len
|
||||
s = nk_widget(&header, ctx);
|
||||
if (!s) return 0;
|
||||
|
||||
in = (win->layout->flags & NK_WINDOW_ROM || s == NK_WIDGET_ROM)? 0: &ctx->input;
|
||||
in = (win->layout->flags & NK_WINDOW_ROM || s == NK_WIDGET_DISABLED || s == NK_WIDGET_ROM)? 0: &ctx->input;
|
||||
if (nk_button_behavior(&ctx->last_widget_state, header, in, NK_BUTTON_DEFAULT))
|
||||
is_clicked = nk_true;
|
||||
|
||||
@ -381,19 +385,22 @@ nk_combo_begin_symbol_text(struct nk_context *ctx, const char *selected, int len
|
||||
text.text = style->combo.label_normal;
|
||||
}
|
||||
|
||||
text.text = nk_rgb_factor(text.text, style->combo.color_factor);
|
||||
symbol_color = nk_rgb_factor(symbol_color, style->combo.color_factor);
|
||||
|
||||
switch(background->type) {
|
||||
case NK_STYLE_ITEM_IMAGE:
|
||||
text.background = nk_rgba(0, 0, 0, 0);
|
||||
nk_draw_image(&win->buffer, header, &background->data.image, nk_white);
|
||||
nk_draw_image(&win->buffer, header, &background->data.image, nk_rgb_factor(nk_white, style->combo.color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_NINE_SLICE:
|
||||
text.background = nk_rgba(0, 0, 0, 0);
|
||||
nk_draw_nine_slice(&win->buffer, header, &background->data.slice, nk_white);
|
||||
nk_draw_nine_slice(&win->buffer, header, &background->data.slice, nk_rgb_factor(nk_white, style->combo.color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
text.background = background->data.color;
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color);
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, style->combo.border_color);
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, nk_rgb_factor(background->data.color, style->combo.color_factor));
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, nk_rgb_factor(style->combo.border_color, style->combo.color_factor));
|
||||
break;
|
||||
}
|
||||
{
|
||||
@ -464,7 +471,7 @@ nk_combo_begin_image(struct nk_context *ctx, struct nk_image img, struct nk_vec2
|
||||
if (s == NK_WIDGET_INVALID)
|
||||
return 0;
|
||||
|
||||
in = (win->layout->flags & NK_WINDOW_ROM || s == NK_WIDGET_ROM)? 0: &ctx->input;
|
||||
in = (win->layout->flags & NK_WINDOW_ROM || s == NK_WIDGET_DISABLED || s == NK_WIDGET_ROM)? 0: &ctx->input;
|
||||
if (nk_button_behavior(&ctx->last_widget_state, header, in, NK_BUTTON_DEFAULT))
|
||||
is_clicked = nk_true;
|
||||
|
||||
@ -477,14 +484,14 @@ nk_combo_begin_image(struct nk_context *ctx, struct nk_image img, struct nk_vec2
|
||||
|
||||
switch (background->type) {
|
||||
case NK_STYLE_ITEM_IMAGE:
|
||||
nk_draw_image(&win->buffer, header, &background->data.image, nk_white);
|
||||
nk_draw_image(&win->buffer, header, &background->data.image, nk_rgb_factor(nk_white, style->combo.color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_NINE_SLICE:
|
||||
nk_draw_nine_slice(&win->buffer, header, &background->data.slice, nk_white);
|
||||
nk_draw_nine_slice(&win->buffer, header, &background->data.slice, nk_rgb_factor(nk_white, style->combo.color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color);
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, style->combo.border_color);
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, nk_rgb_factor(background->data.color, style->combo.color_factor));
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, nk_rgb_factor(style->combo.border_color, style->combo.color_factor));
|
||||
break;
|
||||
}
|
||||
{
|
||||
@ -522,7 +529,7 @@ nk_combo_begin_image(struct nk_context *ctx, struct nk_image img, struct nk_vec2
|
||||
bounds.w = (button.x - style->combo.content_padding.y) - bounds.x;
|
||||
else
|
||||
bounds.w = header.w - 2 * style->combo.content_padding.x;
|
||||
nk_draw_image(&win->buffer, bounds, &img, nk_white);
|
||||
nk_draw_image(&win->buffer, bounds, &img, nk_rgb_factor(nk_white, style->combo.color_factor));
|
||||
|
||||
/* draw open/close button */
|
||||
if (draw_button_symbol)
|
||||
@ -556,7 +563,7 @@ nk_combo_begin_image_text(struct nk_context *ctx, const char *selected, int len,
|
||||
s = nk_widget(&header, ctx);
|
||||
if (!s) return 0;
|
||||
|
||||
in = (win->layout->flags & NK_WINDOW_ROM || s == NK_WIDGET_ROM)? 0: &ctx->input;
|
||||
in = (win->layout->flags & NK_WINDOW_ROM || s == NK_WIDGET_DISABLED || s == NK_WIDGET_ROM)? 0: &ctx->input;
|
||||
if (nk_button_behavior(&ctx->last_widget_state, header, in, NK_BUTTON_DEFAULT))
|
||||
is_clicked = nk_true;
|
||||
|
||||
@ -572,19 +579,21 @@ nk_combo_begin_image_text(struct nk_context *ctx, const char *selected, int len,
|
||||
text.text = style->combo.label_normal;
|
||||
}
|
||||
|
||||
text.text = nk_rgb_factor(text.text, style->combo.color_factor);
|
||||
|
||||
switch(background->type) {
|
||||
case NK_STYLE_ITEM_IMAGE:
|
||||
text.background = nk_rgba(0, 0, 0, 0);
|
||||
nk_draw_image(&win->buffer, header, &background->data.image, nk_white);
|
||||
nk_draw_image(&win->buffer, header, &background->data.image, nk_rgb_factor(nk_white, style->combo.color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_NINE_SLICE:
|
||||
text.background = nk_rgba(0, 0, 0, 0);
|
||||
nk_draw_nine_slice(&win->buffer, header, &background->data.slice, nk_white);
|
||||
nk_draw_nine_slice(&win->buffer, header, &background->data.slice, nk_rgb_factor(nk_white, style->combo.color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
text.background = background->data.color;
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color);
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, style->combo.border_color);
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, nk_rgb_factor(background->data.color, style->combo.color_factor));
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, nk_rgb_factor(style->combo.border_color, style->combo.color_factor));
|
||||
break;
|
||||
}
|
||||
{
|
||||
@ -623,7 +632,7 @@ nk_combo_begin_image_text(struct nk_context *ctx, const char *selected, int len,
|
||||
image.y = header.y + style->combo.content_padding.y;
|
||||
image.h = header.h - 2 * style->combo.content_padding.y;
|
||||
image.w = image.h;
|
||||
nk_draw_image(&win->buffer, image, &img, nk_white);
|
||||
nk_draw_image(&win->buffer, image, &img, nk_rgb_factor(nk_white, style->combo.color_factor));
|
||||
|
||||
/* draw label */
|
||||
text.padding = nk_vec2(0,0);
|
||||
|
@ -13,6 +13,7 @@ nk_contextual_begin(struct nk_context *ctx, nk_flags flags, struct nk_vec2 size,
|
||||
struct nk_window *win;
|
||||
struct nk_window *popup;
|
||||
struct nk_rect body;
|
||||
struct nk_input* in;
|
||||
|
||||
NK_STORAGE const struct nk_rect null_rect = {-1,-1,0,0};
|
||||
int is_clicked = 0;
|
||||
@ -33,35 +34,39 @@ nk_contextual_begin(struct nk_context *ctx, nk_flags flags, struct nk_vec2 size,
|
||||
/* check if currently active contextual is active */
|
||||
popup = win->popup.win;
|
||||
is_open = (popup && win->popup.type == NK_PANEL_CONTEXTUAL);
|
||||
is_clicked = nk_input_mouse_clicked(&ctx->input, NK_BUTTON_RIGHT, trigger_bounds);
|
||||
if (win->popup.active_con && win->popup.con_count != win->popup.active_con)
|
||||
return 0;
|
||||
if (!is_open && win->popup.active_con)
|
||||
win->popup.active_con = 0;
|
||||
if ((!is_open && !is_clicked))
|
||||
return 0;
|
||||
in = win->widgets_disabled ? 0 : &ctx->input;
|
||||
if (in) {
|
||||
is_clicked = nk_input_mouse_clicked(in, NK_BUTTON_RIGHT, trigger_bounds);
|
||||
if (win->popup.active_con && win->popup.con_count != win->popup.active_con)
|
||||
return 0;
|
||||
if (!is_open && win->popup.active_con)
|
||||
win->popup.active_con = 0;
|
||||
if ((!is_open && !is_clicked))
|
||||
return 0;
|
||||
|
||||
/* calculate contextual position on click */
|
||||
win->popup.active_con = win->popup.con_count;
|
||||
if (is_clicked) {
|
||||
body.x = ctx->input.mouse.pos.x;
|
||||
body.y = ctx->input.mouse.pos.y;
|
||||
} else {
|
||||
body.x = popup->bounds.x;
|
||||
body.y = popup->bounds.y;
|
||||
}
|
||||
body.w = size.x;
|
||||
body.h = size.y;
|
||||
/* calculate contextual position on click */
|
||||
win->popup.active_con = win->popup.con_count;
|
||||
if (is_clicked) {
|
||||
body.x = in->mouse.pos.x;
|
||||
body.y = in->mouse.pos.y;
|
||||
} else {
|
||||
body.x = popup->bounds.x;
|
||||
body.y = popup->bounds.y;
|
||||
}
|
||||
|
||||
/* start nonblocking contextual popup */
|
||||
ret = nk_nonblock_begin(ctx, flags|NK_WINDOW_NO_SCROLLBAR, body,
|
||||
body.w = size.x;
|
||||
body.h = size.y;
|
||||
|
||||
/* start nonblocking contextual popup */
|
||||
ret = nk_nonblock_begin(ctx, flags | NK_WINDOW_NO_SCROLLBAR, body,
|
||||
null_rect, NK_PANEL_CONTEXTUAL);
|
||||
if (ret) win->popup.type = NK_PANEL_CONTEXTUAL;
|
||||
else {
|
||||
win->popup.active_con = 0;
|
||||
win->popup.type = NK_PANEL_NONE;
|
||||
if (win->popup.win)
|
||||
win->popup.win->flags = 0;
|
||||
if (ret) win->popup.type = NK_PANEL_CONTEXTUAL;
|
||||
else {
|
||||
win->popup.active_con = 0;
|
||||
win->popup.type = NK_PANEL_NONE;
|
||||
if (win->popup.win)
|
||||
win->popup.win->flags = 0;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
@ -94,6 +94,9 @@ nk_edit_draw_text(struct nk_command_buffer *out,
|
||||
txt.background = background;
|
||||
txt.text = foreground;
|
||||
|
||||
foreground = nk_rgb_factor(foreground, style->color_factor);
|
||||
background = nk_rgb_factor(background, style->color_factor);
|
||||
|
||||
glyph_len = nk_utf_decode(text+text_len, &unicode, byte_len-text_len);
|
||||
if (!glyph_len) return;
|
||||
while ((text_len < byte_len) && glyph_len)
|
||||
@ -331,14 +334,14 @@ nk_do_edit(nk_flags *state, struct nk_command_buffer *out,
|
||||
/* draw background frame */
|
||||
switch(background->type) {
|
||||
case NK_STYLE_ITEM_IMAGE:
|
||||
nk_draw_image(out, bounds, &background->data.image, nk_white);
|
||||
nk_draw_image(out, bounds, &background->data.image, nk_rgb_factor(nk_white, style->color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_NINE_SLICE:
|
||||
nk_draw_nine_slice(out, bounds, &background->data.slice, nk_white);
|
||||
nk_draw_nine_slice(out, bounds, &background->data.slice, nk_rgb_factor(nk_white, style->color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(out, bounds, style->rounding, background->data.color);
|
||||
nk_stroke_rect(out, bounds, style->rounding, style->border, style->border_color);
|
||||
nk_fill_rect(out, bounds, style->rounding, nk_rgb_factor(background->data.color, style->color_factor));
|
||||
nk_stroke_rect(out, bounds, style->rounding, style->border, nk_rgb_factor(style->border_color, style->color_factor));
|
||||
break;
|
||||
}}
|
||||
|
||||
@ -547,6 +550,8 @@ nk_do_edit(nk_flags *state, struct nk_command_buffer *out,
|
||||
else
|
||||
background_color = background->data.color;
|
||||
|
||||
cursor_color = nk_rgb_factor(cursor_color, style->color_factor);
|
||||
cursor_text_color = nk_rgb_factor(cursor_text_color, style->color_factor);
|
||||
|
||||
if (edit->select_start == edit->select_end) {
|
||||
/* no selection so just draw the complete text */
|
||||
@ -654,6 +659,10 @@ nk_do_edit(nk_flags *state, struct nk_command_buffer *out,
|
||||
background_color = nk_rgba(0,0,0,0);
|
||||
else
|
||||
background_color = background->data.color;
|
||||
|
||||
background_color = nk_rgb_factor(background_color, style->color_factor);
|
||||
text_color = nk_rgb_factor(text_color, style->color_factor);
|
||||
|
||||
nk_edit_draw_text(out, style, area.x - edit->scrollbar.x,
|
||||
area.y - edit->scrollbar.y, 0, begin, l, row_height, font,
|
||||
background_color, text_color, nk_false);
|
||||
@ -773,6 +782,8 @@ nk_edit_buffer(struct nk_context *ctx, nk_flags flags,
|
||||
style = &ctx->style;
|
||||
state = nk_widget(&bounds, ctx);
|
||||
if (!state) return state;
|
||||
else if (state == NK_WIDGET_DISABLED)
|
||||
flags |= NK_EDIT_READ_ONLY;
|
||||
in = (win->layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
|
||||
/* check if edit is currently hot item */
|
||||
|
@ -128,7 +128,7 @@ nk_menu_begin_text(struct nk_context *ctx, const char *title, int len,
|
||||
win = ctx->current;
|
||||
state = nk_widget(&header, ctx);
|
||||
if (!state) return 0;
|
||||
in = (state == NK_WIDGET_ROM || win->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || win->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
if (nk_do_button_text(&ctx->last_widget_state, &win->buffer, header,
|
||||
title, len, align, NK_BUTTON_DEFAULT, &ctx->style.menu_button, in, ctx->style.font))
|
||||
is_clicked = nk_true;
|
||||
@ -158,7 +158,7 @@ nk_menu_begin_image(struct nk_context *ctx, const char *id, struct nk_image img,
|
||||
win = ctx->current;
|
||||
state = nk_widget(&header, ctx);
|
||||
if (!state) return 0;
|
||||
in = (state == NK_WIDGET_ROM || win->layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || win->layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
if (nk_do_button_image(&ctx->last_widget_state, &win->buffer, header,
|
||||
img, NK_BUTTON_DEFAULT, &ctx->style.menu_button, in))
|
||||
is_clicked = nk_true;
|
||||
@ -183,7 +183,7 @@ nk_menu_begin_symbol(struct nk_context *ctx, const char *id,
|
||||
win = ctx->current;
|
||||
state = nk_widget(&header, ctx);
|
||||
if (!state) return 0;
|
||||
in = (state == NK_WIDGET_ROM || win->layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || win->layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
if (nk_do_button_symbol(&ctx->last_widget_state, &win->buffer, header,
|
||||
sym, NK_BUTTON_DEFAULT, &ctx->style.menu_button, in, ctx->style.font))
|
||||
is_clicked = nk_true;
|
||||
@ -208,7 +208,7 @@ nk_menu_begin_image_text(struct nk_context *ctx, const char *title, int len,
|
||||
win = ctx->current;
|
||||
state = nk_widget(&header, ctx);
|
||||
if (!state) return 0;
|
||||
in = (state == NK_WIDGET_ROM || win->layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || win->layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
if (nk_do_button_text_image(&ctx->last_widget_state, &win->buffer,
|
||||
header, img, title, len, align, NK_BUTTON_DEFAULT, &ctx->style.menu_button,
|
||||
ctx->style.font, in))
|
||||
@ -241,7 +241,7 @@ nk_menu_begin_symbol_text(struct nk_context *ctx, const char *title, int len,
|
||||
state = nk_widget(&header, ctx);
|
||||
if (!state) return 0;
|
||||
|
||||
in = (state == NK_WIDGET_ROM || win->layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || win->layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
if (nk_do_button_text_symbol(&ctx->last_widget_state, &win->buffer,
|
||||
header, sym, title, len, align, NK_BUTTON_DEFAULT, &ctx->style.menu_button,
|
||||
ctx->style.font, in)) is_clicked = nk_true;
|
||||
|
@ -62,28 +62,28 @@ nk_draw_progress(struct nk_command_buffer *out, nk_flags state,
|
||||
/* draw background */
|
||||
switch(background->type) {
|
||||
case NK_STYLE_ITEM_IMAGE:
|
||||
nk_draw_image(out, *bounds, &background->data.image, nk_white);
|
||||
nk_draw_image(out, *bounds, &background->data.image, nk_rgb_factor(nk_white, style->color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_NINE_SLICE:
|
||||
nk_draw_nine_slice(out, *bounds, &background->data.slice, nk_white);
|
||||
nk_draw_nine_slice(out, *bounds, &background->data.slice, nk_rgb_factor(nk_white, style->color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(out, *bounds, style->rounding, background->data.color);
|
||||
nk_stroke_rect(out, *bounds, style->rounding, style->border, style->border_color);
|
||||
nk_fill_rect(out, *bounds, style->rounding, nk_rgb_factor(background->data.color, style->color_factor));
|
||||
nk_stroke_rect(out, *bounds, style->rounding, style->border, nk_rgb_factor(style->border_color, style->color_factor));
|
||||
break;
|
||||
}
|
||||
|
||||
/* draw cursor */
|
||||
switch(cursor->type) {
|
||||
case NK_STYLE_ITEM_IMAGE:
|
||||
nk_draw_image(out, *scursor, &cursor->data.image, nk_white);
|
||||
nk_draw_image(out, *scursor, &cursor->data.image, nk_rgb_factor(nk_white, style->color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_NINE_SLICE:
|
||||
nk_draw_nine_slice(out, *scursor, &cursor->data.slice, nk_white);
|
||||
nk_draw_nine_slice(out, *scursor, &cursor->data.slice, nk_rgb_factor(nk_white, style->color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(out, *scursor, style->rounding, cursor->data.color);
|
||||
nk_stroke_rect(out, *scursor, style->rounding, style->border, style->border_color);
|
||||
nk_fill_rect(out, *scursor, style->rounding, nk_rgb_factor(cursor->data.color, style->color_factor));
|
||||
nk_stroke_rect(out, *scursor, style->rounding, style->border, nk_rgb_factor(style->border_color, style->color_factor));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -143,7 +143,7 @@ nk_progress(struct nk_context *ctx, nk_size *cur, nk_size max, nk_bool is_modify
|
||||
state = nk_widget(&bounds, ctx);
|
||||
if (!state) return 0;
|
||||
|
||||
in = (state == NK_WIDGET_ROM || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
old_value = *cur;
|
||||
*cur = nk_do_progress(&ctx->last_widget_state, &win->buffer, bounds,
|
||||
*cur, max, is_modifyable, &style->progress, in);
|
||||
|
@ -85,20 +85,22 @@ nk_draw_property(struct nk_command_buffer *out, const struct nk_style_property *
|
||||
text.text = style->label_normal;
|
||||
}
|
||||
|
||||
text.text = nk_rgb_factor(text.text, style->color_factor);
|
||||
|
||||
/* draw background */
|
||||
switch(background->type) {
|
||||
case NK_STYLE_ITEM_IMAGE:
|
||||
text.background = nk_rgba(0, 0, 0, 0);
|
||||
nk_draw_image(out, *bounds, &background->data.image, nk_white);
|
||||
nk_draw_image(out, *bounds, &background->data.image, nk_rgb_factor(nk_white, style->color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_NINE_SLICE:
|
||||
text.background = nk_rgba(0, 0, 0, 0);
|
||||
nk_draw_nine_slice(out, *bounds, &background->data.slice, nk_white);
|
||||
nk_draw_nine_slice(out, *bounds, &background->data.slice, nk_rgb_factor(nk_white, style->color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
text.background = background->data.color;
|
||||
nk_fill_rect(out, *bounds, style->rounding, background->data.color);
|
||||
nk_stroke_rect(out, *bounds, style->rounding, style->border, background->data.color);
|
||||
nk_fill_rect(out, *bounds, style->rounding, nk_rgb_factor(background->data.color, style->color_factor));
|
||||
nk_stroke_rect(out, *bounds, style->rounding, style->border, nk_rgb_factor(background->data.color, style->color_factor));
|
||||
break;
|
||||
}
|
||||
|
||||
@ -383,7 +385,7 @@ nk_property(struct nk_context *ctx, const char *name, struct nk_property_variant
|
||||
old_state = *state;
|
||||
ctx->text_edit.clip = ctx->clip;
|
||||
in = ((s == NK_WIDGET_ROM && !win->property.active) ||
|
||||
layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
layout->flags & NK_WINDOW_ROM || s == NK_WIDGET_DISABLED) ? 0 : &ctx->input;
|
||||
nk_do_property(&ctx->last_widget_state, &win->buffer, bounds, name,
|
||||
variant, inc_per_pixel, buffer, len, state, cursor, select_begin,
|
||||
select_end, &style->property, filter, in, style->font, &ctx->text_edit,
|
||||
|
@ -41,15 +41,18 @@ nk_draw_selectable(struct nk_command_buffer *out,
|
||||
text.text = style->text_normal_active;
|
||||
}
|
||||
}
|
||||
|
||||
text.text = nk_rgb_factor(text.text, style->color_factor);
|
||||
|
||||
/* draw selectable background and text */
|
||||
switch (background->type) {
|
||||
case NK_STYLE_ITEM_IMAGE:
|
||||
text.background = nk_rgba(0, 0, 0, 0);
|
||||
nk_draw_image(out, *bounds, &background->data.image, nk_white);
|
||||
nk_draw_image(out, *bounds, &background->data.image, nk_rgb_factor(nk_white, style->color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_NINE_SLICE:
|
||||
text.background = nk_rgba(0, 0, 0, 0);
|
||||
nk_draw_nine_slice(out, *bounds, &background->data.slice, nk_white);
|
||||
nk_draw_nine_slice(out, *bounds, &background->data.slice, nk_rgb_factor(nk_white, style->color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
text.background = background->data.color;
|
||||
@ -57,7 +60,7 @@ nk_draw_selectable(struct nk_command_buffer *out,
|
||||
break;
|
||||
}
|
||||
if (icon) {
|
||||
if (img) nk_draw_image(out, *icon, img, nk_white);
|
||||
if (img) nk_draw_image(out, *icon, img, nk_rgb_factor(nk_white, style->color_factor));
|
||||
else nk_draw_symbol(out, sym, *icon, text.background, text.text, 1, font);
|
||||
}
|
||||
nk_widget_text(out, *bounds, string, len, &text, align, font);
|
||||
@ -218,7 +221,7 @@ nk_selectable_text(struct nk_context *ctx, const char *str, int len,
|
||||
|
||||
state = nk_widget(&bounds, ctx);
|
||||
if (!state) return 0;
|
||||
in = (state == NK_WIDGET_ROM || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
return nk_do_selectable(&ctx->last_widget_state, &win->buffer, bounds,
|
||||
str, len, align, value, &style->selectable, in, style->font);
|
||||
}
|
||||
@ -247,7 +250,7 @@ nk_selectable_image_text(struct nk_context *ctx, struct nk_image img,
|
||||
|
||||
state = nk_widget(&bounds, ctx);
|
||||
if (!state) return 0;
|
||||
in = (state == NK_WIDGET_ROM || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
return nk_do_selectable_image(&ctx->last_widget_state, &win->buffer, bounds,
|
||||
str, len, align, value, &img, &style->selectable, in, style->font);
|
||||
}
|
||||
@ -276,7 +279,7 @@ nk_selectable_symbol_text(struct nk_context *ctx, enum nk_symbol_type sym,
|
||||
|
||||
state = nk_widget(&bounds, ctx);
|
||||
if (!state) return 0;
|
||||
in = (state == NK_WIDGET_ROM || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
return nk_do_selectable_symbol(&ctx->last_widget_state, &win->buffer, bounds,
|
||||
str, len, align, value, sym, &style->selectable, in, style->font);
|
||||
}
|
||||
|
@ -78,6 +78,7 @@ nk_draw_slider(struct nk_command_buffer *out, nk_flags state,
|
||||
bar_color = style->bar_normal;
|
||||
cursor = &style->cursor_normal;
|
||||
}
|
||||
|
||||
/* calculate slider background bar */
|
||||
bar.x = bounds->x;
|
||||
bar.y = (visual_cursor->y + visual_cursor->h/2) - bounds->h/12;
|
||||
@ -93,26 +94,26 @@ nk_draw_slider(struct nk_command_buffer *out, nk_flags state,
|
||||
/* draw background */
|
||||
switch(background->type) {
|
||||
case NK_STYLE_ITEM_IMAGE:
|
||||
nk_draw_image(out, *bounds, &background->data.image, nk_white);
|
||||
nk_draw_image(out, *bounds, &background->data.image, nk_rgb_factor(nk_white, style->color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_NINE_SLICE:
|
||||
nk_draw_nine_slice(out, *bounds, &background->data.slice, nk_white);
|
||||
nk_draw_nine_slice(out, *bounds, &background->data.slice, nk_rgb_factor(nk_white, style->color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(out, *bounds, style->rounding, background->data.color);
|
||||
nk_stroke_rect(out, *bounds, style->rounding, style->border, style->border_color);
|
||||
nk_fill_rect(out, *bounds, style->rounding, nk_rgb_factor(background->data.color, style->color_factor));
|
||||
nk_stroke_rect(out, *bounds, style->rounding, style->border, nk_rgb_factor(style->border_color, style->color_factor));
|
||||
break;
|
||||
}
|
||||
|
||||
/* draw slider bar */
|
||||
nk_fill_rect(out, bar, style->rounding, bar_color);
|
||||
nk_fill_rect(out, fill, style->rounding, style->bar_filled);
|
||||
nk_fill_rect(out, bar, style->rounding, nk_rgb_factor(bar_color, style->color_factor));
|
||||
nk_fill_rect(out, fill, style->rounding, nk_rgb_factor(style->bar_filled, style->color_factor));
|
||||
|
||||
/* draw cursor */
|
||||
if (cursor->type == NK_STYLE_ITEM_IMAGE)
|
||||
nk_draw_image(out, *visual_cursor, &cursor->data.image, nk_white);
|
||||
nk_draw_image(out, *visual_cursor, &cursor->data.image, nk_rgb_factor(nk_white, style->color_factor));
|
||||
else
|
||||
nk_fill_circle(out, *visual_cursor, cursor->data.color);
|
||||
nk_fill_circle(out, *visual_cursor, nk_rgb_factor(cursor->data.color, style->color_factor));
|
||||
}
|
||||
NK_LIB float
|
||||
nk_do_slider(nk_flags *state,
|
||||
@ -230,7 +231,7 @@ nk_slider_float(struct nk_context *ctx, float min_value, float *value, float max
|
||||
|
||||
state = nk_widget(&bounds, ctx);
|
||||
if (!state) return ret;
|
||||
in = (/*state == NK_WIDGET_ROM || */ layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (/*state == NK_WIDGET_ROM || */ state == NK_WIDGET_DISABLED || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
|
||||
old_value = *value;
|
||||
*value = nk_do_slider(&ctx->last_widget_state, &win->buffer, bounds, min_value,
|
||||
|
@ -113,27 +113,32 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
text = &style->text;
|
||||
text->color = table[NK_COLOR_TEXT];
|
||||
text->padding = nk_vec2(0,0);
|
||||
text->color_factor = 1.0f;
|
||||
text->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
|
||||
/* default button */
|
||||
button = &style->button;
|
||||
nk_zero_struct(*button);
|
||||
button->normal = nk_style_item_color(table[NK_COLOR_BUTTON]);
|
||||
button->hover = nk_style_item_color(table[NK_COLOR_BUTTON_HOVER]);
|
||||
button->active = nk_style_item_color(table[NK_COLOR_BUTTON_ACTIVE]);
|
||||
button->border_color = table[NK_COLOR_BORDER];
|
||||
button->text_background = table[NK_COLOR_BUTTON];
|
||||
button->text_normal = table[NK_COLOR_TEXT];
|
||||
button->text_hover = table[NK_COLOR_TEXT];
|
||||
button->text_active = table[NK_COLOR_TEXT];
|
||||
button->padding = nk_vec2(2.0f,2.0f);
|
||||
button->image_padding = nk_vec2(0.0f,0.0f);
|
||||
button->touch_padding = nk_vec2(0.0f, 0.0f);
|
||||
button->userdata = nk_handle_ptr(0);
|
||||
button->text_alignment = NK_TEXT_CENTERED;
|
||||
button->border = 1.0f;
|
||||
button->rounding = 4.0f;
|
||||
button->draw_begin = 0;
|
||||
button->draw_end = 0;
|
||||
button->normal = nk_style_item_color(table[NK_COLOR_BUTTON]);
|
||||
button->hover = nk_style_item_color(table[NK_COLOR_BUTTON_HOVER]);
|
||||
button->active = nk_style_item_color(table[NK_COLOR_BUTTON_ACTIVE]);
|
||||
button->border_color = table[NK_COLOR_BORDER];
|
||||
button->text_background = table[NK_COLOR_BUTTON];
|
||||
button->text_normal = table[NK_COLOR_TEXT];
|
||||
button->text_hover = table[NK_COLOR_TEXT];
|
||||
button->text_active = table[NK_COLOR_TEXT];
|
||||
button->padding = nk_vec2(2.0f,2.0f);
|
||||
button->image_padding = nk_vec2(0.0f,0.0f);
|
||||
button->touch_padding = nk_vec2(0.0f, 0.0f);
|
||||
button->userdata = nk_handle_ptr(0);
|
||||
button->text_alignment = NK_TEXT_CENTERED;
|
||||
button->border = 1.0f;
|
||||
button->rounding = 4.0f;
|
||||
button->color_factor_text = 1.0f;
|
||||
button->color_factor_background = 1.0f;
|
||||
button->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
button->draw_begin = 0;
|
||||
button->draw_end = 0;
|
||||
|
||||
/* contextual button */
|
||||
button = &style->contextual_button;
|
||||
@ -152,6 +157,9 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
button->text_alignment = NK_TEXT_CENTERED;
|
||||
button->border = 0.0f;
|
||||
button->rounding = 0.0f;
|
||||
button->color_factor_text = 1.0f;
|
||||
button->color_factor_background = 1.0f;
|
||||
button->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
button->draw_begin = 0;
|
||||
button->draw_end = 0;
|
||||
|
||||
@ -172,6 +180,9 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
button->text_alignment = NK_TEXT_CENTERED;
|
||||
button->border = 0.0f;
|
||||
button->rounding = 1.0f;
|
||||
button->color_factor_text = 1.0f;
|
||||
button->color_factor_background = 1.0f;
|
||||
button->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
button->draw_begin = 0;
|
||||
button->draw_end = 0;
|
||||
|
||||
@ -193,6 +204,8 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
toggle->border_color = nk_rgba(0,0,0,0);
|
||||
toggle->border = 0.0f;
|
||||
toggle->spacing = 4;
|
||||
toggle->color_factor = 1.0f;
|
||||
toggle->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
|
||||
/* option toggle */
|
||||
toggle = &style->option;
|
||||
@ -212,6 +225,8 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
toggle->border_color = nk_rgba(0,0,0,0);
|
||||
toggle->border = 0.0f;
|
||||
toggle->spacing = 4;
|
||||
toggle->color_factor = 1.0f;
|
||||
toggle->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
|
||||
/* selectable */
|
||||
select = &style->selectable;
|
||||
@ -233,6 +248,8 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
select->touch_padding = nk_vec2(0,0);
|
||||
select->userdata = nk_handle_ptr(0);
|
||||
select->rounding = 0.0f;
|
||||
select->color_factor = 1.0f;
|
||||
select->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
select->draw_begin = 0;
|
||||
select->draw_end = 0;
|
||||
|
||||
@ -258,6 +275,8 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
slider->show_buttons = nk_false;
|
||||
slider->bar_height = 8;
|
||||
slider->rounding = 0;
|
||||
slider->color_factor = 1.0f;
|
||||
slider->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
slider->draw_begin = 0;
|
||||
slider->draw_end = 0;
|
||||
|
||||
@ -277,6 +296,9 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
button->text_alignment = NK_TEXT_CENTERED;
|
||||
button->border = 1.0f;
|
||||
button->rounding = 0.0f;
|
||||
button->color_factor_text = 1.0f;
|
||||
button->color_factor_background = 1.0f;
|
||||
button->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
button->draw_begin = 0;
|
||||
button->draw_end = 0;
|
||||
style->slider.dec_button = style->slider.inc_button;
|
||||
@ -298,6 +320,8 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
prog->border = 0;
|
||||
prog->cursor_rounding = 0;
|
||||
prog->cursor_border = 0;
|
||||
prog->color_factor = 1.0f;
|
||||
prog->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
prog->draw_begin = 0;
|
||||
prog->draw_end = 0;
|
||||
|
||||
@ -321,6 +345,8 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
scroll->rounding = 0;
|
||||
scroll->border_cursor = 0;
|
||||
scroll->rounding_cursor = 0;
|
||||
scroll->color_factor = 1.0f;
|
||||
scroll->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
scroll->draw_begin = 0;
|
||||
scroll->draw_end = 0;
|
||||
style->scrollv = style->scrollh;
|
||||
@ -341,6 +367,9 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
button->text_alignment = NK_TEXT_CENTERED;
|
||||
button->border = 1.0f;
|
||||
button->rounding = 0.0f;
|
||||
button->color_factor_text = 1.0f;
|
||||
button->color_factor_background = 1.0f;
|
||||
button->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
button->draw_begin = 0;
|
||||
button->draw_end = 0;
|
||||
style->scrollh.dec_button = style->scrollh.inc_button;
|
||||
@ -372,6 +401,8 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
edit->cursor_size = 4;
|
||||
edit->border = 1;
|
||||
edit->rounding = 0;
|
||||
edit->color_factor = 1.0f;
|
||||
edit->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
|
||||
/* property */
|
||||
property = &style->property;
|
||||
@ -391,6 +422,8 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
property->rounding = 10;
|
||||
property->draw_begin = 0;
|
||||
property->draw_end = 0;
|
||||
property->color_factor = 1.0f;
|
||||
property->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
|
||||
/* property buttons */
|
||||
button = &style->property.dec_button;
|
||||
@ -409,6 +442,9 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
button->text_alignment = NK_TEXT_CENTERED;
|
||||
button->border = 0.0f;
|
||||
button->rounding = 0.0f;
|
||||
button->color_factor_text = 1.0f;
|
||||
button->color_factor_background = 1.0f;
|
||||
button->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
button->draw_begin = 0;
|
||||
button->draw_end = 0;
|
||||
style->property.inc_button = style->property.dec_button;
|
||||
@ -435,6 +471,8 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
edit->cursor_size = 8;
|
||||
edit->border = 0;
|
||||
edit->rounding = 0;
|
||||
edit->color_factor = 1.0f;
|
||||
edit->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
|
||||
/* chart */
|
||||
chart = &style->chart;
|
||||
@ -446,6 +484,8 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
chart->padding = nk_vec2(4,4);
|
||||
chart->border = 0;
|
||||
chart->rounding = 0;
|
||||
chart->color_factor = 1.0f;
|
||||
chart->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
|
||||
/* combo */
|
||||
combo = &style->combo;
|
||||
@ -464,6 +504,8 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
combo->spacing = nk_vec2(4,0);
|
||||
combo->border = 1;
|
||||
combo->rounding = 0;
|
||||
combo->color_factor = 1.0f;
|
||||
combo->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
|
||||
/* combo button */
|
||||
button = &style->combo.button;
|
||||
@ -482,6 +524,9 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
button->text_alignment = NK_TEXT_CENTERED;
|
||||
button->border = 0.0f;
|
||||
button->rounding = 0.0f;
|
||||
button->color_factor_text = 1.0f;
|
||||
button->color_factor_background = 1.0f;
|
||||
button->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
button->draw_begin = 0;
|
||||
button->draw_end = 0;
|
||||
|
||||
@ -497,6 +542,8 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
tab->indent = 10.0f;
|
||||
tab->border = 1;
|
||||
tab->rounding = 0;
|
||||
tab->color_factor = 1.0f;
|
||||
tab->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
|
||||
/* tab button */
|
||||
button = &style->tab.tab_minimize_button;
|
||||
@ -515,6 +562,9 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
button->text_alignment = NK_TEXT_CENTERED;
|
||||
button->border = 0.0f;
|
||||
button->rounding = 0.0f;
|
||||
button->color_factor_text = 1.0f;
|
||||
button->color_factor_background = 1.0f;
|
||||
button->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
button->draw_begin = 0;
|
||||
button->draw_end = 0;
|
||||
style->tab.tab_maximize_button =*button;
|
||||
@ -536,6 +586,9 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
button->text_alignment = NK_TEXT_CENTERED;
|
||||
button->border = 0.0f;
|
||||
button->rounding = 0.0f;
|
||||
button->color_factor_text = 1.0f;
|
||||
button->color_factor_background = 1.0f;
|
||||
button->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
button->draw_begin = 0;
|
||||
button->draw_end = 0;
|
||||
style->tab.node_maximize_button =*button;
|
||||
@ -573,6 +626,9 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
button->text_alignment = NK_TEXT_CENTERED;
|
||||
button->border = 0.0f;
|
||||
button->rounding = 0.0f;
|
||||
button->color_factor_text = 1.0f;
|
||||
button->color_factor_background = 1.0f;
|
||||
button->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
button->draw_begin = 0;
|
||||
button->draw_end = 0;
|
||||
|
||||
@ -593,6 +649,9 @@ nk_style_from_table(struct nk_context *ctx, const struct nk_color *table)
|
||||
button->text_alignment = NK_TEXT_CENTERED;
|
||||
button->border = 0.0f;
|
||||
button->rounding = 0.0f;
|
||||
button->color_factor_text = 1.0f;
|
||||
button->color_factor_background = 1.0f;
|
||||
button->disabled_factor = NK_WIDGET_DISABLED_FACTOR;
|
||||
button->draw_begin = 0;
|
||||
button->draw_end = 0;
|
||||
|
||||
|
@ -114,7 +114,7 @@ nk_text_colored(struct nk_context *ctx, const char *str, int len,
|
||||
text.padding.x = item_padding.x;
|
||||
text.padding.y = item_padding.y;
|
||||
text.background = style->window.background;
|
||||
text.text = color;
|
||||
text.text = nk_rgb_factor(color, style->text.color_factor);
|
||||
nk_widget_text(&win->buffer, bounds, str, len, &text, alignment, style->font);
|
||||
}
|
||||
NK_API void
|
||||
@ -141,7 +141,7 @@ nk_text_wrap_colored(struct nk_context *ctx, const char *str,
|
||||
text.padding.x = item_padding.x;
|
||||
text.padding.y = item_padding.y;
|
||||
text.background = style->window.background;
|
||||
text.text = color;
|
||||
text.text = nk_rgb_factor(color, style->text.color_factor);
|
||||
nk_widget_text_wrap(&win->buffer, bounds, str, len, &text, style->font);
|
||||
}
|
||||
#ifdef NK_INCLUDE_STANDARD_VARARGS
|
||||
|
@ -47,6 +47,7 @@ nk_draw_checkbox(struct nk_command_buffer *out,
|
||||
text.text = style->text_normal;
|
||||
}
|
||||
|
||||
text.text = nk_rgb_factor(text.text, style->color_factor);
|
||||
text.padding.x = 0;
|
||||
text.padding.y = 0;
|
||||
text.background = style->text_background;
|
||||
@ -54,12 +55,12 @@ nk_draw_checkbox(struct nk_command_buffer *out,
|
||||
|
||||
/* draw background and cursor */
|
||||
if (background->type == NK_STYLE_ITEM_COLOR) {
|
||||
nk_fill_rect(out, *selector, 0, style->border_color);
|
||||
nk_fill_rect(out, nk_shrink_rect(*selector, style->border), 0, background->data.color);
|
||||
} else nk_draw_image(out, *selector, &background->data.image, nk_white);
|
||||
nk_fill_rect(out, *selector, 0, nk_rgb_factor(style->border_color, style->color_factor));
|
||||
nk_fill_rect(out, nk_shrink_rect(*selector, style->border), 0, nk_rgb_factor(background->data.color, style->color_factor));
|
||||
} else nk_draw_image(out, *selector, &background->data.image, nk_rgb_factor(nk_white, style->color_factor));
|
||||
if (active) {
|
||||
if (cursor->type == NK_STYLE_ITEM_IMAGE)
|
||||
nk_draw_image(out, *cursors, &cursor->data.image, nk_white);
|
||||
nk_draw_image(out, *cursors, &cursor->data.image, nk_rgb_factor(nk_white, style->color_factor));
|
||||
else nk_fill_rect(out, *cursors, 0, cursor->data.color);
|
||||
}
|
||||
}
|
||||
@ -89,6 +90,7 @@ nk_draw_option(struct nk_command_buffer *out,
|
||||
text.text = style->text_normal;
|
||||
}
|
||||
|
||||
text.text = nk_rgb_factor(text.text, style->color_factor);
|
||||
text.padding.x = 0;
|
||||
text.padding.y = 0;
|
||||
text.background = style->text_background;
|
||||
@ -96,12 +98,12 @@ nk_draw_option(struct nk_command_buffer *out,
|
||||
|
||||
/* draw background and cursor */
|
||||
if (background->type == NK_STYLE_ITEM_COLOR) {
|
||||
nk_fill_circle(out, *selector, style->border_color);
|
||||
nk_fill_circle(out, nk_shrink_rect(*selector, style->border), background->data.color);
|
||||
} else nk_draw_image(out, *selector, &background->data.image, nk_white);
|
||||
nk_fill_circle(out, *selector, nk_rgb_factor(style->border_color, style->color_factor));
|
||||
nk_fill_circle(out, nk_shrink_rect(*selector, style->border), nk_rgb_factor(background->data.color, style->color_factor));
|
||||
} else nk_draw_image(out, *selector, &background->data.image, nk_rgb_factor(nk_white, style->color_factor));
|
||||
if (active) {
|
||||
if (cursor->type == NK_STYLE_ITEM_IMAGE)
|
||||
nk_draw_image(out, *cursors, &cursor->data.image, nk_white);
|
||||
nk_draw_image(out, *cursors, &cursor->data.image, nk_rgb_factor(nk_white, style->color_factor));
|
||||
else nk_fill_circle(out, *cursors, cursor->data.color);
|
||||
}
|
||||
}
|
||||
@ -209,7 +211,7 @@ nk_check_text(struct nk_context *ctx, const char *text, int len, nk_bool active,
|
||||
|
||||
state = nk_widget(&bounds, ctx);
|
||||
if (!state) return active;
|
||||
in = (state == NK_WIDGET_ROM || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
nk_do_toggle(&ctx->last_widget_state, &win->buffer, bounds, &active,
|
||||
text, len, NK_TOGGLE_CHECK, &style->checkbox, in, style->font, alignment);
|
||||
return active;
|
||||
@ -304,7 +306,7 @@ nk_option_text(struct nk_context *ctx, const char *text, int len, nk_bool is_act
|
||||
|
||||
state = nk_widget(&bounds, ctx);
|
||||
if (!state) return (int)state;
|
||||
in = (state == NK_WIDGET_ROM || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
|
||||
nk_do_toggle(&ctx->last_widget_state, &win->buffer, bounds, &is_active,
|
||||
text, len, NK_TOGGLE_OPTION, &style->option, in, style->font, alignment);
|
||||
return is_active;
|
||||
|
@ -52,15 +52,15 @@ nk_tree_state_base(struct nk_context *ctx, enum nk_tree_type type,
|
||||
|
||||
switch(background->type) {
|
||||
case NK_STYLE_ITEM_IMAGE:
|
||||
nk_draw_image(out, header, &background->data.image, nk_white);
|
||||
nk_draw_image(out, header, &background->data.image, nk_rgb_factor(nk_white, style->tab.color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_NINE_SLICE:
|
||||
nk_draw_nine_slice(out, header, &background->data.slice, nk_white);
|
||||
nk_draw_nine_slice(out, header, &background->data.slice, nk_rgb_factor(nk_white, style->tab.color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(out, header, 0, style->tab.border_color);
|
||||
nk_fill_rect(out, header, 0, nk_rgb_factor(style->tab.border_color, style->tab.color_factor));
|
||||
nk_fill_rect(out, nk_shrink_rect(header, style->tab.border),
|
||||
style->tab.rounding, background->data.color);
|
||||
style->tab.rounding, nk_rgb_factor(background->data.color, style->tab.color_factor));
|
||||
break;
|
||||
}
|
||||
} else text.background = style->window.background;
|
||||
@ -105,7 +105,7 @@ nk_tree_state_base(struct nk_context *ctx, enum nk_tree_type type,
|
||||
label.y = sym.y;
|
||||
label.w = header.w - (sym.w + item_spacing.y + style->tab.indent);
|
||||
label.h = style->font->height;
|
||||
text.text = style->tab.text;
|
||||
text.text = nk_rgb_factor(style->tab.text, style->tab.color_factor);
|
||||
text.padding = nk_vec2(0,0);
|
||||
nk_widget_text(out, label, title, nk_strlen(title), &text,
|
||||
NK_TEXT_LEFT, style->font);}
|
||||
@ -242,15 +242,16 @@ nk_tree_element_image_push_hashed_base(struct nk_context *ctx, enum nk_tree_type
|
||||
|
||||
switch (background->type) {
|
||||
case NK_STYLE_ITEM_IMAGE:
|
||||
nk_draw_image(out, header, &background->data.image, nk_white);
|
||||
nk_draw_image(out, header, &background->data.image, nk_rgb_factor(nk_white, style->tab.color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_NINE_SLICE:
|
||||
nk_draw_nine_slice(out, header, &background->data.slice, nk_white);
|
||||
nk_draw_nine_slice(out, header, &background->data.slice, nk_rgb_factor(nk_white, style->tab.color_factor));
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(out, header, 0, style->tab.border_color);
|
||||
nk_fill_rect(out, header, 0, nk_rgb_factor(style->tab.border_color, style->tab.color_factor));
|
||||
nk_fill_rect(out, nk_shrink_rect(header, style->tab.border),
|
||||
style->tab.rounding, background->data.color);
|
||||
style->tab.rounding, nk_rgb_factor(background->data.color, style->tab.color_factor));
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -175,6 +175,8 @@ nk_widget(struct nk_rect *bounds, const struct nk_context *ctx)
|
||||
nk_unify(&v, &c, bounds->x, bounds->y, bounds->x + bounds->w, bounds->y + bounds->h);
|
||||
if (!NK_INTERSECT(c.x, c.y, c.w, c.h, bounds->x, bounds->y, bounds->w, bounds->h))
|
||||
return NK_WIDGET_INVALID;
|
||||
if (win->widgets_disabled)
|
||||
return NK_WIDGET_DISABLED;
|
||||
if (!NK_INBOX(in->mouse.pos.x, in->mouse.pos.y, v.x, v.y, v.w, v.h))
|
||||
return NK_WIDGET_ROM;
|
||||
return NK_WIDGET_VALID;
|
||||
@ -227,4 +229,129 @@ nk_spacing(struct nk_context *ctx, int cols)
|
||||
nk_panel_alloc_space(&none, ctx);
|
||||
} layout->row.index = index;
|
||||
}
|
||||
NK_API void
|
||||
nk_widget_disable_begin(struct nk_context* ctx)
|
||||
{
|
||||
struct nk_window* win;
|
||||
struct nk_style* style;
|
||||
|
||||
NK_ASSERT(ctx);
|
||||
NK_ASSERT(ctx->current);
|
||||
|
||||
if (!ctx || !ctx->current)
|
||||
return;
|
||||
|
||||
win = ctx->current;
|
||||
style = &ctx->style;
|
||||
|
||||
win->widgets_disabled = nk_true;
|
||||
|
||||
style->button.color_factor_text = style->button.disabled_factor;
|
||||
style->button.color_factor_background = style->button.disabled_factor;
|
||||
style->chart.color_factor = style->chart.disabled_factor;
|
||||
style->checkbox.color_factor = style->checkbox.disabled_factor;
|
||||
style->combo.color_factor = style->combo.disabled_factor;
|
||||
style->combo.button.color_factor_text = style->combo.button.disabled_factor;
|
||||
style->combo.button.color_factor_background = style->combo.button.disabled_factor;
|
||||
style->contextual_button.color_factor_text = style->contextual_button.disabled_factor;
|
||||
style->contextual_button.color_factor_background = style->contextual_button.disabled_factor;
|
||||
style->edit.color_factor = style->edit.disabled_factor;
|
||||
style->edit.scrollbar.color_factor = style->edit.scrollbar.disabled_factor;
|
||||
style->menu_button.color_factor_text = style->menu_button.disabled_factor;
|
||||
style->menu_button.color_factor_background = style->menu_button.disabled_factor;
|
||||
style->option.color_factor = style->option.disabled_factor;
|
||||
style->progress.color_factor = style->progress.disabled_factor;
|
||||
style->property.color_factor = style->property.disabled_factor;
|
||||
style->property.inc_button.color_factor_text = style->property.inc_button.disabled_factor;
|
||||
style->property.inc_button.color_factor_background = style->property.inc_button.disabled_factor;
|
||||
style->property.dec_button.color_factor_text = style->property.dec_button.disabled_factor;
|
||||
style->property.dec_button.color_factor_background = style->property.dec_button.disabled_factor;
|
||||
style->property.edit.color_factor = style->property.edit.disabled_factor;
|
||||
style->scrollh.color_factor = style->scrollh.disabled_factor;
|
||||
style->scrollh.inc_button.color_factor_text = style->scrollh.inc_button.disabled_factor;
|
||||
style->scrollh.inc_button.color_factor_background = style->scrollh.inc_button.disabled_factor;
|
||||
style->scrollh.dec_button.color_factor_text = style->scrollh.dec_button.disabled_factor;
|
||||
style->scrollh.dec_button.color_factor_background = style->scrollh.dec_button.disabled_factor;
|
||||
style->scrollv.color_factor = style->scrollv.disabled_factor;
|
||||
style->scrollv.inc_button.color_factor_text = style->scrollv.inc_button.disabled_factor;
|
||||
style->scrollv.inc_button.color_factor_background = style->scrollv.inc_button.disabled_factor;
|
||||
style->scrollv.dec_button.color_factor_text = style->scrollv.dec_button.disabled_factor;
|
||||
style->scrollv.dec_button.color_factor_background = style->scrollv.dec_button.disabled_factor;
|
||||
style->selectable.color_factor = style->selectable.disabled_factor;
|
||||
style->slider.color_factor = style->slider.disabled_factor;
|
||||
style->slider.inc_button.color_factor_text = style->slider.inc_button.disabled_factor;
|
||||
style->slider.inc_button.color_factor_background = style->slider.inc_button.disabled_factor;
|
||||
style->slider.dec_button.color_factor_text = style->slider.dec_button.disabled_factor;
|
||||
style->slider.dec_button.color_factor_background = style->slider.dec_button.disabled_factor;
|
||||
style->tab.color_factor = style->tab.disabled_factor;
|
||||
style->tab.node_maximize_button.color_factor_text = style->tab.node_maximize_button.disabled_factor;
|
||||
style->tab.node_minimize_button.color_factor_text = style->tab.node_minimize_button.disabled_factor;
|
||||
style->tab.tab_maximize_button.color_factor_text = style->tab.tab_maximize_button.disabled_factor;
|
||||
style->tab.tab_maximize_button.color_factor_background = style->tab.tab_maximize_button.disabled_factor;
|
||||
style->tab.tab_minimize_button.color_factor_text = style->tab.tab_minimize_button.disabled_factor;
|
||||
style->tab.tab_minimize_button.color_factor_background = style->tab.tab_minimize_button.disabled_factor;
|
||||
style->text.color_factor = style->text.disabled_factor;
|
||||
}
|
||||
NK_API void
|
||||
nk_widget_disable_end(struct nk_context* ctx)
|
||||
{
|
||||
struct nk_window* win;
|
||||
struct nk_style* style;
|
||||
|
||||
NK_ASSERT(ctx);
|
||||
NK_ASSERT(ctx->current);
|
||||
|
||||
if (!ctx || !ctx->current)
|
||||
return;
|
||||
|
||||
win = ctx->current;
|
||||
style = &ctx->style;
|
||||
|
||||
win->widgets_disabled = nk_false;
|
||||
|
||||
style->button.color_factor_text = 1.0f;
|
||||
style->button.color_factor_background = 1.0f;
|
||||
style->chart.color_factor = 1.0f;
|
||||
style->checkbox.color_factor = 1.0f;
|
||||
style->combo.color_factor = 1.0f;
|
||||
style->combo.button.color_factor_text = 1.0f;
|
||||
style->combo.button.color_factor_background = 1.0f;
|
||||
style->contextual_button.color_factor_text = 1.0f;
|
||||
style->contextual_button.color_factor_background = 1.0f;
|
||||
style->edit.color_factor = 1.0f;
|
||||
style->edit.scrollbar.color_factor = 1.0f;
|
||||
style->menu_button.color_factor_text = 1.0f;
|
||||
style->menu_button.color_factor_background = 1.0f;
|
||||
style->option.color_factor = 1.0f;
|
||||
style->progress.color_factor = 1.0f;
|
||||
style->property.color_factor = 1.0f;
|
||||
style->property.inc_button.color_factor_text = 1.0f;
|
||||
style->property.inc_button.color_factor_background = 1.0f;
|
||||
style->property.dec_button.color_factor_text = 1.0f;
|
||||
style->property.dec_button.color_factor_background = 1.0f;
|
||||
style->property.edit.color_factor = 1.0f;
|
||||
style->scrollh.color_factor = 1.0f;
|
||||
style->scrollh.inc_button.color_factor_text = 1.0f;
|
||||
style->scrollh.inc_button.color_factor_background = 1.0f;
|
||||
style->scrollh.dec_button.color_factor_text = 1.0f;
|
||||
style->scrollh.dec_button.color_factor_background = 1.0f;
|
||||
style->scrollv.color_factor = 1.0f;
|
||||
style->scrollv.inc_button.color_factor_text = 1.0f;
|
||||
style->scrollv.inc_button.color_factor_background = 1.0f;
|
||||
style->scrollv.dec_button.color_factor_text = 1.0f;
|
||||
style->scrollv.dec_button.color_factor_background = 1.0f;
|
||||
style->selectable.color_factor = 1.0f;
|
||||
style->slider.color_factor = 1.0f;
|
||||
style->slider.inc_button.color_factor_text = 1.0f;
|
||||
style->slider.inc_button.color_factor_background = 1.0f;
|
||||
style->slider.dec_button.color_factor_text = 1.0f;
|
||||
style->slider.dec_button.color_factor_background = 1.0f;
|
||||
style->tab.color_factor = 1.0f;
|
||||
style->tab.node_maximize_button.color_factor_text = 1.0f;
|
||||
style->tab.node_minimize_button.color_factor_text = 1.0f;
|
||||
style->tab.tab_maximize_button.color_factor_text = 1.0f;
|
||||
style->tab.tab_maximize_button.color_factor_background = 1.0f;
|
||||
style->tab.tab_minimize_button.color_factor_text = 1.0f;
|
||||
style->tab.tab_minimize_button.color_factor_background = 1.0f;
|
||||
style->text.color_factor = 1.0f;
|
||||
}
|
||||
|
@ -180,6 +180,7 @@ nk_begin_titled(struct nk_context *ctx, const char *name, const char *title,
|
||||
NK_MEMCPY(win->name_string, name, name_length);
|
||||
win->name_string[name_length] = 0;
|
||||
win->popup.win = 0;
|
||||
win->widgets_disabled = nk_false;
|
||||
if (!ctx->active)
|
||||
ctx->active = win;
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user