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
This commit is contained in:
Nika Kutsniashvili
2025-09-25 14:02:46 +02:00
committed by Nika Kutsniashvili
parent 1a0a35ac93
commit 28b97afda2
14 changed files with 102 additions and 125 deletions

View File

@@ -1 +1 @@
<svg height="1600" viewBox="0 0 1500 1600" width="1500" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"><sodipodi:namedview pagecolor="#303030" showgrid="true"><inkscape:grid id="grid5" units="px" spacingx="100" spacingy="100" color="#4772b3" opacity="0.2" visible="true" /></sodipodi:namedview><g enable-background="new" transform="matrix(0 -100 -100 0 19302.143 4198.242)"><g id="blender_bevel_weight" fill="#fff"><path d="m27.486328 183.01367c-.276131.00003-.499972.22387-.5.5v2c.000028.27613.223869.49997.5.5h9c.276131-.00003.499972-.22387.5-.5v-2c-.000028-.27613-.223869-.49997-.5-.5z" fill-rule="evenodd"/></g><g id="blender_text" fill="#fff"><path d="m31.478516 179.02148c-.1326.00003-.259761.0527-.353516.14649l-1.992188 1.99219c-.490839.47125.235779 1.19787.707032.70703l1.845703-1.84571h8.292969v8.29297l-2.707032 2.70703h-8.292968l.0072-4.00727-1-.002-.0072 4.50727c-.0011.27689.223106.50192.5.50195h9c.132599-.00002.259759-.0527.353515-.14648l3-3c.09377-.0938.14646-.22092.146485-.35352v-9c-.000028-.27613-.223869-.49997-.5-.5z" opacity=".6"/></g></g></svg>
<svg height="1600" viewBox="0 0 1500 1600" width="1500" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"><sodipodi:namedview pagecolor="#303030" showgrid="true"><inkscape:grid id="grid5" units="px" spacingx="100" spacingy="100" color="#4772b3" opacity="0.2" visible="true" /></sodipodi:namedview><g enable-background="new" transform="matrix(0 -100 -100 0 19302.143 4198.242)"><g id="blender_bevel" fill="#fff"><path d="m27.486328 183.01367c-.276131.00003-.499972.22387-.5.5v2c.000028.27613.223869.49997.5.5h9c.276131-.00003.499972-.22387.5-.5v-2c-.000028-.27613-.223869-.49997-.5-.5z" fill-rule="evenodd"/></g><g id="blender_text" fill="#fff"><path d="m31.478516 179.02148c-.1326.00003-.259761.0527-.353516.14649l-1.992188 1.99219c-.490839.47125.235779 1.19787.707032.70703l1.845703-1.84571h8.292969v8.29297l-2.707032 2.70703h-8.292968l.0072-4.00727-1-.002-.0072 4.50727c-.0011.27689.223106.50192.5.50195h9c.132599-.00002.259759-.0527.353515-.14648l3-3c.09377-.0938.14646-.22092.146485-.35352v-9c-.000028-.27613-.223869-.49997-.5-.5z" opacity=".6"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1 +1 @@
<svg height="1600" viewBox="0 0 1500 1600" width="1500" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"><sodipodi:namedview pagecolor="#303030" showgrid="true"><inkscape:grid id="grid5" units="px" spacingx="100" spacingy="100" color="#4772b3" opacity="0.2" visible="true" /></sodipodi:namedview><g enable-background="new" transform="matrix(0 -100 -100 0 19302.143 4198.242)"><g id="blender_mesh_crease" fill="#fff"><path d="m27.486328 183.01367c-.276131.00003-.499972.22387-.5.5v2c.000028.27613.223869.49997.5.5h9c.276131-.00003.499972-.22387.5-.5v-2c-.000028-.27613-.223869-.49997-.5-.5z" fill-rule="evenodd"/></g><g id="blender_text" fill="#fff"><path d="m31.478516 179.02148c-.1326.00003-.259761.0527-.353516.14649l-1.992188 1.99219c-.490839.47125.235779 1.19787.707032.70703l1.845703-1.84571h8.292969v8.29297l-2.707032 2.70703h-8.292968l.0072-4.00727-1-.002-.0072 4.50727c-.0011.27689.223106.50192.5.50195h9c.132599-.00002.259759-.0527.353515-.14648l3-3c.09377-.0938.14646-.22092.146485-.35352v-9c-.000028-.27613-.223869-.49997-.5-.5z" opacity=".6"/></g></g></svg>
<svg height="1600" viewBox="0 0 1500 1600" width="1500" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"><sodipodi:namedview pagecolor="#303030" showgrid="true"><inkscape:grid id="grid5" units="px" spacingx="100" spacingy="100" color="#4772b3" opacity="0.2" visible="true" /></sodipodi:namedview><g enable-background="new" transform="matrix(0 -100 -100 0 19302.143 4198.242)"><g id="blender_crease" fill="#fff"><path d="m27.486328 183.01367c-.276131.00003-.499972.22387-.5.5v2c.000028.27613.223869.49997.5.5h9c.276131-.00003.499972-.22387.5-.5v-2c-.000028-.27613-.223869-.49997-.5-.5z" fill-rule="evenodd"/></g><g id="blender_text" fill="#fff"><path d="m31.478516 179.02148c-.1326.00003-.259761.0527-.353516.14649l-1.992188 1.99219c-.490839.47125.235779 1.19787.707032.70703l1.845703-1.84571h8.292969v8.29297l-2.707032 2.70703h-8.292968l.0072-4.00727-1-.002-.0072 4.50727c-.0011.27689.223106.50192.5.50195h9c.132599-.00002.259759-.0527.353515-.14648l3-3c.09377-.0938.14646-.22092.146485-.35352v-9c-.000028-.27613-.223869-.49997-.5-.5z" opacity=".6"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1 +1 @@
<svg height="1600" viewBox="0 0 1500 1600" width="1500" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"><sodipodi:namedview pagecolor="#303030" showgrid="true"><inkscape:grid id="grid5" units="px" spacingx="100" spacingy="100" color="#4772b3" opacity="0.2" visible="true" /></sodipodi:namedview><g enable-background="new" transform="matrix(0 -100 -100 0 19302.143 4198.242)"><g id="blender_edge_seam" fill="#fff"><path d="m27.486328 183.01367c-.276131.00003-.499972.22387-.5.5v2c.000028.27613.223869.49997.5.5h9c.276131-.00003.499972-.22387.5-.5v-2c-.000028-.27613-.223869-.49997-.5-.5z" fill-rule="evenodd"/></g><g id="blender_text" fill="#fff"><path d="m31.478516 179.02148c-.1326.00003-.259761.0527-.353516.14649l-1.992188 1.99219c-.490839.47125.235779 1.19787.707032.70703l1.845703-1.84571h8.292969v8.29297l-2.707032 2.70703h-8.292968l.0072-4.00727-1-.002-.0072 4.50727c-.0011.27689.223106.50192.5.50195h9c.132599-.00002.259759-.0527.353515-.14648l3-3c.09377-.0938.14646-.22092.146485-.35352v-9c-.000028-.27613-.223869-.49997-.5-.5z" opacity=".6"/></g></g></svg>
<svg height="1600" viewBox="0 0 1500 1600" width="1500" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"><sodipodi:namedview pagecolor="#303030" showgrid="true"><inkscape:grid id="grid5" units="px" spacingx="100" spacingy="100" color="#4772b3" opacity="0.2" visible="true" /></sodipodi:namedview><g enable-background="new" transform="matrix(0 -100 -100 0 19302.143 4198.242)"><g id="blender_seam" fill="#fff"><path d="m27.486328 183.01367c-.276131.00003-.499972.22387-.5.5v2c.000028.27613.223869.49997.5.5h9c.276131-.00003.499972-.22387.5-.5v-2c-.000028-.27613-.223869-.49997-.5-.5z" fill-rule="evenodd"/></g><g id="blender_text" fill="#fff"><path d="m31.478516 179.02148c-.1326.00003-.259761.0527-.353516.14649l-1.992188 1.99219c-.490839.47125.235779 1.19787.707032.70703l1.845703-1.84571h8.292969v8.29297l-2.707032 2.70703h-8.292968l.0072-4.00727-1-.002-.0072 4.50727c-.0011.27689.223106.50192.5.50195h9c.132599-.00002.259759-.0527.353515-.14648l3-3c.09377-.0938.14646-.22092.146485-.35352v-9c-.000028-.27613-.223869-.49997-.5-.5z" opacity=".6"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1 +1 @@
<svg height="1600" viewBox="0 0 1500 1600" width="1500" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"><sodipodi:namedview pagecolor="#303030" showgrid="true"><inkscape:grid id="grid5" units="px" spacingx="100" spacingy="100" color="#4772b3" opacity="0.2" visible="true" /></sodipodi:namedview><g enable-background="new" transform="matrix(0 -100 -100 0 19302.143 4198.242)"><g id="blender_edge_sharp" fill="#fff"><path d="m27.486328 183.01367c-.276131.00003-.499972.22387-.5.5v2c.000028.27613.223869.49997.5.5h9c.276131-.00003.499972-.22387.5-.5v-2c-.000028-.27613-.223869-.49997-.5-.5z" fill-rule="evenodd"/></g><g id="blender_text" fill="#fff"><path id="blender_text" d="m31.478516 179.02148c-.1326.00003-.259761.0527-.353516.14649l-1.992188 1.99219c-.490839.47125.235779 1.19787.707032.70703l1.845703-1.84571h8.292969v8.29297l-2.707032 2.70703h-8.292968l.0072-4.00727-1-.002-.0072 4.50727c-.0011.27689.223106.50192.5.50195h9c.132599-.00002.259759-.0527.353515-.14648l3-3c.09377-.0938.14646-.22092.146485-.35352v-9c-.000028-.27613-.223869-.49997-.5-.5z" opacity=".6"/></g></g></svg>
<svg height="1600" viewBox="0 0 1500 1600" width="1500" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"><sodipodi:namedview pagecolor="#303030" showgrid="true"><inkscape:grid id="grid5" units="px" spacingx="100" spacingy="100" color="#4772b3" opacity="0.2" visible="true" /></sodipodi:namedview><g enable-background="new" transform="matrix(0 -100 -100 0 19302.143 4198.242)"><g id="blender_sharp" fill="#fff"><path d="m27.486328 183.01367c-.276131.00003-.499972.22387-.5.5v2c.000028.27613.223869.49997.5.5h9c.276131-.00003.499972-.22387.5-.5v-2c-.000028-.27613-.223869-.49997-.5-.5z" fill-rule="evenodd"/></g><g id="blender_text" fill="#fff"><path id="blender_text" d="m31.478516 179.02148c-.1326.00003-.259761.0527-.353516.14649l-1.992188 1.99219c-.490839.47125.235779 1.19787.707032.70703l1.845703-1.84571h8.292969v8.29297l-2.707032 2.70703h-8.292968l.0072-4.00727-1-.002-.0072 4.50727c-.0011.27689.223106.50192.5.50195h9c.132599-.00002.259759-.0527.353515-.14648l3-3c.09377-.0938.14646-.22092.146485-.35352v-9c-.000028-.27613-.223869-.49997-.5-.5z" opacity=".6"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -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),

View File

@@ -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"

View File

@@ -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

View File

@@ -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.

View File

@@ -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);

View File

@@ -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. */

View File

@@ -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) {

View File

@@ -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;

View File

@@ -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];

View File

@@ -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);