UserPref/Node editor feature: Change the level of noodle curving.
Some people like curved lines, other hate them. This commit will let the user change the level of curving. In UserPreferences=>Themes=>Node editor=>Noodle curving the level can be modified. Allowed range is 0-10 with the default on 5 The patch will default everything to the way blender works ATM. File subversion has been increased otherwise older 258 files got straight lines. The data is stored in the ThemeSpace.noodle_curving the bezierdrawing is done in the drawnode. Also tested the Line cut tool
This commit is contained in:
parent
f3c40df5e3
commit
9da70f74d3
@ -242,7 +242,9 @@ enum {
|
||||
|
||||
TH_DRAWEXTRA_EDGELEN,
|
||||
TH_DRAWEXTRA_FACEAREA,
|
||||
TH_DRAWEXTRA_FACEANG
|
||||
TH_DRAWEXTRA_FACEANG,
|
||||
|
||||
TH_NODE_CURVING
|
||||
};
|
||||
/* XXX WARNING: previous is saved in file, so do not change order! */
|
||||
|
||||
|
@ -360,7 +360,9 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
|
||||
cp= ts->syntaxv; break;
|
||||
case TH_NODE_GROUP:
|
||||
cp= ts->syntaxc; break;
|
||||
|
||||
case TH_NODE_CURVING:
|
||||
cp= &ts->noodle_curving; break;
|
||||
|
||||
case TH_SEQ_MOVIE:
|
||||
cp= ts->movie; break;
|
||||
case TH_SEQ_IMAGE:
|
||||
@ -787,6 +789,7 @@ void ui_theme_init_default(void)
|
||||
SETCOL(btheme->tnode.syntaxb, 108, 105, 111, 255); /* operator */
|
||||
SETCOL(btheme->tnode.syntaxv, 104, 106, 117, 255); /* generator */
|
||||
SETCOL(btheme->tnode.syntaxc, 105, 117, 110, 255); /* group */
|
||||
btheme->tnode.noodle_curving = 5;
|
||||
|
||||
/* space logic */
|
||||
btheme->tlogic= btheme->tv3d;
|
||||
@ -1553,7 +1556,14 @@ void init_userdef_do_versions(void)
|
||||
/* clear "AUTOKEY_FLAG_ONLYKEYINGSET" flag from userprefs, so that it doesn't linger around from old configs like a ghost */
|
||||
U.autokey_flag &= ~AUTOKEY_FLAG_ONLYKEYINGSET;
|
||||
}
|
||||
|
||||
|
||||
if (bmain->versionfile < 258 || (bmain->versionfile == 258 && bmain->subversionfile < 2)) {
|
||||
bTheme *btheme;
|
||||
for(btheme= U.themes.first; btheme; btheme= btheme->next) {
|
||||
btheme->tnode.noodle_curving = 5;
|
||||
}
|
||||
}
|
||||
|
||||
/* GL Texture Garbage Collection (variable abused above!) */
|
||||
if (U.textimeout == 0) {
|
||||
U.texcollectrate = 60;
|
||||
|
@ -1768,8 +1768,8 @@ int node_link_bezier_points(View2D *v2d, SpaceNode *snode, bNodeLink *link, floa
|
||||
vec[3][0]= snode->mx;
|
||||
vec[3][1]= snode->my;
|
||||
}
|
||||
|
||||
dist= 0.5f*ABS(vec[0][0] - vec[3][0]);
|
||||
|
||||
dist= UI_GetThemeValue(TH_NODE_CURVING)*0.10f*ABS(vec[0][0] - vec[3][0]);
|
||||
|
||||
/* check direction later, for top sockets */
|
||||
vec[1][0]= vec[0][0]+dist;
|
||||
|
@ -220,7 +220,7 @@ typedef struct ThemeSpace {
|
||||
char console_cursor[4];
|
||||
|
||||
char vertex_size, outline_width, facedot_size;
|
||||
char bpad;
|
||||
char noodle_curving;
|
||||
|
||||
char syntaxl[4], syntaxn[4], syntaxb[4]; // syntax for textwindow and nodes
|
||||
char syntaxv[4], syntaxc[4];
|
||||
|
@ -1351,6 +1351,13 @@ static void rna_def_userdef_theme_space_node(BlenderRNA *brna)
|
||||
RNA_def_property_array(prop, 3);
|
||||
RNA_def_property_ui_text(prop, "Group Node", "");
|
||||
RNA_def_property_update(prop, 0, "rna_userdef_update");
|
||||
|
||||
prop= RNA_def_property(srna, "noodle_curving", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_int_sdna(prop, NULL, "noodle_curving");
|
||||
RNA_def_property_int_default(prop, 5);
|
||||
RNA_def_property_range(prop, 0, 10);
|
||||
RNA_def_property_ui_text(prop, "Noodle curving", "Curving of the noodle");
|
||||
RNA_def_property_update(prop, 0, "rna_userdef_update");
|
||||
}
|
||||
|
||||
static void rna_def_userdef_theme_space_logic(BlenderRNA *brna)
|
||||
|
Loading…
Reference in New Issue
Block a user