diff options
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/BKE_action.h | 6 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/action.c | 18 | ||||
-rw-r--r-- | source/blender/editors/animation/anim_keyframing.c | 8 | ||||
-rw-r--r-- | source/blender/editors/animation/anim_ops.c | 2 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/SConscript | 2 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/view3d_draw.c | 7 |
6 files changed, 35 insertions, 8 deletions
diff --git a/source/blender/blenkernel/BKE_action.h b/source/blender/blenkernel/BKE_action.h index 37ced4cb00b..37b1332170a 100644 --- a/source/blender/blenkernel/BKE_action.h +++ b/source/blender/blenkernel/BKE_action.h @@ -92,6 +92,12 @@ void do_all_shape_actions(struct Object *); */ struct bPoseChannel *get_pose_channel(const struct bPose *pose, const char *name); + +/** + * Return a pointer to the active pose channel from this Object. + * (Note: Object, not bPose is used here, as we need layer info from Armature) + */ +struct bPoseChannel *get_active_posechannel(struct Object *ob); /** * Looks to see if the channel with the given name diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c index 98f8a83f809..13ceced789b 100644 --- a/source/blender/blenkernel/intern/action.c +++ b/source/blender/blenkernel/intern/action.c @@ -278,6 +278,24 @@ bPoseChannel *verify_pose_channel(bPose* pose, const char* name) return chan; } +/* Find the active posechannel for an object (we can't just use pose, as layer info is in armature) */ +bPoseChannel *get_active_posechannel (Object *ob) +{ + bArmature *arm= (ob) ? ob->data : NULL; + bPoseChannel *pchan; + + if ELEM3(NULL, ob, ob->pose, arm) + return NULL; + + /* find active */ + for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { + if ((pchan->bone) && (pchan->bone->flag & BONE_ACTIVE) && (pchan->bone->layer & arm->layer)) + return pchan; + } + + return NULL; +} + /* dst should be freed already, makes entire duplicate */ void copy_pose(bPose **dst, bPose *src, int copycon) diff --git a/source/blender/editors/animation/anim_keyframing.c b/source/blender/editors/animation/anim_keyframing.c index 51dc04fa407..7a0e133a670 100644 --- a/source/blender/editors/animation/anim_keyframing.c +++ b/source/blender/editors/animation/anim_keyframing.c @@ -25,7 +25,7 @@ * ***** END GPL LICENSE BLOCK ***** */ -#if 0 // XXX reenable this file again later... + #include <stdio.h> #include <string.h> @@ -382,6 +382,8 @@ void insert_vert_icu (IpoCurve *icu, float x, float y, short fast) } } +#if 0 // XXX code to clean up + /* ------------------- Get Data ------------------------ */ /* Get pointer to use to get values from */ @@ -2083,6 +2085,8 @@ void common_deletekey (void) common_modifykey(COMMONKEY_MODE_DELETE); } +#endif // XXX reenable this file again later... + /* ************************************************** */ /* KEYFRAME DETECTION */ @@ -2282,5 +2286,3 @@ short id_frame_has_keyframe (ID *id, float frame, short filter) } /* ************************************************** */ - -#endif // XXX reenable this file again later... diff --git a/source/blender/editors/animation/anim_ops.c b/source/blender/editors/animation/anim_ops.c index c63c4d8a872..077dd110269 100644 --- a/source/blender/editors/animation/anim_ops.c +++ b/source/blender/editors/animation/anim_ops.c @@ -247,7 +247,7 @@ static int previewrange_define_exec(bContext *C, wmOperator *op) scene->r.psfra= (int)sfra; scene->r.pefra= (int)efra; - //BIF_undo_push("Set Preview Range"); + //BIF_undo_push("Clear Preview Range"); return OPERATOR_FINISHED; } diff --git a/source/blender/editors/space_view3d/SConscript b/source/blender/editors/space_view3d/SConscript index fac4cd65ee2..4d9d484ffa1 100644 --- a/source/blender/editors/space_view3d/SConscript +++ b/source/blender/editors/space_view3d/SConscript @@ -8,4 +8,4 @@ incs += ' ../../windowmanager #/intern/guardedalloc #/extern/glew/include' incs += ' ../../render/extern/include #/intern/guardedalloc #intern/bmfont' incs += ' ../../gpu ../../makesrna' -env.BlenderLib ( 'bf_editors_space_view3d', sources, Split(incs), [], libtype=['core','intern'], priority=[35, 40] ) +env.BlenderLib ( 'bf_editors_space_view3d', sources, Split(incs), [], libtype=['core','intern'], priority=[33, 38] ) diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index a4134aac449..d2f9831ec6e 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -70,6 +70,7 @@ #include "WM_api.h" +#include "ED_keyframing.h" #include "ED_screen.h" #include "ED_util.h" #include "ED_types.h" @@ -795,9 +796,9 @@ static void draw_selected_name(Scene *scene, Object *ob, View3D *v3d) } /* colour depends on whether there is a keyframe */ -// XXX if (id_frame_has_keyframe((ID *)ob, frame_to_float(CFRA), v3d->keyflags)) -// UI_ThemeColor(TH_VERTEX_SELECT); -// else + if (id_frame_has_keyframe((ID *)ob, frame_to_float(CFRA), v3d->keyflags)) + UI_ThemeColor(TH_VERTEX_SELECT); + else UI_ThemeColor(TH_TEXT_HI); } else { |