diff options
author | Hans Goudey <h.goudey@me.com> | 2021-01-26 20:21:31 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2021-01-26 20:21:31 +0300 |
commit | 3b3908ce99bb25901206644e57928c4a1dfb4a9e (patch) | |
tree | 5a76df00e0318002e862a4d99e6d8ce9ec56029e | |
parent | 89484e97548a026d0fdebe4822cb8e94c7209cf3 (diff) |
Update node UI redesign patch to latest mastertemp-nodes-redesign
-rw-r--r-- | release/datafiles/userdef/userdef_default_theme.c | 8 | ||||
-rw-r--r-- | source/blender/editors/space_node/node_draw.c | 121 |
2 files changed, 75 insertions, 54 deletions
diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c index 191758277ed..2f4d37cca91 100644 --- a/release/datafiles/userdef/userdef_default_theme.c +++ b/release/datafiles/userdef/userdef_default_theme.c @@ -661,9 +661,9 @@ const bTheme U_theme_default = { .selected_strip = RGBA(0xff8f0dff), .gp_vertex_size = 3, .gp_vertex_select = RGBA(0xff8500ff), + .row_alternate = RGBA(0xffffff0d), .anim_preview_range = RGBA(0xa14d0066), .metadatatext = RGBA(0xffffffff), - .row_alternate = RGBA(0xffffff0d), }, .space_image = { .back = RGBA(0x44444400), @@ -789,7 +789,7 @@ const bTheme U_theme_default = { .row_alternate = RGBA(0xffffff07), }, .space_node = { - .back = RGBA(0x23232300), + .back = RGBA(0x1a1a1a00), .title = RGBA(0xeeeeeeff), .text = RGBA(0xe6e6e6ff), .text_hi = RGBA(0xffffffff), @@ -824,12 +824,12 @@ const bTheme U_theme_default = { .outline_width = 1, .facedot_size = 4, .grid_levels = 2, - .syntaxl = RGBA(0x565656ff), + .syntaxl = RGBA(0x333333ee), .syntaxs = RGBA(0x975b5bff), .syntaxb = RGBA(0xccb83dff), .syntaxn = RGBA(0xe64555ff), .syntaxv = RGBA(0x66c4ffff), - .syntaxc = RGBA(0x426628b9), + .syntaxc = RGBA(0x63993cb9), .syntaxd = RGBA(0x749797ff), .syntaxr = RGBA(0x808080ff), .nodeclass_output = RGBA(0xb33641ff), diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c index 037587809b0..d07e98d6453 100644 --- a/source/blender/editors/space_node/node_draw.c +++ b/source/blender/editors/space_node/node_draw.c @@ -755,11 +755,9 @@ static void node_socket_outline_color_get(bool selected, float r_outline_color[4 { if (selected) { UI_GetThemeColor4fv(TH_TEXT_HI, r_outline_color); - r_outline_color[3] = 0.9f; } else { - copy_v4_fl(r_outline_color, 0.0f); - r_outline_color[3] = 0.6f; + UI_GetThemeColor4fv(TH_BACK, r_outline_color); } } @@ -839,7 +837,7 @@ void ED_node_socket_draw(bNodeSocket *sock, const rcti *rect, const float color[ GPU_program_point_size(true); immBindBuiltinProgram(GPU_SHADER_KEYFRAME_DIAMOND); - immUniform1f("outline_scale", 0.7f); + immUniform1f("outline_scale", 1.25f); immUniform2f("ViewportSize", -1.0f, -1.0f); /* Single point */ @@ -984,7 +982,7 @@ void node_draw_sockets(const View2D *v2d, GPU_blend(GPU_BLEND_ALPHA); GPU_program_point_size(true); immBindBuiltinProgram(GPU_SHADER_KEYFRAME_DIAMOND); - immUniform1f("outline_scale", 0.7f); + immUniform1f("outline_scale", 1.25f); immUniform2f("ViewportSize", -1.0f, -1.0f); /* set handle size */ @@ -1147,25 +1145,26 @@ static void node_draw_basis(const bContext *C, else { /* Opaque headers for regular nodes. */ UI_GetThemeColor3fv(color_id, color); - color[3] = 1.0f; } GPU_line_width(1.0f); + /* Stripe at the top of the header. */ rctf *rct = &node->totr; + const float border_width = 2.0f * U.dpi_fac; UI_draw_roundbox_corner_set(UI_CNR_TOP_LEFT | UI_CNR_TOP_RIGHT); - UI_draw_roundbox_aa( + UI_draw_roundbox_4fv( &(const rctf){ .xmin = rct->xmin, .xmax = rct->xmax, - .ymin = rct->ymax - NODE_DY, + .ymin = rct->ymax - border_width, .ymax = rct->ymax, }, true, - BASIS_RAD, + BASIS_RAD / 2.0f, color); - /* show/hide icons */ + /* Header icons aligned to the right. */ float iconofs = rct->xmax - 0.35f * U.widget_unit; /* preview */ @@ -1177,7 +1176,7 @@ static void node_draw_basis(const bContext *C, B_REDR, ICON_MATERIAL, iconofs, - rct->ymax - NODE_DY, + rct->ymax - NODE_DY - border_width, iconbutw, UI_UNIT_Y, NULL, @@ -1236,15 +1235,7 @@ static void node_draw_basis(const bContext *C, UI_block_emboss_set(node->block, UI_EMBOSS); } - /* title */ - if (node->flag & SELECT) { - UI_GetThemeColor4fv(TH_SELECT, color); - } - else { - UI_GetThemeColorBlendShade4fv(TH_SELECT, color_id, 0.4f, 10, color); - } - - /* open/close entirely? */ + /* Expand/collapse widget. */ { int but_size = U.widget_unit * 0.8f; /* XXX button uses a custom triangle draw below, so make it invisible without icon */ @@ -1268,7 +1259,10 @@ static void node_draw_basis(const bContext *C, UI_GetThemeColor4fv(TH_TEXT, color); /* custom draw function for this button */ - UI_draw_icon_tri(rct->xmin + 0.65f * U.widget_unit, rct->ymax - NODE_DY / 2.2f, 'v', color); + UI_draw_icon_tri(rct->xmin + 0.65f * U.widget_unit, + (rct->ymax - NODE_DY / 2.2f) - border_width, + 'v', + color); } char showname[128]; /* 128 used below */ @@ -1279,7 +1273,7 @@ static void node_draw_basis(const bContext *C, 0, showname, (int)(rct->xmin + NODE_MARGIN_X), - (int)(rct->ymax - NODE_DY), + (int)((rct->ymax - NODE_DY) - border_width), (short)(iconofs - rct->xmin - (18.0f * U.dpi_fac)), (short)NODE_DY, NULL, @@ -1312,36 +1306,37 @@ static void node_draw_basis(const bContext *C, color[3] = 0.5f; } + /* Outline around active and selected nodes. */ + if (node->flag & SELECT) { + float border_color[4]; + UI_GetThemeColor4fv((node->flag & NODE_ACTIVE) ? TH_ACTIVE : TH_SELECT, border_color); + + UI_draw_roundbox_corner_set(UI_CNR_ALL); + UI_draw_roundbox_4fv( + &(const rctf){ + .xmin = rct->xmin - border_width, + .xmax = rct->xmax + border_width, + .ymin = rct->ymin - border_width, + .ymax = rct->ymax + border_width, + }, + true, + BASIS_RAD, + border_color); + } + + /* Node backdrop. */ UI_draw_roundbox_corner_set(UI_CNR_BOTTOM_LEFT | UI_CNR_BOTTOM_RIGHT); - UI_draw_roundbox_aa( + UI_draw_roundbox_4fv( &(const rctf){ .xmin = rct->xmin, .xmax = rct->xmax, .ymin = rct->ymin, - .ymax = rct->ymax - NODE_DY, + .ymax = rct->ymax - border_width, }, true, BASIS_RAD, color); - /* outline active and selected emphasis */ - if (node->flag & SELECT) { - UI_GetThemeColorShadeAlpha4fv( - (node->flag & NODE_ACTIVE) ? TH_ACTIVE : TH_SELECT, 0, -40, color); - - UI_draw_roundbox_corner_set(UI_CNR_ALL); - UI_draw_roundbox_aa( - &(const rctf){ - .xmin = rct->xmin, - .xmax = rct->xmax, - .ymin = rct->ymin, - .ymax = rct->ymax, - }, - false, - BASIS_RAD, - color); - } - /* disable lines */ if (node->flag & NODE_MUTED) { node_draw_mute_line(v2d, snode, node); @@ -1382,6 +1377,25 @@ static void node_draw_hidden(const bContext *C, /* shadow */ node_draw_shadow(snode, node, hiddenrad, 1.0f); + /* Outline around active and selected nodes. */ + const float border_width = 3.0f * U.dpi_fac; + if (node->flag & SELECT) { + float border_color[4]; + UI_GetThemeColor4fv((node->flag & NODE_ACTIVE) ? TH_ACTIVE : TH_SELECT, border_color); + + UI_draw_roundbox_corner_set(UI_CNR_ALL); + UI_draw_roundbox_4fv( + &(const rctf){ + .xmin = rct->xmin - border_width, + .xmax = rct->xmax + border_width, + .ymin = rct->ymin - border_width, + .ymax = rct->ymax + border_width, + }, + hiddenrad, + true, + border_color); + } + /* body */ float color[4]; int color_id = node_get_colorid(node); @@ -1394,15 +1408,22 @@ static void node_draw_hidden(const bContext *C, UI_GetThemeColor4fv(color_id, color); } - UI_draw_roundbox_aa(rct, true, hiddenrad, color); - - /* outline active and selected emphasis */ - if (node->flag & SELECT) { - UI_GetThemeColorShadeAlpha4fv( - (node->flag & NODE_ACTIVE) ? TH_ACTIVE : TH_SELECT, 0, -40, color); + /* Draw colored outline with the color_id. */ + UI_draw_roundbox_corner_set(UI_CNR_ALL); + UI_draw_roundbox_4fv( + &(const rctf){ + .xmin = rct->xmin - (border_width / 3.0f), + .xmax = rct->xmax + (border_width / 3.0f), + .ymin = rct->ymin - (border_width / 3.0f), + .ymax = rct->ymax + (border_width / 3.0f), + }, + true, + hiddenrad, + color); - UI_draw_roundbox_aa(rct, false, hiddenrad, color); - } + /* Draw inside of the node with the backdrop color. */ + UI_GetThemeColor4fv(TH_NODE, color); + UI_draw_roundbox_4fv(rct, true, hiddenrad, color); /* custom color inline */ if (node->flag & NODE_CUSTOM_COLOR) { |