[Bf-blender-cvs] [b7871351f65] custom-manipulators: Limit only face-map option to active-pose armature
Campbell Barton
noreply at git.blender.org
Tue May 30 11:13:35 CEST 2017
Commit: b7871351f657fc9786c58f69988d2754cf3eb8ee
Author: Campbell Barton
Date: Tue May 30 19:13:19 2017 +1000
Branches: custom-manipulators
https://developer.blender.org/rBb7871351f657fc9786c58f69988d2754cf3eb8ee
Limit only face-map option to active-pose armature
===================================================================
M source/blender/draw/intern/draw_armature.c
M source/blender/draw/intern/draw_common.h
M source/blender/draw/modes/pose_mode.c
===================================================================
diff --git a/source/blender/draw/intern/draw_armature.c b/source/blender/draw/intern/draw_armature.c
index 865aaaf6bfa..22917eb55d4 100644
--- a/source/blender/draw/intern/draw_armature.c
+++ b/source/blender/draw/intern/draw_armature.c
@@ -1283,7 +1283,7 @@ static void draw_armature_edit(Object *ob)
}
/* if const_color is NULL do pose mode coloring */
-static void draw_armature_pose(Object *ob, const float const_color[4])
+static void draw_armature_pose(Object *ob, const float const_color[4], bool is_active)
{
bArmature *arm = ob->data;
bPoseChannel *pchan;
@@ -1298,7 +1298,7 @@ static void draw_armature_pose(Object *ob, const float const_color[4])
}
// if (!(base->flag & OB_FROMDUPLI)) // TODO
- {
+ if (is_active) {
if (ob->mode & OB_MODE_POSE) {
arm->flag |= ARM_POSEMODE;
}
@@ -1430,15 +1430,15 @@ void DRW_shgroup_armature_object(
DRW_object_wire_theme_get(ob, sl, &color);
DRW_shgroup_armature(ob, pass_bone_solid, pass_bone_wire, NULL, shgrp_relationship_lines);
- draw_armature_pose(ob, color);
+ draw_armature_pose(ob, color, false);
}
void DRW_shgroup_armature_pose(
- Object *ob, DRWPass *pass_bone_solid, DRWPass *pass_bone_wire, DRWPass *pass_bone_envelope,
+ Object *ob, SceneLayer *sl, DRWPass *pass_bone_solid, DRWPass *pass_bone_wire, DRWPass *pass_bone_envelope,
DRWShadingGroup *shgrp_relationship_lines)
{
DRW_shgroup_armature(ob, pass_bone_solid, pass_bone_wire, pass_bone_envelope, shgrp_relationship_lines);
- draw_armature_pose(ob, NULL);
+ draw_armature_pose(ob, NULL, OBACT_NEW == ob);
}
void DRW_shgroup_armature_edit(
diff --git a/source/blender/draw/intern/draw_common.h b/source/blender/draw/intern/draw_common.h
index 2c597a175ff..1ee3a51ccd0 100644
--- a/source/blender/draw/intern/draw_common.h
+++ b/source/blender/draw/intern/draw_common.h
@@ -115,7 +115,7 @@ void DRW_shgroup_armature_object(
struct DRWShadingGroup *shgrp_relationship_lines);
void DRW_shgroup_armature_pose(
- struct Object *ob,
+ struct Object *ob, SceneLayer *sl,
struct DRWPass *pass_bone_solid, struct DRWPass *pass_bone_wire, struct DRWPass *pass_bone_envelope,
struct DRWShadingGroup *shgrp_relationship_lines);
diff --git a/source/blender/draw/modes/pose_mode.c b/source/blender/draw/modes/pose_mode.c
index d3233d713a1..d5c100e8636 100644
--- a/source/blender/draw/modes/pose_mode.c
+++ b/source/blender/draw/modes/pose_mode.c
@@ -123,7 +123,7 @@ static void POSE_cache_populate(void *vedata, Object *ob)
if (ob->type == OB_ARMATURE) {
if (DRW_pose_mode_armature(ob, draw_ctx->obact)) {
DRW_shgroup_armature_pose(
- ob, psl->bone_solid, psl->bone_wire, psl->bone_envelope,
+ ob, draw_ctx->sl, psl->bone_solid, psl->bone_wire, psl->bone_envelope,
stl->g_data->relationship_lines);
}
}
More information about the Bf-blender-cvs
mailing list