Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2008-12-21 13:33:24 +0300
committerJoshua Leung <aligorith@gmail.com>2008-12-21 13:33:24 +0300
commit3eaca525f21fb59b8b7ff60681563154e4ca3eb8 (patch)
treee80a79b919390b2164ad2f5d5a620768df80a99a /source
parentc288eab363067e58406ab9c95b9450d93910501b (diff)
2.5 - Object name display in 3d-view now highlights on frames with keyframes again.
* Re-exposed relevant parts of anim_keyframing.c code that doesn't have external dependencies. * Added get_active_posechannel() to blenkernel api for poses/posechannels to solve the only missing link I found. This should have been moved there ages ago!
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/BKE_action.h6
-rw-r--r--source/blender/blenkernel/intern/action.c18
-rw-r--r--source/blender/editors/animation/anim_keyframing.c8
-rw-r--r--source/blender/editors/animation/anim_ops.c2
-rw-r--r--source/blender/editors/space_view3d/SConscript2
-rw-r--r--source/blender/editors/space_view3d/view3d_draw.c7
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 {