Added theme support for vertex normals display alongside face normals.

This makes having both enabled at the same time actually useful!

http://www.pasteall.org/pic/show.php?id=1265
This commit is contained in:
Daniel Salazar 2010-02-11 03:37:51 +00:00
parent 15ef07d684
commit d65101629d
6 changed files with 16 additions and 2 deletions

@ -653,6 +653,7 @@ class USERPREF_PT_theme(bpy.types.Panel):
col.prop(v3d, "vertex")
col.prop(v3d, "face", slider=True)
col.prop(v3d, "normal")
col.prop(v3d, "vertex_normal")
col.prop(v3d, "bone_solid")
col.prop(v3d, "bone_pose")
#col.prop(v3d, "edge") Doesn't seem to work

@ -160,6 +160,7 @@ enum {
TH_FACE,
TH_FACE_SELECT,
TH_NORMAL,
TH_VNORMAL,
TH_FACE_DOT,
TH_FACEDOT_SIZE,
TH_CFRAME,

@ -293,6 +293,8 @@ char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
cp= &ts->facedot_size; break;
case TH_NORMAL:
cp= ts->normal; break;
case TH_VNORMAL:
cp= ts->vertex_normal; break;
case TH_BONE_SOLID:
cp= ts->bone_solid; break;
case TH_BONE_POSE:
@ -486,6 +488,7 @@ void ui_theme_init_userdef(void)
SETCOL(btheme->tv3d.face, 0, 0, 0, 18);
SETCOL(btheme->tv3d.face_select, 255, 133, 0, 60);
SETCOL(btheme->tv3d.normal, 0x22, 0xDD, 0xDD, 255);
SETCOL(btheme->tv3d.vertex_normal, 0x23, 0x61, 0xDD, 255);
SETCOL(btheme->tv3d.face_dot, 255, 133, 0, 255);
btheme->tv3d.facedot_size= 4;
SETCOL(btheme->tv3d.cframe, 0x60, 0xc0, 0x40, 255);
@ -984,6 +987,9 @@ void init_userdef_do_versions(void)
if(btheme->tv3d.normal[3]==0) {
SETCOL(btheme->tv3d.normal, 0x22, 0xDD, 0xDD, 255);
}
if(btheme->tv3d.vertex_normal[3]==0) {
SETCOL(btheme->tv3d.vertex_normal, 0x23, 0x61, 0xDD, 255);
}
if(btheme->tv3d.face_dot[3]==0) {
SETCOL(btheme->tv3d.face_dot, 255, 138, 48, 255);
btheme->tv3d.facedot_size= 4;

@ -2313,7 +2313,7 @@ static void draw_em_fancy(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object
draw_dm_face_normals(scene, cageDM);
}
if(me->drawflag & ME_DRAW_VNORMALS) {
UI_ThemeColor(TH_NORMAL);
UI_ThemeColor(TH_VNORMAL);
draw_dm_vert_normals(scene, cageDM);
}

@ -196,6 +196,7 @@ typedef struct ThemeSpace {
char face[4], face_select[4]; // solid faces
char face_dot[4]; // selected color
char normal[4];
char vertex_normal[4];
char bone_solid[4], bone_pose[4];
char strip[4], strip_select[4];
char cframe[4];

@ -761,7 +761,12 @@ static void rna_def_userdef_theme_space_view3d(BlenderRNA *brna)
prop= RNA_def_property(srna, "normal", PROP_FLOAT, PROP_COLOR);
RNA_def_property_array(prop, 3);
RNA_def_property_ui_text(prop, "Normal", "");
RNA_def_property_ui_text(prop, "Face Normal", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
prop= RNA_def_property(srna, "vertex_normal", PROP_FLOAT, PROP_COLOR);
RNA_def_property_array(prop, 3);
RNA_def_property_ui_text(prop, "Vertex Normal", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
prop= RNA_def_property(srna, "bone_solid", PROP_FLOAT, PROP_COLOR);