7e9da57c09
This introduces a new Dracula color style inspired by the [Dracula theme](https://draculatheme.com).
174 lines
9.8 KiB
C
174 lines
9.8 KiB
C
enum theme {THEME_BLACK, THEME_WHITE, THEME_RED, THEME_BLUE, THEME_DARK, THEME_DRACULA};
|
|
|
|
static void
|
|
set_style(struct nk_context *ctx, enum theme theme)
|
|
{
|
|
struct nk_color table[NK_COLOR_COUNT];
|
|
if (theme == THEME_WHITE) {
|
|
table[NK_COLOR_TEXT] = nk_rgba(70, 70, 70, 255);
|
|
table[NK_COLOR_WINDOW] = nk_rgba(175, 175, 175, 255);
|
|
table[NK_COLOR_HEADER] = nk_rgba(175, 175, 175, 255);
|
|
table[NK_COLOR_BORDER] = nk_rgba(0, 0, 0, 255);
|
|
table[NK_COLOR_BUTTON] = nk_rgba(185, 185, 185, 255);
|
|
table[NK_COLOR_BUTTON_HOVER] = nk_rgba(170, 170, 170, 255);
|
|
table[NK_COLOR_BUTTON_ACTIVE] = nk_rgba(160, 160, 160, 255);
|
|
table[NK_COLOR_TOGGLE] = nk_rgba(150, 150, 150, 255);
|
|
table[NK_COLOR_TOGGLE_HOVER] = nk_rgba(120, 120, 120, 255);
|
|
table[NK_COLOR_TOGGLE_CURSOR] = nk_rgba(175, 175, 175, 255);
|
|
table[NK_COLOR_SELECT] = nk_rgba(190, 190, 190, 255);
|
|
table[NK_COLOR_SELECT_ACTIVE] = nk_rgba(175, 175, 175, 255);
|
|
table[NK_COLOR_SLIDER] = nk_rgba(190, 190, 190, 255);
|
|
table[NK_COLOR_SLIDER_CURSOR] = nk_rgba(80, 80, 80, 255);
|
|
table[NK_COLOR_SLIDER_CURSOR_HOVER] = nk_rgba(70, 70, 70, 255);
|
|
table[NK_COLOR_SLIDER_CURSOR_ACTIVE] = nk_rgba(60, 60, 60, 255);
|
|
table[NK_COLOR_PROPERTY] = nk_rgba(175, 175, 175, 255);
|
|
table[NK_COLOR_EDIT] = nk_rgba(150, 150, 150, 255);
|
|
table[NK_COLOR_EDIT_CURSOR] = nk_rgba(0, 0, 0, 255);
|
|
table[NK_COLOR_COMBO] = nk_rgba(175, 175, 175, 255);
|
|
table[NK_COLOR_CHART] = nk_rgba(160, 160, 160, 255);
|
|
table[NK_COLOR_CHART_COLOR] = nk_rgba(45, 45, 45, 255);
|
|
table[NK_COLOR_CHART_COLOR_HIGHLIGHT] = nk_rgba( 255, 0, 0, 255);
|
|
table[NK_COLOR_SCROLLBAR] = nk_rgba(180, 180, 180, 255);
|
|
table[NK_COLOR_SCROLLBAR_CURSOR] = nk_rgba(140, 140, 140, 255);
|
|
table[NK_COLOR_SCROLLBAR_CURSOR_HOVER] = nk_rgba(150, 150, 150, 255);
|
|
table[NK_COLOR_SCROLLBAR_CURSOR_ACTIVE] = nk_rgba(160, 160, 160, 255);
|
|
table[NK_COLOR_TAB_HEADER] = nk_rgba(180, 180, 180, 255);
|
|
nk_style_from_table(ctx, table);
|
|
} else if (theme == THEME_RED) {
|
|
table[NK_COLOR_TEXT] = nk_rgba(190, 190, 190, 255);
|
|
table[NK_COLOR_WINDOW] = nk_rgba(30, 33, 40, 215);
|
|
table[NK_COLOR_HEADER] = nk_rgba(181, 45, 69, 220);
|
|
table[NK_COLOR_BORDER] = nk_rgba(51, 55, 67, 255);
|
|
table[NK_COLOR_BUTTON] = nk_rgba(181, 45, 69, 255);
|
|
table[NK_COLOR_BUTTON_HOVER] = nk_rgba(190, 50, 70, 255);
|
|
table[NK_COLOR_BUTTON_ACTIVE] = nk_rgba(195, 55, 75, 255);
|
|
table[NK_COLOR_TOGGLE] = nk_rgba(51, 55, 67, 255);
|
|
table[NK_COLOR_TOGGLE_HOVER] = nk_rgba(45, 60, 60, 255);
|
|
table[NK_COLOR_TOGGLE_CURSOR] = nk_rgba(181, 45, 69, 255);
|
|
table[NK_COLOR_SELECT] = nk_rgba(51, 55, 67, 255);
|
|
table[NK_COLOR_SELECT_ACTIVE] = nk_rgba(181, 45, 69, 255);
|
|
table[NK_COLOR_SLIDER] = nk_rgba(51, 55, 67, 255);
|
|
table[NK_COLOR_SLIDER_CURSOR] = nk_rgba(181, 45, 69, 255);
|
|
table[NK_COLOR_SLIDER_CURSOR_HOVER] = nk_rgba(186, 50, 74, 255);
|
|
table[NK_COLOR_SLIDER_CURSOR_ACTIVE] = nk_rgba(191, 55, 79, 255);
|
|
table[NK_COLOR_PROPERTY] = nk_rgba(51, 55, 67, 255);
|
|
table[NK_COLOR_EDIT] = nk_rgba(51, 55, 67, 225);
|
|
table[NK_COLOR_EDIT_CURSOR] = nk_rgba(190, 190, 190, 255);
|
|
table[NK_COLOR_COMBO] = nk_rgba(51, 55, 67, 255);
|
|
table[NK_COLOR_CHART] = nk_rgba(51, 55, 67, 255);
|
|
table[NK_COLOR_CHART_COLOR] = nk_rgba(170, 40, 60, 255);
|
|
table[NK_COLOR_CHART_COLOR_HIGHLIGHT] = nk_rgba( 255, 0, 0, 255);
|
|
table[NK_COLOR_SCROLLBAR] = nk_rgba(30, 33, 40, 255);
|
|
table[NK_COLOR_SCROLLBAR_CURSOR] = nk_rgba(64, 84, 95, 255);
|
|
table[NK_COLOR_SCROLLBAR_CURSOR_HOVER] = nk_rgba(70, 90, 100, 255);
|
|
table[NK_COLOR_SCROLLBAR_CURSOR_ACTIVE] = nk_rgba(75, 95, 105, 255);
|
|
table[NK_COLOR_TAB_HEADER] = nk_rgba(181, 45, 69, 220);
|
|
nk_style_from_table(ctx, table);
|
|
} else if (theme == THEME_BLUE) {
|
|
table[NK_COLOR_TEXT] = nk_rgba(20, 20, 20, 255);
|
|
table[NK_COLOR_WINDOW] = nk_rgba(202, 212, 214, 215);
|
|
table[NK_COLOR_HEADER] = nk_rgba(137, 182, 224, 220);
|
|
table[NK_COLOR_BORDER] = nk_rgba(140, 159, 173, 255);
|
|
table[NK_COLOR_BUTTON] = nk_rgba(137, 182, 224, 255);
|
|
table[NK_COLOR_BUTTON_HOVER] = nk_rgba(142, 187, 229, 255);
|
|
table[NK_COLOR_BUTTON_ACTIVE] = nk_rgba(147, 192, 234, 255);
|
|
table[NK_COLOR_TOGGLE] = nk_rgba(177, 210, 210, 255);
|
|
table[NK_COLOR_TOGGLE_HOVER] = nk_rgba(182, 215, 215, 255);
|
|
table[NK_COLOR_TOGGLE_CURSOR] = nk_rgba(137, 182, 224, 255);
|
|
table[NK_COLOR_SELECT] = nk_rgba(177, 210, 210, 255);
|
|
table[NK_COLOR_SELECT_ACTIVE] = nk_rgba(137, 182, 224, 255);
|
|
table[NK_COLOR_SLIDER] = nk_rgba(177, 210, 210, 255);
|
|
table[NK_COLOR_SLIDER_CURSOR] = nk_rgba(137, 182, 224, 245);
|
|
table[NK_COLOR_SLIDER_CURSOR_HOVER] = nk_rgba(142, 188, 229, 255);
|
|
table[NK_COLOR_SLIDER_CURSOR_ACTIVE] = nk_rgba(147, 193, 234, 255);
|
|
table[NK_COLOR_PROPERTY] = nk_rgba(210, 210, 210, 255);
|
|
table[NK_COLOR_EDIT] = nk_rgba(210, 210, 210, 225);
|
|
table[NK_COLOR_EDIT_CURSOR] = nk_rgba(20, 20, 20, 255);
|
|
table[NK_COLOR_COMBO] = nk_rgba(210, 210, 210, 255);
|
|
table[NK_COLOR_CHART] = nk_rgba(210, 210, 210, 255);
|
|
table[NK_COLOR_CHART_COLOR] = nk_rgba(137, 182, 224, 255);
|
|
table[NK_COLOR_CHART_COLOR_HIGHLIGHT] = nk_rgba( 255, 0, 0, 255);
|
|
table[NK_COLOR_SCROLLBAR] = nk_rgba(190, 200, 200, 255);
|
|
table[NK_COLOR_SCROLLBAR_CURSOR] = nk_rgba(64, 84, 95, 255);
|
|
table[NK_COLOR_SCROLLBAR_CURSOR_HOVER] = nk_rgba(70, 90, 100, 255);
|
|
table[NK_COLOR_SCROLLBAR_CURSOR_ACTIVE] = nk_rgba(75, 95, 105, 255);
|
|
table[NK_COLOR_TAB_HEADER] = nk_rgba(156, 193, 220, 255);
|
|
nk_style_from_table(ctx, table);
|
|
} else if (theme == THEME_DARK) {
|
|
table[NK_COLOR_TEXT] = nk_rgba(210, 210, 210, 255);
|
|
table[NK_COLOR_WINDOW] = nk_rgba(57, 67, 71, 215);
|
|
table[NK_COLOR_HEADER] = nk_rgba(51, 51, 56, 220);
|
|
table[NK_COLOR_BORDER] = nk_rgba(46, 46, 46, 255);
|
|
table[NK_COLOR_BUTTON] = nk_rgba(48, 83, 111, 255);
|
|
table[NK_COLOR_BUTTON_HOVER] = nk_rgba(58, 93, 121, 255);
|
|
table[NK_COLOR_BUTTON_ACTIVE] = nk_rgba(63, 98, 126, 255);
|
|
table[NK_COLOR_TOGGLE] = nk_rgba(50, 58, 61, 255);
|
|
table[NK_COLOR_TOGGLE_HOVER] = nk_rgba(45, 53, 56, 255);
|
|
table[NK_COLOR_TOGGLE_CURSOR] = nk_rgba(48, 83, 111, 255);
|
|
table[NK_COLOR_SELECT] = nk_rgba(57, 67, 61, 255);
|
|
table[NK_COLOR_SELECT_ACTIVE] = nk_rgba(48, 83, 111, 255);
|
|
table[NK_COLOR_SLIDER] = nk_rgba(50, 58, 61, 255);
|
|
table[NK_COLOR_SLIDER_CURSOR] = nk_rgba(48, 83, 111, 245);
|
|
table[NK_COLOR_SLIDER_CURSOR_HOVER] = nk_rgba(53, 88, 116, 255);
|
|
table[NK_COLOR_SLIDER_CURSOR_ACTIVE] = nk_rgba(58, 93, 121, 255);
|
|
table[NK_COLOR_PROPERTY] = nk_rgba(50, 58, 61, 255);
|
|
table[NK_COLOR_EDIT] = nk_rgba(50, 58, 61, 225);
|
|
table[NK_COLOR_EDIT_CURSOR] = nk_rgba(210, 210, 210, 255);
|
|
table[NK_COLOR_COMBO] = nk_rgba(50, 58, 61, 255);
|
|
table[NK_COLOR_CHART] = nk_rgba(50, 58, 61, 255);
|
|
table[NK_COLOR_CHART_COLOR] = nk_rgba(48, 83, 111, 255);
|
|
table[NK_COLOR_CHART_COLOR_HIGHLIGHT] = nk_rgba(255, 0, 0, 255);
|
|
table[NK_COLOR_SCROLLBAR] = nk_rgba(50, 58, 61, 255);
|
|
table[NK_COLOR_SCROLLBAR_CURSOR] = nk_rgba(48, 83, 111, 255);
|
|
table[NK_COLOR_SCROLLBAR_CURSOR_HOVER] = nk_rgba(53, 88, 116, 255);
|
|
table[NK_COLOR_SCROLLBAR_CURSOR_ACTIVE] = nk_rgba(58, 93, 121, 255);
|
|
table[NK_COLOR_TAB_HEADER] = nk_rgba(48, 83, 111, 255);
|
|
nk_style_from_table(ctx, table);
|
|
} else if (theme == THEME_DRACULA) {
|
|
struct nk_color background = nk_rgba(40, 42, 54, 255);
|
|
struct nk_color currentline = nk_rgba(68, 71, 90, 255);
|
|
struct nk_color foreground = nk_rgba(248, 248, 242, 255);
|
|
struct nk_color comment = nk_rgba(98, 114, 164, 255);
|
|
/* struct nk_color cyan = nk_rgba(139, 233, 253, 255); */
|
|
/* struct nk_color green = nk_rgba(80, 250, 123, 255); */
|
|
/* struct nk_color orange = nk_rgba(255, 184, 108, 255); */
|
|
struct nk_color pink = nk_rgba(255, 121, 198, 255);
|
|
struct nk_color purple = nk_rgba(189, 147, 249, 255);
|
|
/* struct nk_color red = nk_rgba(255, 85, 85, 255); */
|
|
/* struct nk_color yellow = nk_rgba(241, 250, 140, 255); */
|
|
table[NK_COLOR_TEXT] = foreground;
|
|
table[NK_COLOR_WINDOW] = background;
|
|
table[NK_COLOR_HEADER] = currentline;
|
|
table[NK_COLOR_BORDER] = currentline;
|
|
table[NK_COLOR_BUTTON] = currentline;
|
|
table[NK_COLOR_BUTTON_HOVER] = comment;
|
|
table[NK_COLOR_BUTTON_ACTIVE] = purple;
|
|
table[NK_COLOR_TOGGLE] = currentline;
|
|
table[NK_COLOR_TOGGLE_HOVER] = comment;
|
|
table[NK_COLOR_TOGGLE_CURSOR] = pink;
|
|
table[NK_COLOR_SELECT] = currentline;
|
|
table[NK_COLOR_SELECT_ACTIVE] = comment;
|
|
table[NK_COLOR_SLIDER] = background;
|
|
table[NK_COLOR_SLIDER_CURSOR] = currentline;
|
|
table[NK_COLOR_SLIDER_CURSOR_HOVER] = comment;
|
|
table[NK_COLOR_SLIDER_CURSOR_ACTIVE] = comment;
|
|
table[NK_COLOR_PROPERTY] = currentline;
|
|
table[NK_COLOR_EDIT] = currentline;
|
|
table[NK_COLOR_EDIT_CURSOR] = foreground;
|
|
table[NK_COLOR_COMBO] = currentline;
|
|
table[NK_COLOR_CHART] = currentline;
|
|
table[NK_COLOR_CHART_COLOR] = comment;
|
|
table[NK_COLOR_CHART_COLOR_HIGHLIGHT] = purple;
|
|
table[NK_COLOR_SCROLLBAR] = background;
|
|
table[NK_COLOR_SCROLLBAR_CURSOR] = currentline;
|
|
table[NK_COLOR_SCROLLBAR_CURSOR_HOVER] = comment;
|
|
table[NK_COLOR_SCROLLBAR_CURSOR_ACTIVE] = purple;
|
|
table[NK_COLOR_TAB_HEADER] = currentline;
|
|
nk_style_from_table(ctx, table);
|
|
} else {
|
|
nk_style_default(ctx);
|
|
}
|
|
}
|
|
|
|
|