From 28b97afda2234621891ddc6812c4b626b32b233d Mon Sep 17 00:00:00 2001 From: Nika Kutsniashvili Date: Thu, 25 Sep 2025 14:02:46 +0200 Subject: [PATCH] UI: Theme: Generalize geometry attribute properties This PR generalizes properties for geometry (currently mesh only) attributes found in 3D Viewport theme, namely: - Combine "Edge Bevel" and "Vertex Bevel" into one "Bevel" property. - Combine "Freestyle Edge Mark" and "Freestyle Face Mark" into one "Freestyle" property. - Remove word "Edge" from Crease, Sharp, and Seam properties, to match others. - Group all of the above together in the UI. This is a breaking change (that will be handled with others in migration), but doesn't introduce any visual changes in the default theme (and almost any theme). Pull Request: https://projects.blender.org/blender/blender/pulls/146732 --- release/datafiles/icons_svg/edge_bevel.svg | 2 +- release/datafiles/icons_svg/edge_crease.svg | 2 +- release/datafiles/icons_svg/edge_seam.svg | 2 +- release/datafiles/icons_svg/edge_sharp.svg | 2 +- .../datafiles/userdef/userdef_default_theme.c | 12 +- .../presets/interface_theme/Blender_Light.xml | 12 +- .../blender/blenkernel/BKE_blender_version.h | 2 +- .../blenloader/intern/versioning_userdef.cc | 8 ++ .../draw/engines/overlay/overlay_instance.cc | 12 +- .../blender/editors/include/UI_resources.hh | 14 +-- .../editors/interface/interface_icons.cc | 8 +- source/blender/editors/interface/resources.cc | 39 +++---- source/blender/makesdna/DNA_theme_types.h | 8 +- source/blender/makesrna/intern/rna_userdef.cc | 104 ++++++++---------- 14 files changed, 102 insertions(+), 125 deletions(-) diff --git a/release/datafiles/icons_svg/edge_bevel.svg b/release/datafiles/icons_svg/edge_bevel.svg index 86c25f0b8f3..3026da82b61 100644 --- a/release/datafiles/icons_svg/edge_bevel.svg +++ b/release/datafiles/icons_svg/edge_bevel.svg @@ -1 +1 @@ - + diff --git a/release/datafiles/icons_svg/edge_crease.svg b/release/datafiles/icons_svg/edge_crease.svg index d1a06eaf1af..62c7ea8bbfa 100644 --- a/release/datafiles/icons_svg/edge_crease.svg +++ b/release/datafiles/icons_svg/edge_crease.svg @@ -1 +1 @@ - + diff --git a/release/datafiles/icons_svg/edge_seam.svg b/release/datafiles/icons_svg/edge_seam.svg index 2b5f2657f55..9e171e174ae 100644 --- a/release/datafiles/icons_svg/edge_seam.svg +++ b/release/datafiles/icons_svg/edge_seam.svg @@ -1 +1 @@ - + diff --git a/release/datafiles/icons_svg/edge_sharp.svg b/release/datafiles/icons_svg/edge_sharp.svg index 309795974ba..2cd43f73cbd 100644 --- a/release/datafiles/icons_svg/edge_sharp.svg +++ b/release/datafiles/icons_svg/edge_sharp.svg @@ -1 +1 @@ - + diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c index 3aac8e21118..b28f7eb9845 100644 --- a/release/datafiles/userdef/userdef_default_theme.c +++ b/release/datafiles/userdef/userdef_default_theme.c @@ -373,20 +373,20 @@ const bTheme U_theme_default = { .transform = RGBA(0xffffffff), .vertex = RGBA(0x000000ff), .vertex_select = RGBA(0xff7a00ff), - .vertex_bevel = RGBA(0x00a5ffff), .edge = RGBA(0x000000ff), .edge_select = RGBA(0xff9900ff), .edge_mode_select = RGBA(0xffd800ff), - .edge_seam = RGBA(0xdb2512ff), - .edge_sharp = RGBA(0x00ffffff), - .edge_crease = RGBA(0xcc0099ff), - .edge_bevel = RGBA(0x00a5ffff), .face = RGBA(0xffffff02), .face_select = RGBA(0xffa30033), .face_mode_select = RGBA(0xffb70033), .face_retopology = RGBA(0x50c8ff0f), .face_back = RGBA(0xff0000b3), .face_front = RGBA(0x0000ff00), + .bevel = RGBA(0x00a5ffff), + .seam = RGBA(0xdb2512ff), + .sharp = RGBA(0x00ffffff), + .crease = RGBA(0xcc0099ff), + .freestyle = RGBA(0x7fff7f4d), .extra_edge_len = RGBA(0x150806ff), .extra_edge_angle = RGBA(0x4d4d00ff), .extra_face_angle = RGBA(0x0000ccff), @@ -401,8 +401,6 @@ const bTheme U_theme_default = { .before_current_frame = RGBA(0xf22e23ff), .after_current_frame = RGBA(0x78f244ff), .time_gp_keyframe = RGBA(0x7a9b14ff), - .freestyle_edge_mark = RGBA(0x7fff7fff), - .freestyle_face_mark = RGBA(0x7fff7f4d), .nurb_uline = RGBA(0x909000ff), .nurb_vline = RGBA(0x803060ff), .act_spline = RGBA(0xdb2512ff), diff --git a/scripts/presets/interface_theme/Blender_Light.xml b/scripts/presets/interface_theme/Blender_Light.xml index 7a200013713..0707434ab90 100644 --- a/scripts/presets/interface_theme/Blender_Light.xml +++ b/scripts/presets/interface_theme/Blender_Light.xml @@ -487,21 +487,19 @@ vertex="#000000" vertex_select="#ff7a00" vertex_size="3" - vertex_bevel="#00a5ff" vertex_unreferenced="#000000" edge_select="#ff9900" edge_mode_select="#ffd800" - edge_seam="#db2512" - edge_sharp="#00ffff" - edge_crease="#cc0099" - edge_bevel="#00a5ff" - freestyle_edge_mark="#7fff7f" face="#00000012" face_select="#ffa30033" face_mode_select="#ffb70033" facedot_size="4" - freestyle_face_mark="#7fff7f33" face_retopology="#50c8ff1e" + bevel="#00a5ff" + seam="#db2512" + sharp="#00ffff" + crease="#cc0099" + freestyle="#7fff7f33" face_back="#ff0000b3" face_front="#0000ff00" nurb_uline="#909000" diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h index 68dff4ef2d6..f7903bb90e6 100644 --- a/source/blender/blenkernel/BKE_blender_version.h +++ b/source/blender/blenkernel/BKE_blender_version.h @@ -27,7 +27,7 @@ /* Blender file format version. */ #define BLENDER_FILE_VERSION BLENDER_VERSION -#define BLENDER_FILE_SUBVERSION 90 +#define BLENDER_FILE_SUBVERSION 91 /* Minimum Blender version that supports reading file written with the current * version. Older Blender versions will test this and cancel loading the file, showing a warning to diff --git a/source/blender/blenloader/intern/versioning_userdef.cc b/source/blender/blenloader/intern/versioning_userdef.cc index 34ba5b50c4b..eb98279d893 100644 --- a/source/blender/blenloader/intern/versioning_userdef.cc +++ b/source/blender/blenloader/intern/versioning_userdef.cc @@ -367,6 +367,14 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme) FROM_DEFAULT_V4_UCHAR(regions.scrubbing.time_marker_selected); } + if (!USER_VERSION_ATLEAST(500, 91)) { + FROM_DEFAULT_V4_UCHAR(space_view3d.bevel); + FROM_DEFAULT_V4_UCHAR(space_view3d.seam); + FROM_DEFAULT_V4_UCHAR(space_view3d.sharp); + FROM_DEFAULT_V4_UCHAR(space_view3d.crease); + FROM_DEFAULT_V4_UCHAR(space_view3d.freestyle); + } + /** * Always bump subversion in BKE_blender_version.h when adding versioning * code here, and wrap it inside a USER_VERSION_ATLEAST check. diff --git a/source/blender/draw/engines/overlay/overlay_instance.cc b/source/blender/draw/engines/overlay/overlay_instance.cc index 249fd0258e4..107cc9cbba5 100644 --- a/source/blender/draw/engines/overlay/overlay_instance.cc +++ b/source/blender/draw/engines/overlay/overlay_instance.cc @@ -268,10 +268,10 @@ void Resources::update_theme_settings(const DRWContext *ctx, const State &state) UI_GetThemeColor4fv(TH_GP_VERTEX, gb.colors.gpencil_vertex); UI_GetThemeColor4fv(TH_GP_VERTEX_SELECT, gb.colors.gpencil_vertex_select); - UI_GetThemeColor4fv(TH_EDGE_SEAM, gb.colors.edge_seam); - UI_GetThemeColor4fv(TH_EDGE_SHARP, gb.colors.edge_sharp); - UI_GetThemeColor4fv(TH_EDGE_CREASE, gb.colors.edge_crease); - UI_GetThemeColor4fv(TH_EDGE_BEVEL, gb.colors.edge_bweight); + UI_GetThemeColor4fv(TH_SEAM, gb.colors.edge_seam); + UI_GetThemeColor4fv(TH_SHARP, gb.colors.edge_sharp); + UI_GetThemeColor4fv(TH_CREASE, gb.colors.edge_crease); + UI_GetThemeColor4fv(TH_BEVEL, gb.colors.edge_bweight); UI_GetThemeColor4fv(TH_FACE, gb.colors.face); UI_GetThemeColor4fv(TH_FACE_SELECT, gb.colors.face_select); UI_GetThemeColor4fv(TH_FACE_MODE_SELECT, gb.colors.face_mode_select); @@ -299,8 +299,8 @@ void Resources::update_theme_settings(const DRWContext *ctx, const State &state) gb.colors.edit_mesh_middle.w); #ifdef WITH_FREESTYLE - UI_GetThemeColor4fv(TH_FREESTYLE_EDGE_MARK, gb.colors.edge_freestyle); - UI_GetThemeColor4fv(TH_FREESTYLE_FACE_MARK, gb.colors.face_freestyle); + UI_GetThemeColor4fv(TH_FREESTYLE, gb.colors.edge_freestyle), gb.colors.edge_freestyle[3] = 1.0f; + UI_GetThemeColor4fv(TH_FREESTYLE, gb.colors.face_freestyle); #else gb.colors.edge_freestyle = float4(0.0f); gb.colors.face_freestyle = float4(0.0f); diff --git a/source/blender/editors/include/UI_resources.hh b/source/blender/editors/include/UI_resources.hh index fac882557b5..ed6d723dd8a 100644 --- a/source/blender/editors/include/UI_resources.hh +++ b/source/blender/editors/include/UI_resources.hh @@ -102,7 +102,6 @@ enum ThemeColorID { TH_EDGE, TH_EDGE_SELECT, /* Stands for edge selection, not edge select mode. */ TH_EDGE_MODE_SELECT, - TH_EDGE_SEAM, TH_FACE, TH_FACE_SELECT, /* Stands for face selection, not face select mode. */ TH_FACE_MODE_SELECT, @@ -233,7 +232,6 @@ enum ThemeColorID { TH_SEQ_TEXT_CURSOR, TH_SEQ_SELECTED_TEXT, - TH_EDGE_SHARP, TH_EDITMESH_ACTIVE, TH_HANDLE_VERTEX, @@ -250,8 +248,6 @@ enum ThemeColorID { TH_PREVIEW_BACK, - TH_EDGE_CREASE, - TH_DRAWEXTRA_EDGELEN, TH_DRAWEXTRA_EDGEANG, TH_DRAWEXTRA_FACEAREA, @@ -286,9 +282,6 @@ enum ThemeColorID { TH_UV_SHADOW, - TH_FREESTYLE_EDGE_MARK, - TH_FREESTYLE_FACE_MARK, - TH_MATCH, /* highlight color for search matches */ TH_SELECT_HIGHLIGHT, /* highlight color for selected outliner item */ TH_SELECT_ACTIVE, /* highlight color for active outliner item */ @@ -371,8 +364,11 @@ enum ThemeColorID { TH_METADATA_BG, TH_METADATA_TEXT, - TH_EDGE_BEVEL, - TH_VERTEX_BEVEL, + TH_BEVEL, + TH_CREASE, + TH_SEAM, + TH_SHARP, + TH_FREESTYLE, }; /* Specific defines per space should have higher define values. */ diff --git a/source/blender/editors/interface/interface_icons.cc b/source/blender/editors/interface/interface_icons.cc index b15e88dd139..d81277205ed 100644 --- a/source/blender/editors/interface/interface_icons.cc +++ b/source/blender/editors/interface/interface_icons.cc @@ -1551,10 +1551,10 @@ static void svg_replace_color_attributes(std::string &svg, {"blender_tool_transform", tool_transform}, {"blender_tool_white", tool_white}, {"blender_tool_red", tool_red}, - {"blender_bevel_weight", nullptr, TH_EDGE_BEVEL}, - {"blender_mesh_crease", nullptr, TH_EDGE_CREASE}, - {"blender_edge_seam", nullptr, TH_EDGE_SEAM}, - {"blender_edge_sharp", nullptr, TH_EDGE_SHARP}, + {"blender_bevel", nullptr, TH_BEVEL}, + {"blender_crease", nullptr, TH_CREASE}, + {"blender_seam", nullptr, TH_SEAM}, + {"blender_sharp", nullptr, TH_SHARP}, }; for (const ColorItem &item : items) { diff --git a/source/blender/editors/interface/resources.cc b/source/blender/editors/interface/resources.cc index 6f0d2f4d7df..930ba75425e 100644 --- a/source/blender/editors/interface/resources.cc +++ b/source/blender/editors/interface/resources.cc @@ -382,9 +382,6 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid) case TH_VERTEX_ACTIVE: cp = ts->vertex_active; break; - case TH_VERTEX_BEVEL: - cp = ts->vertex_bevel; - break; case TH_VERTEX_UNREFERENCED: cp = ts->vertex_unreferenced; break; @@ -409,18 +406,6 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid) case TH_EDGE_MODE_SELECT: cp = ts->edge_mode_select; break; - case TH_EDGE_BEVEL: - cp = btheme->space_view3d.edge_bevel; - break; - case TH_EDGE_CREASE: - cp = btheme->space_view3d.edge_crease; - break; - case TH_EDGE_SEAM: - cp = btheme->space_view3d.edge_seam; - break; - case TH_EDGE_SHARP: - cp = btheme->space_view3d.edge_sharp; - break; case TH_EDITMESH_ACTIVE: cp = ts->editmesh_active; break; @@ -445,6 +430,23 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid) case TH_FACEDOT_SIZE: cp = &ts->facedot_size; break; + + case TH_BEVEL: + cp = btheme->space_view3d.bevel; + break; + case TH_CREASE: + cp = btheme->space_view3d.crease; + break; + case TH_SEAM: + cp = btheme->space_view3d.seam; + break; + case TH_SHARP: + cp = btheme->space_view3d.sharp; + break; + case TH_FREESTYLE: + cp = btheme->space_view3d.freestyle; + break; + case TH_DRAWEXTRA_EDGELEN: cp = ts->extra_edge_len; break; @@ -598,13 +600,6 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid) cp = btheme->common.curves.handle_sel_auto_clamped; break; - case TH_FREESTYLE_EDGE_MARK: - cp = ts->freestyle_edge_mark; - break; - case TH_FREESTYLE_FACE_MARK: - cp = ts->freestyle_face_mark; - break; - case TH_SYNTAX_B: cp = ts->syntaxb; break; diff --git a/source/blender/makesdna/DNA_theme_types.h b/source/blender/makesdna/DNA_theme_types.h index c0853deddd1..a86bb486b31 100644 --- a/source/blender/makesdna/DNA_theme_types.h +++ b/source/blender/makesdna/DNA_theme_types.h @@ -316,10 +316,8 @@ typedef struct ThemeSpace { unsigned char wire[4], wire_edit[4], select[4]; unsigned char lamp[4], speaker[4], empty[4], camera[4]; unsigned char active[4], transform[4]; - unsigned char vertex[4], vertex_select[4], vertex_active[4], vertex_bevel[4], - vertex_unreferenced[4]; + unsigned char vertex[4], vertex_select[4], vertex_active[4], vertex_unreferenced[4]; unsigned char edge[4], edge_select[4], edge_mode_select[4]; - unsigned char edge_seam[4], edge_sharp[4], edge_crease[4], edge_bevel[4]; /** Solid faces. */ unsigned char face[4], face_select[4], face_mode_select[4], face_retopology[4]; unsigned char face_back[4], face_front[4]; @@ -332,7 +330,9 @@ typedef struct ThemeSpace { unsigned char strip[4], strip_select[4]; unsigned char before_current_frame[4], after_current_frame[4]; unsigned char time_gp_keyframe[4]; - unsigned char freestyle_edge_mark[4], freestyle_face_mark[4]; + + /** Geometry attributes. */ + unsigned char bevel[4], seam[4], sharp[4], crease[4], freestyle[4]; unsigned char nurb_uline[4], nurb_vline[4]; unsigned char act_spline[4], nurb_sel_uline[4], nurb_sel_vline[4]; diff --git a/source/blender/makesrna/intern/rna_userdef.cc b/source/blender/makesrna/intern/rna_userdef.cc index 3be4d527d82..b151c293379 100644 --- a/source/blender/makesrna/intern/rna_userdef.cc +++ b/source/blender/makesrna/intern/rna_userdef.cc @@ -2617,9 +2617,7 @@ static void rna_def_userdef_theme_spaces_gradient(StructRNA *srna) RNA_def_property_ui_text(prop, "Theme Space", "Settings for space"); } -static void rna_def_userdef_theme_spaces_vertex(StructRNA *srna, - const bool has_vertex_active, - const bool has_vertex_attributes) +static void rna_def_userdef_theme_spaces_vertex(StructRNA *srna, const bool has_vertex_active) { PropertyRNA *prop; @@ -2644,18 +2642,6 @@ static void rna_def_userdef_theme_spaces_vertex(StructRNA *srna, RNA_def_property_range(prop, 1, 32); RNA_def_property_ui_text(prop, "Vertex Size", ""); RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); - - if (has_vertex_attributes) { - prop = RNA_def_property(srna, "vertex_bevel", PROP_FLOAT, PROP_COLOR_GAMMA); - RNA_def_property_array(prop, 3); - RNA_def_property_ui_text(prop, "Vertex Bevel", ""); - RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); - - prop = RNA_def_property(srna, "vertex_unreferenced", PROP_FLOAT, PROP_COLOR_GAMMA); - RNA_def_property_array(prop, 3); - RNA_def_property_ui_text(prop, "Vertex Group Unreferenced", ""); - RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); - } } static void rna_def_userdef_theme_spaces_edge(StructRNA *srna) @@ -2671,37 +2657,9 @@ static void rna_def_userdef_theme_spaces_edge(StructRNA *srna) RNA_def_property_array(prop, 3); RNA_def_property_ui_text(prop, "Edge Mode Selection", ""); RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); - - prop = RNA_def_property(srna, "edge_seam", PROP_FLOAT, PROP_COLOR_GAMMA); - RNA_def_property_array(prop, 3); - RNA_def_property_ui_text(prop, "Edge Seam", ""); - RNA_def_property_update(prop, 0, "rna_userdef_gpu_update"); - - prop = RNA_def_property(srna, "edge_sharp", PROP_FLOAT, PROP_COLOR_GAMMA); - RNA_def_property_array(prop, 3); - RNA_def_property_ui_text(prop, "Edge Sharp", ""); - RNA_def_property_update(prop, 0, "rna_userdef_gpu_update"); - - prop = RNA_def_property(srna, "edge_crease", PROP_FLOAT, PROP_COLOR_GAMMA); - RNA_def_property_array(prop, 3); - RNA_def_property_ui_text(prop, "Edge Crease", ""); - RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_ID_WINDOWMANAGER); - RNA_def_property_update(prop, 0, "rna_userdef_gpu_update"); - - prop = RNA_def_property(srna, "edge_bevel", PROP_FLOAT, PROP_COLOR_GAMMA); - RNA_def_property_array(prop, 3); - RNA_def_property_ui_text(prop, "Edge Bevel", ""); - RNA_def_property_update(prop, 0, "rna_userdef_gpu_update"); - - prop = RNA_def_property(srna, "freestyle_edge_mark", PROP_FLOAT, PROP_COLOR_GAMMA); - RNA_def_property_array(prop, 3); - RNA_def_property_ui_text(prop, "Freestyle Edge Mark", ""); - RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); } -static void rna_def_userdef_theme_spaces_face(StructRNA *srna, - const bool has_face_attributes, - const bool has_face_orientation) +static void rna_def_userdef_theme_spaces_face(StructRNA *srna, const bool has_face_orientation) { PropertyRNA *prop; @@ -2725,18 +2683,6 @@ static void rna_def_userdef_theme_spaces_face(StructRNA *srna, RNA_def_property_ui_text(prop, "Face Dot Size", ""); RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); - if (has_face_attributes) { - prop = RNA_def_property(srna, "freestyle_face_mark", PROP_FLOAT, PROP_COLOR_GAMMA); - RNA_def_property_array(prop, 4); - RNA_def_property_ui_text(prop, "Freestyle Face Mark", ""); - RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); - - prop = RNA_def_property(srna, "face_retopology", PROP_FLOAT, PROP_COLOR_GAMMA); - RNA_def_property_array(prop, 4); - RNA_def_property_ui_text(prop, "Face Retopology", ""); - RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); - } - if (has_face_orientation) { prop = RNA_def_property(srna, "face_back", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_array(prop, 4); @@ -2878,9 +2824,35 @@ static void rna_def_userdef_theme_space_view3d(BlenderRNA *brna) /* Mesh Object specific */ - rna_def_userdef_theme_spaces_vertex(srna, false, true); + rna_def_userdef_theme_spaces_vertex(srna, false); rna_def_userdef_theme_spaces_edge(srna); - rna_def_userdef_theme_spaces_face(srna, true, true); + rna_def_userdef_theme_spaces_face(srna, true); + + prop = RNA_def_property(srna, "bevel", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_array(prop, 3); + RNA_def_property_ui_text(prop, "Bevel", ""); + RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); + + prop = RNA_def_property(srna, "seam", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_array(prop, 3); + RNA_def_property_ui_text(prop, "Seam", ""); + RNA_def_property_update(prop, 0, "rna_userdef_gpu_update"); + + prop = RNA_def_property(srna, "sharp", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_array(prop, 3); + RNA_def_property_ui_text(prop, "Sharp", ""); + RNA_def_property_update(prop, 0, "rna_userdef_gpu_update"); + + prop = RNA_def_property(srna, "crease", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_array(prop, 3); + RNA_def_property_ui_text(prop, "Crease", ""); + RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_ID_WINDOWMANAGER); + RNA_def_property_update(prop, 0, "rna_userdef_gpu_update"); + + prop = RNA_def_property(srna, "freestyle", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_array(prop, 4); + RNA_def_property_ui_text(prop, "Freestyle", ""); + RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); prop = RNA_def_property(srna, "extra_edge_len", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_array(prop, 3); @@ -2923,6 +2895,16 @@ static void rna_def_userdef_theme_space_view3d(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Custom Normal", ""); RNA_def_property_update(prop, 0, "rna_userdef_update"); + prop = RNA_def_property(srna, "vertex_unreferenced", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_array(prop, 3); + RNA_def_property_ui_text(prop, "Vertex Group Unreferenced", ""); + RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); + + prop = RNA_def_property(srna, "face_retopology", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_array(prop, 4); + RNA_def_property_ui_text(prop, "Face Retopology", ""); + RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); + /* Curve Object specific */ prop = RNA_def_property(srna, "nurb_uline", PROP_FLOAT, PROP_COLOR_GAMMA); @@ -3063,7 +3045,7 @@ static void rna_def_userdef_theme_space_graph(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Grid", ""); RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); - rna_def_userdef_theme_spaces_vertex(srna, true, false); + rna_def_userdef_theme_spaces_vertex(srna, true); } static void rna_def_userdef_theme_space_file(BlenderRNA *brna) @@ -3600,8 +3582,8 @@ static void rna_def_userdef_theme_space_image(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Grid", ""); RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); - rna_def_userdef_theme_spaces_vertex(srna, false, false); - rna_def_userdef_theme_spaces_face(srna, false, false); + rna_def_userdef_theme_spaces_vertex(srna, false); + rna_def_userdef_theme_spaces_face(srna, false); prop = RNA_def_property(srna, "editmesh_active", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_array(prop, 4);