Fix #31550: Active Armature bone hardly distinguishable from other selected bones
authorSergey Sharybin <sergey.vfx@gmail.com>
Thu, 26 Jul 2012 10:53:59 +0000 (10:53 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Thu, 26 Jul 2012 10:53:59 +0000 (10:53 +0000)
Made active bone color a bit brighter and made it a userpref option.

source/blender/blenkernel/BKE_blender.h
source/blender/editors/include/UI_resources.h
source/blender/editors/interface/resources.c
source/blender/editors/space_view3d/drawarmature.c
source/blender/makesdna/DNA_userdef_types.h
source/blender/makesrna/intern/rna_userdef.c

index 48c7103..8476791 100644 (file)
@@ -42,7 +42,7 @@ extern "C" {
  * and keep comment above the defines.
  * Use STRINGIFY() rather than defining with quotes */
 #define BLENDER_VERSION         263
-#define BLENDER_SUBVERSION      14
+#define BLENDER_SUBVERSION      15
 
 #define BLENDER_MINVERSION      250
 #define BLENDER_MINSUBVERSION   0
index 51df30d..e879a01 100644 (file)
@@ -127,6 +127,7 @@ enum {
        
        TH_BONE_SOLID,
        TH_BONE_POSE,
+       TH_BONE_POSE_ACTIVE,
        
        TH_STRIP,
        TH_STRIP_SELECT,
index 50f93f7..ba6f1be 100644 (file)
@@ -303,6 +303,8 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
                                        cp = ts->bone_solid; break;
                                case TH_BONE_POSE:
                                        cp = ts->bone_pose; break;
+                               case TH_BONE_POSE_ACTIVE:
+                                       cp = ts->bone_pose_active; break;
                                case TH_STRIP:
                                        cp = ts->strip; break;
                                case TH_STRIP_SELECT:
@@ -739,6 +741,7 @@ void ui_theme_init_default(void)
        rgba_char_args_set(btheme->tv3d.bone_solid, 200, 200, 200, 255);
        /* alpha 80 is not meant editable, used for wire+action draw */
        rgba_char_args_set(btheme->tv3d.bone_pose, 80, 200, 255, 80);
+       rgba_char_args_set(btheme->tv3d.bone_pose_active, 140, 255, 255, 80);
 
        rgba_char_args_set(btheme->tv3d.bundle_solid, 200, 200, 200, 255);
        rgba_char_args_set(btheme->tv3d.camera_path, 0x00, 0x00, 0x00, 255);
@@ -1914,6 +1917,13 @@ void init_userdef_do_versions(void)
                }
        }
 
+       if (bmain->versionfile < 263 || (bmain->versionfile == 263 && bmain->subversionfile < 15)) {
+               bTheme *btheme;
+               for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+                       rgba_char_args_set(btheme->tv3d.bone_pose_active, 140, 255, 255, 80);
+               }
+       }
+
        /* GL Texture Garbage Collection (variable abused above!) */
        if (U.textimeout == 0) {
                U.texcollectrate = 60;
index 48b3672..a05bc5e 100644 (file)
@@ -171,7 +171,7 @@ static short set_pchan_glColor(short colCode, int boneflag, short constflag)
                        }
                        else {
                                if ((boneflag & BONE_DRAW_ACTIVE) && (boneflag & BONE_SELECTED)) {
-                                       UI_ThemeColorShade(TH_BONE_POSE, 40);
+                                       UI_ThemeColor(TH_BONE_POSE_ACTIVE);
                                }
                                else if (boneflag & BONE_DRAW_ACTIVE) {
                                        UI_ThemeColorBlend(TH_WIRE, TH_BONE_POSE, 0.15f); /* unselected active */
index 4e9ec0d..7f52956 100644 (file)
@@ -215,7 +215,7 @@ typedef struct ThemeSpace {
        char extra_edge_len[4], extra_face_angle[4], extra_face_area[4], pad3[4];
        char normal[4];
        char vertex_normal[4];
-       char bone_solid[4], bone_pose[4];
+       char bone_solid[4], bone_pose[4], bone_pose_active[4];
        char strip[4], strip_select[4];
        char cframe[4];
        
@@ -264,8 +264,6 @@ typedef struct ThemeSpace {
 
        char skin_root[4]; /* Skin modifier root color */
        
-       int pad4;
-       
        /* NLA */
        char anim_active[4];     /* Active Action + Summary Channel */
        char anim_non_active[4]; /* Active Action = NULL */
index aa239db..5820de3 100644 (file)
@@ -1183,6 +1183,11 @@ static void rna_def_userdef_theme_space_view3d(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Bone Pose", "");
        RNA_def_property_update(prop, 0, "rna_userdef_update");
 
+       prop = RNA_def_property(srna, "bone_pose_active", PROP_FLOAT, PROP_COLOR_GAMMA);
+       RNA_def_property_array(prop, 3);
+       RNA_def_property_ui_text(prop, "Bone Pose Active", "");
+       RNA_def_property_update(prop, 0, "rna_userdef_update");
+
        prop = RNA_def_property(srna, "frame_current", PROP_FLOAT, PROP_COLOR_GAMMA);
        RNA_def_property_float_sdna(prop, NULL, "cframe");
        RNA_def_property_array(prop, 3);