2.5 - Separated Keying Sets code out into its own file
[blender-staging.git] / source / blender / editors / animation / anim_intern.h
1 /* Testing code for 2.5 animation system 
2  * Copyright 2009, Joshua Leung
3  */
4  
5 #ifndef ANIM_INTERN_H
6 #define ANIM_INTERN_H
7
8 /* ----------- Common Keyframe Destination Sources ------------ */
9 /* (used as part of KeyingSets/Keyframing interface as separation from context) */
10
11 /* temporary struct to gather data combos to keyframe */
12 typedef struct bCommonKeySrc {
13         struct bCommonKeySrc *next, *prev;
14                 
15                 /* general data/destination-source settings */
16         ID *id;                                 /* id-block this comes from */
17         
18                 /* specific cases */
19         bPoseChannel *pchan;    
20         bConstraint *con;
21 } bCommonKeySrc;
22
23 /* KeyingSets/Keyframing Interface ------------- */
24
25 /* list of builtin KeyingSets (defined in keyingsets.c) */
26 extern ListBase builtin_keyingsets;
27
28 /* mode for modify_keyframes */
29 enum {
30         MODIFYKEY_MODE_INSERT = 0,
31         MODIFYKEY_MODE_DELETE,
32 } eModifyKey_Modes;
33
34 short keyingset_context_ok_poll(bContext *C, KeyingSet *ks);
35
36 short modifykey_get_context_data (bContext *C, ListBase *dsources, KeyingSet *ks);
37
38 int modify_keyframes(bContext *C, ListBase *dsources, KeyingSet *ks, short mode, float cfra);
39
40 #endif // ANIM_INTERN_H