Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--release/datafiles/userdef/userdef_default_theme.c1
-rw-r--r--release/scripts/presets/interface_theme/Blender_Light.xml1
-rw-r--r--release/scripts/startup/bl_ui/properties_constraint.py3
-rw-r--r--release/scripts/startup/bl_ui/space_userpref.py1
-rw-r--r--source/blender/blenkernel/BKE_blender_version.h2
-rw-r--r--source/blender/blenkernel/BKE_screen.h2
-rw-r--r--source/blender/blenloader/intern/versioning_userdef.c4
-rw-r--r--source/blender/editors/animation/fmodifier_ui.c4
-rw-r--r--source/blender/editors/include/UI_interface.h3
-rw-r--r--source/blender/editors/interface/interface_intern.h2
-rw-r--r--source/blender/editors/interface/interface_panel.c176
-rw-r--r--source/blender/editors/screen/area.c9
-rw-r--r--source/blender/editors/space_spreadsheet/spreadsheet_row_filter_ui.cc2
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpencil_ui_common.c4
-rw-r--r--source/blender/makesdna/DNA_userdef_types.h4
-rw-r--r--source/blender/makesrna/intern/rna_ui.c1
-rw-r--r--source/blender/makesrna/intern/rna_userdef.c7
-rw-r--r--source/blender/modifiers/intern/MOD_ui_common.c4
-rw-r--r--source/blender/shader_fx/intern/FX_ui_common.c4
19 files changed, 98 insertions, 136 deletions
diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c
index 1f9316cacfd..eebdcf84fd2 100644
--- a/release/datafiles/userdef/userdef_default_theme.c
+++ b/release/datafiles/userdef/userdef_default_theme.c
@@ -260,6 +260,7 @@ const bTheme U_theme_default = {
.icon_modifier = RGBA(0x84b8ffff),
.icon_shading = RGBA(0xea7581ff),
.icon_folder = RGBA(0xe3c16eff),
+ .panel_roundness = 0.4f,
},
.space_properties = {
.back = RGBA(0x42424200),
diff --git a/release/scripts/presets/interface_theme/Blender_Light.xml b/release/scripts/presets/interface_theme/Blender_Light.xml
index 834139458d5..8b7995cef4c 100644
--- a/release/scripts/presets/interface_theme/Blender_Light.xml
+++ b/release/scripts/presets/interface_theme/Blender_Light.xml
@@ -9,6 +9,7 @@
widget_emboss="#00000026"
editor_outline="#1f1f1f"
widget_text_cursor="#3399e6"
+ panel_roundness="0.4"
transparent_checker_primary="#333333"
transparent_checker_secondary="#262626"
transparent_checker_size="8"
diff --git a/release/scripts/startup/bl_ui/properties_constraint.py b/release/scripts/startup/bl_ui/properties_constraint.py
index 2a0cf56534c..85381f5ee3c 100644
--- a/release/scripts/startup/bl_ui/properties_constraint.py
+++ b/release/scripts/startup/bl_ui/properties_constraint.py
@@ -70,7 +70,7 @@ class ConstraintButtonsPanel:
bl_space_type = 'PROPERTIES'
bl_region_type = 'WINDOW'
bl_label = ""
- bl_options = {'INSTANCED', 'HEADER_LAYOUT_EXPAND', 'DRAW_BOX'}
+ bl_options = {'INSTANCED', 'HEADER_LAYOUT_EXPAND'}
@staticmethod
def draw_influence(layout, con):
@@ -976,7 +976,6 @@ class ConstraintButtonsSubPanel:
bl_space_type = 'PROPERTIES'
bl_region_type = 'WINDOW'
bl_label = ""
- bl_options = {'DRAW_BOX'}
def get_constraint(self, _context):
con = self.custom_data
diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py
index 7a8b6d42cad..e5f6cff79ee 100644
--- a/release/scripts/startup/bl_ui/space_userpref.py
+++ b/release/scripts/startup/bl_ui/space_userpref.py
@@ -920,6 +920,7 @@ class USERPREF_PT_theme_interface_styles(ThemePanel, CenterAlignMixIn, Panel):
flow.prop(ui, "editor_outline")
flow.prop(ui, "widget_text_cursor")
flow.prop(ui, "widget_emboss")
+ flow.prop(ui, "panel_roundness")
class USERPREF_PT_theme_interface_transparent_checker(ThemePanel, CenterAlignMixIn, Panel):
diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h
index ceb19e87b40..d8112de760d 100644
--- a/source/blender/blenkernel/BKE_blender_version.h
+++ b/source/blender/blenkernel/BKE_blender_version.h
@@ -39,7 +39,7 @@ extern "C" {
/* Blender file format version. */
#define BLENDER_FILE_VERSION BLENDER_VERSION
-#define BLENDER_FILE_SUBVERSION 33
+#define BLENDER_FILE_SUBVERSION 34
/* Minimum Blender version that supports reading file written with the current
* version. Older Blender versions will test this and show a warning if the file
diff --git a/source/blender/blenkernel/BKE_screen.h b/source/blender/blenkernel/BKE_screen.h
index 6f341a12b82..5c913ed851f 100644
--- a/source/blender/blenkernel/BKE_screen.h
+++ b/source/blender/blenkernel/BKE_screen.h
@@ -301,8 +301,6 @@ enum {
PANEL_TYPE_LAYOUT_VERT_BAR = (1 << 3),
/** This panel type represents data external to the UI. */
PANEL_TYPE_INSTANCED = (1 << 4),
- /** Draw panel like a box widget. */
- PANEL_TYPE_DRAW_BOX = (1 << 6),
/** Don't search panels with this type during property search. */
PANEL_TYPE_NO_SEARCH = (1 << 7),
};
diff --git a/source/blender/blenloader/intern/versioning_userdef.c b/source/blender/blenloader/intern/versioning_userdef.c
index 60e202746ff..2c01fae3d6a 100644
--- a/source/blender/blenloader/intern/versioning_userdef.c
+++ b/source/blender/blenloader/intern/versioning_userdef.c
@@ -306,6 +306,10 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
btheme->space_node.movie[3] = U_theme_default.space_node.movie[3];
}
+ if (!USER_VERSION_ATLEAST(300, 34)) {
+ btheme->tui.panel_roundness = 0.4f;
+ }
+
/**
* Versioning code until next subversion bump goes here.
*
diff --git a/source/blender/editors/animation/fmodifier_ui.c b/source/blender/editors/animation/fmodifier_ui.c
index 40871fba2be..cea0e50a21f 100644
--- a/source/blender/editors/animation/fmodifier_ui.c
+++ b/source/blender/editors/animation/fmodifier_ui.c
@@ -187,7 +187,7 @@ static PanelType *fmodifier_panel_register(ARegionType *region_type,
/* Give the panel the special flag that says it was built here and corresponds to a
* modifier rather than a #PanelType. */
- panel_type->flag = PANEL_TYPE_HEADER_EXPAND | PANEL_TYPE_DRAW_BOX | PANEL_TYPE_INSTANCED;
+ panel_type->flag = PANEL_TYPE_HEADER_EXPAND | PANEL_TYPE_INSTANCED;
panel_type->reorder = fmodifier_reorder;
panel_type->get_list_data_expand_flag = get_fmodifier_expand_flag;
panel_type->set_list_data_expand_flag = set_fmodifier_expand_flag;
@@ -221,7 +221,7 @@ static PanelType *fmodifier_subpanel_register(ARegionType *region_type,
panel_type->draw_header = draw_header;
panel_type->draw = draw;
panel_type->poll = poll;
- panel_type->flag = PANEL_TYPE_DEFAULT_CLOSED | PANEL_TYPE_DRAW_BOX;
+ panel_type->flag = PANEL_TYPE_DEFAULT_CLOSED ;
BLI_assert(parent != NULL);
BLI_strncpy(panel_type->parent_id, parent->idname, BKE_ST_MAXNAME);
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
index ddd5e77cbb6..c808a42a44a 100644
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@ -252,7 +252,8 @@ enum {
#define UI_PANEL_CATEGORY_MARGIN_WIDTH (U.widget_unit * 1.0f)
-#define UI_PANEL_BOX_STYLE_MARGIN (U.widget_unit * 0.2f)
+#define UI_PANEL_MARGIN_X (U.widget_unit * 0.4f)
+#define UI_PANEL_MARGIN_Y (U.widget_unit * 0.2f)
/* but->drawflag - these flags should only affect how the button is drawn. */
/* NOTE: currently, these flags *are not passed* to the widget's state() or draw() functions
diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h
index c7781d65058..0301ab9156e 100644
--- a/source/blender/editors/interface/interface_intern.h
+++ b/source/blender/editors/interface/interface_intern.h
@@ -116,7 +116,7 @@ extern const char ui_radial_dir_to_numpad[8];
extern const short ui_radial_dir_to_angle[8];
/* internal panel drawing defines */
-#define PNL_HEADER (UI_UNIT_Y * 1.2) /* 24 default */
+#define PNL_HEADER (UI_UNIT_Y * 1.25) /* 24 default */
/* bit button defines */
/* Bit operations */
diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c
index a64797af24f..e5f84f63d35 100644
--- a/source/blender/editors/interface/interface_panel.c
+++ b/source/blender/editors/interface/interface_panel.c
@@ -1112,23 +1112,14 @@ static void panel_draw_highlight_border(const Panel *panel,
const rcti *rect,
const rcti *header_rect)
{
- const bool draw_box_style = panel->type->flag & PANEL_TYPE_DRAW_BOX;
const bool is_subpanel = panel->type->parent != NULL;
if (is_subpanel) {
return;
}
- float radius;
- if (draw_box_style) {
- /* Use the theme for box widgets. */
- const uiWidgetColors *box_wcol = &UI_GetTheme()->tui.wcol_box;
- UI_draw_roundbox_corner_set(UI_CNR_ALL);
- radius = box_wcol->roundness * U.widget_unit;
- }
- else {
- UI_draw_roundbox_corner_set(UI_CNR_NONE);
- radius = 0.0f;
- }
+ const bTheme *btheme = UI_GetTheme();
+ const float radius = btheme->tui.panel_roundness * U.widget_unit * 0.5f;
+ UI_draw_roundbox_corner_set(UI_CNR_ALL);
float color[4];
UI_GetThemeColor4fv(TH_SELECT_ACTIVE, color);
@@ -1172,18 +1163,17 @@ static void panel_draw_aligned_widgets(const uiStyle *style,
/* Draw collapse icon. */
{
- rctf collapse_rect = {
- .xmin = widget_rect.xmin,
- .xmax = widget_rect.xmin + header_height,
- .ymin = widget_rect.ymin,
- .ymax = widget_rect.ymax,
- };
- BLI_rctf_scale(&collapse_rect, 0.25f);
-
- float triangle_color[4];
- rgba_uchar_to_float(triangle_color, title_color);
-
- ui_draw_anti_tria_rect(&collapse_rect, UI_panel_is_closed(panel) ? 'h' : 'v', triangle_color);
+ const float size_y = BLI_rcti_size_y(&widget_rect);
+ GPU_blend(GPU_BLEND_ALPHA);
+ UI_icon_draw_ex(widget_rect.xmin + size_y * 0.2f,
+ widget_rect.ymin + size_y * 0.2f,
+ UI_panel_is_closed(panel) ? ICON_RIGHTARROW : ICON_DOWNARROW_HLT,
+ aspect * U.inv_dpi_fac,
+ 0.7f,
+ 0.0f,
+ title_color,
+ false);
+ GPU_blend(GPU_BLEND_NONE);
}
/* Draw text label. */
@@ -1243,7 +1233,6 @@ static void panel_draw_aligned_backdrop(const Panel *panel,
const rcti *rect,
const rcti *header_rect)
{
- const bool draw_box_style = panel->type->flag & PANEL_TYPE_DRAW_BOX;
const bool is_subpanel = panel->type->parent != NULL;
const bool is_open = !UI_panel_is_closed(panel);
@@ -1251,90 +1240,52 @@ static void panel_draw_aligned_backdrop(const Panel *panel,
return;
}
- const uint pos = GPU_vertformat_attr_add(
- immVertexFormat(), "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
+ const bTheme *btheme = UI_GetTheme();
+ const float radius = btheme->tui.panel_roundness * U.widget_unit * 0.5f;
- /* Draw with an opaque box backdrop for box style panels. */
- if (draw_box_style) {
- /* Use the theme for box widgets. */
- const uiWidgetColors *box_wcol = &UI_GetTheme()->tui.wcol_box;
-
- if (is_subpanel) {
- /* Use rounded bottom corners for the last subpanel. */
- if (panel->next == NULL) {
- UI_draw_roundbox_corner_set(UI_CNR_BOTTOM_RIGHT | UI_CNR_BOTTOM_LEFT);
- float color[4];
- UI_GetThemeColor4fv(TH_PANEL_SUB_BACK, color);
- /* Change the width a little bit to line up with sides. */
- UI_draw_roundbox_aa(
- &(const rctf){
- .xmin = rect->xmin + U.pixelsize,
- .xmax = rect->xmax - U.pixelsize,
- .ymin = rect->ymin + U.pixelsize,
- .ymax = rect->ymax,
- },
- true,
- box_wcol->roundness * U.widget_unit,
- color);
- }
- else {
- immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
- immUniformThemeColor(TH_PANEL_SUB_BACK);
- immRectf(pos, rect->xmin + U.pixelsize, rect->ymin, rect->xmax - U.pixelsize, rect->ymax);
- immUnbindProgram();
- }
- }
- else {
- /* Expand the top a tiny bit to give header buttons equal size above and below. */
- rcti box_rect = {
- .xmin = rect->xmin,
- .xmax = rect->xmax,
- .ymin = is_open ? rect->ymin : header_rect->ymin,
- .ymax = header_rect->ymax + U.pixelsize,
- };
- ui_draw_box_opaque(&box_rect, UI_CNR_ALL);
-
- /* Mimic the border between aligned box widgets for the bottom of the header. */
- if (is_open) {
- immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
- GPU_blend(GPU_BLEND_ALPHA);
-
- /* Top line. */
- immUniformColor4ubv(box_wcol->outline);
- immRectf(pos, rect->xmin, header_rect->ymin - U.pixelsize, rect->xmax, header_rect->ymin);
-
- /* Bottom "shadow" line. */
- immUniformThemeColor(TH_WIDGET_EMBOSS);
- immRectf(pos,
- rect->xmin,
- header_rect->ymin - U.pixelsize,
- rect->xmax,
- header_rect->ymin - U.pixelsize - 1);
-
- GPU_blend(GPU_BLEND_NONE);
- immUnbindProgram();
- }
- }
- }
- else {
- immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
- GPU_blend(GPU_BLEND_ALPHA);
-
- /* Panel backdrop. */
- if (is_open || panel->type->flag & PANEL_TYPE_NO_HEADER) {
- immUniformThemeColor(is_subpanel ? TH_PANEL_SUB_BACK : TH_PANEL_BACK);
- immRectf(pos, rect->xmin, rect->ymin, rect->xmax, rect->ymax);
- }
-
- /* Panel header backdrops for non sub-panels. */
- if (!is_subpanel) {
- immUniformThemeColor(UI_panel_matches_search_filter(panel) ? TH_MATCH : TH_PANEL_HEADER);
- immRectf(pos, rect->xmin, header_rect->ymin, rect->xmax, header_rect->ymax);
- }
-
- GPU_blend(GPU_BLEND_NONE);
- immUnbindProgram();
- }
+ immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
+ GPU_blend(GPU_BLEND_ALPHA);
+
+ /* Panel backdrop. */
+ if (is_open || panel->type->flag & PANEL_TYPE_NO_HEADER) {
+ float panel_backcolor[4];
+ UI_draw_roundbox_corner_set(is_open ? UI_CNR_BOTTOM_RIGHT | UI_CNR_BOTTOM_LEFT : UI_CNR_ALL);
+ UI_GetThemeColor4fv((is_subpanel ? TH_PANEL_SUB_BACK : TH_PANEL_BACK), panel_backcolor);
+
+ UI_draw_roundbox_4fv(
+ &(const rctf){
+ .xmin = rect->xmin,
+ .xmax = rect->xmax,
+ .ymin = rect->ymin,
+ .ymax = rect->ymax,
+ },
+ true,
+ radius,
+ panel_backcolor);
+ }
+
+ /* Panel header backdrops for non sub-panels. */
+ if (!is_subpanel) {
+ float panel_headercolor[4];
+ UI_GetThemeColor4fv(UI_panel_matches_search_filter(panel) ? TH_MATCH : TH_PANEL_HEADER,
+ panel_headercolor);
+ UI_draw_roundbox_corner_set(is_open ? UI_CNR_TOP_RIGHT | UI_CNR_TOP_LEFT : UI_CNR_ALL);
+
+ /* Change the width a little bit to line up with the sides. */
+ UI_draw_roundbox_4fv(
+ &(const rctf){
+ .xmin = rect->xmin,
+ .xmax = rect->xmax,
+ .ymin = header_rect->ymin,
+ .ymax = header_rect->ymax,
+ },
+ true,
+ radius,
+ panel_headercolor);
+ }
+
+ GPU_blend(GPU_BLEND_NONE);
+ immUnbindProgram();
}
/**
@@ -1789,9 +1740,9 @@ static bool uiAlignPanelStep(ARegion *region, const float factor, const bool dra
const int region_offset_x = panel_region_offset_x_get(region);
for (int i = 0; i < active_panels_len; i++) {
PanelSort *ps = &panel_sort[i];
- const bool use_box = ps->panel->type->flag & PANEL_TYPE_DRAW_BOX;
+ const bool no_header = ps->panel->type->flag & PANEL_TYPE_NO_HEADER;
ps->panel->runtime.region_ofsx = region_offset_x;
- ps->new_offset_x = region_offset_x + ((use_box) ? UI_PANEL_BOX_STYLE_MARGIN : 0);
+ ps->new_offset_x = region_offset_x + (no_header ? 0 : UI_PANEL_MARGIN_X);
}
/* Y offset. */
@@ -1799,10 +1750,7 @@ static bool uiAlignPanelStep(ARegion *region, const float factor, const bool dra
PanelSort *ps = &panel_sort[i];
y -= get_panel_real_size_y(ps->panel);
- const bool use_box = ps->panel->type->flag & PANEL_TYPE_DRAW_BOX;
- if (use_box) {
- y -= UI_PANEL_BOX_STYLE_MARGIN;
- }
+ y -= UI_PANEL_MARGIN_Y;
ps->new_offset_y = y;
/* The header still draws offset by the size of closed panels, so apply the offset here. */
if (UI_panel_is_closed(ps->panel)) {
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c
index 473674f1059..406f5c0904f 100644
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@ -2977,12 +2977,11 @@ void ED_region_panels_layout_ex(const bContext *C,
margin_x = category_tabs_width;
}
- const int w = BLI_rctf_size_x(&v2d->cur) - margin_x;
+ const int width_no_header = BLI_rctf_size_x(&v2d->cur) - margin_x;
+ const int width = width_no_header - UI_PANEL_MARGIN_X * 2.0f;
/* Works out to 10 * UI_UNIT_X or 20 * UI_UNIT_X. */
const int em = (region->type->prefsizex) ? 10 : 20;
- const int w_box_panel = w - UI_PANEL_BOX_STYLE_MARGIN * 2.0f;
-
/* create panels */
UI_panels_begin(C, region);
@@ -3018,7 +3017,7 @@ void ED_region_panels_layout_ex(const bContext *C,
&region->panels,
pt,
panel,
- (pt->flag & PANEL_TYPE_DRAW_BOX) ? w_box_panel : w,
+ (pt->flag & PANEL_TYPE_NO_HEADER) ? width_no_header : width,
em,
NULL,
search_filter);
@@ -3052,7 +3051,7 @@ void ED_region_panels_layout_ex(const bContext *C,
&region->panels,
panel->type,
panel,
- (panel->type->flag & PANEL_TYPE_DRAW_BOX) ? w_box_panel : w,
+ (panel->type->flag & PANEL_TYPE_NO_HEADER) ? width_no_header : width,
em,
unique_panel_str,
search_filter);
diff --git a/source/blender/editors/space_spreadsheet/spreadsheet_row_filter_ui.cc b/source/blender/editors/space_spreadsheet/spreadsheet_row_filter_ui.cc
index 219d03c1dcd..78804172981 100644
--- a/source/blender/editors/space_spreadsheet/spreadsheet_row_filter_ui.cc
+++ b/source/blender/editors/space_spreadsheet/spreadsheet_row_filter_ui.cc
@@ -336,7 +336,7 @@ void register_row_filter_panels(ARegionType &region_type)
strcpy(panel_type->label, "");
strcpy(panel_type->category, "Filters");
strcpy(panel_type->translation_context, BLT_I18NCONTEXT_DEFAULT_BPYRNA);
- panel_type->flag = PANEL_TYPE_INSTANCED | PANEL_TYPE_DRAW_BOX | PANEL_TYPE_HEADER_EXPAND;
+ panel_type->flag = PANEL_TYPE_INSTANCED | PANEL_TYPE_HEADER_EXPAND;
panel_type->draw_header = spreadsheet_filter_panel_draw_header;
panel_type->draw = spreadsheet_filter_panel_draw;
panel_type->get_list_data_expand_flag = get_filter_expand_flag;
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencil_ui_common.c b/source/blender/gpencil_modifiers/intern/MOD_gpencil_ui_common.c
index e750c22f0e8..7dcf887bc45 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencil_ui_common.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencil_ui_common.c
@@ -380,7 +380,7 @@ PanelType *gpencil_modifier_panel_register(ARegionType *region_type,
/* Give the panel the special flag that says it was built here and corresponds to a
* modifier rather than a #PanelType. */
- panel_type->flag = PANEL_TYPE_HEADER_EXPAND | PANEL_TYPE_DRAW_BOX | PANEL_TYPE_INSTANCED;
+ panel_type->flag = PANEL_TYPE_HEADER_EXPAND | PANEL_TYPE_INSTANCED;
panel_type->reorder = gpencil_modifier_reorder;
panel_type->get_list_data_expand_flag = get_gpencil_modifier_expand_flag;
panel_type->set_list_data_expand_flag = set_gpencil_modifier_expand_flag;
@@ -413,7 +413,7 @@ PanelType *gpencil_modifier_subpanel_register(ARegionType *region_type,
panel_type->draw_header = draw_header;
panel_type->draw = draw;
panel_type->poll = gpencil_modifier_ui_poll;
- panel_type->flag = (PANEL_TYPE_DEFAULT_CLOSED | PANEL_TYPE_DRAW_BOX);
+ panel_type->flag = PANEL_TYPE_DEFAULT_CLOSED ;
BLI_assert(parent != NULL);
BLI_strncpy(panel_type->parent_id, parent->idname, BKE_ST_MAXNAME);
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index 291f6de5ba2..4a4d0ea2586 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -206,6 +206,10 @@ typedef struct ThemeUI {
/** Intensity of the border icons. >0 will render an border around themed
* icons. */
float icon_border_intensity;
+
+ float panel_roundness;
+ char _pad2[4];
+
} ThemeUI;
/* try to put them all in one, if needed a special struct can be created as well
diff --git a/source/blender/makesrna/intern/rna_ui.c b/source/blender/makesrna/intern/rna_ui.c
index c506a533032..21ffba074fa 100644
--- a/source/blender/makesrna/intern/rna_ui.c
+++ b/source/blender/makesrna/intern/rna_ui.c
@@ -1373,7 +1373,6 @@ static void rna_def_panel(BlenderRNA *brna)
0,
"Expand Header Layout",
"Allow buttons in the header to stretch and shrink to fill the entire layout width"},
- {PANEL_TYPE_DRAW_BOX, "DRAW_BOX", 0, "Box Style", "Display panel with the box widget theme"},
{0, NULL, 0, NULL, NULL},
};
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index ccfc1222d4c..6d7bb9118b1 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -1560,6 +1560,13 @@ static void rna_def_userdef_theme_ui(BlenderRNA *brna)
prop, "Text Cursor", "Color of the interface widgets text insertion cursor (caret)");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
+ prop = RNA_def_property(srna, "panel_roundness", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_ui_text(
+ prop, "Panel Roundness", "Roundness of the corners of panels and sub-panels");
+ RNA_def_property_range(prop, 0.0f, 1.0f);
+ RNA_def_property_float_default(prop, 0.4f);
+ RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
+
/* Transparent Grid */
prop = RNA_def_property(srna, "transparent_checker_primary", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_float_sdna(prop, NULL, "transparent_checker_primary");
diff --git a/source/blender/modifiers/intern/MOD_ui_common.c b/source/blender/modifiers/intern/MOD_ui_common.c
index 6239ee45e59..5d564464e20 100644
--- a/source/blender/modifiers/intern/MOD_ui_common.c
+++ b/source/blender/modifiers/intern/MOD_ui_common.c
@@ -448,7 +448,7 @@ PanelType *modifier_panel_register(ARegionType *region_type, ModifierType type,
/* Give the panel the special flag that says it was built here and corresponds to a
* modifier rather than a #PanelType. */
- panel_type->flag = PANEL_TYPE_HEADER_EXPAND | PANEL_TYPE_DRAW_BOX | PANEL_TYPE_INSTANCED;
+ panel_type->flag = PANEL_TYPE_HEADER_EXPAND | PANEL_TYPE_INSTANCED;
panel_type->reorder = modifier_reorder;
panel_type->get_list_data_expand_flag = get_modifier_expand_flag;
panel_type->set_list_data_expand_flag = set_modifier_expand_flag;
@@ -482,7 +482,7 @@ PanelType *modifier_subpanel_register(ARegionType *region_type,
panel_type->draw_header = draw_header;
panel_type->draw = draw;
panel_type->poll = modifier_ui_poll;
- panel_type->flag = (PANEL_TYPE_DEFAULT_CLOSED | PANEL_TYPE_DRAW_BOX);
+ panel_type->flag = PANEL_TYPE_DEFAULT_CLOSED;
BLI_assert(parent != NULL);
BLI_strncpy(panel_type->parent_id, parent->idname, BKE_ST_MAXNAME);
diff --git a/source/blender/shader_fx/intern/FX_ui_common.c b/source/blender/shader_fx/intern/FX_ui_common.c
index 8cb1ea6b66c..86240171bf9 100644
--- a/source/blender/shader_fx/intern/FX_ui_common.c
+++ b/source/blender/shader_fx/intern/FX_ui_common.c
@@ -254,7 +254,7 @@ PanelType *shaderfx_panel_register(ARegionType *region_type, ShaderFxType type,
/* Give the panel the special flag that says it was built here and corresponds to a
* shader effect rather than a PanelType. */
- panel_type->flag = PANEL_TYPE_HEADER_EXPAND | PANEL_TYPE_DRAW_BOX | PANEL_TYPE_INSTANCED;
+ panel_type->flag = PANEL_TYPE_HEADER_EXPAND | PANEL_TYPE_INSTANCED;
panel_type->reorder = shaderfx_reorder;
panel_type->get_list_data_expand_flag = get_shaderfx_expand_flag;
panel_type->set_list_data_expand_flag = set_shaderfx_expand_flag;
@@ -287,7 +287,7 @@ PanelType *shaderfx_subpanel_register(ARegionType *region_type,
panel_type->draw_header = draw_header;
panel_type->draw = draw;
panel_type->poll = shaderfx_ui_poll;
- panel_type->flag = (PANEL_TYPE_DEFAULT_CLOSED | PANEL_TYPE_DRAW_BOX);
+ panel_type->flag = PANEL_TYPE_DEFAULT_CLOSED;
BLI_assert(parent != NULL);
BLI_strncpy(panel_type->parent_id, parent->idname, BKE_ST_MAXNAME);