diff options
author | Joshua Leung <aligorith@gmail.com> | 2007-06-19 13:46:52 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2007-06-19 13:46:52 +0400 |
commit | 3caf086137d08be3285fcffd832ba9bc7f0bdb4f (patch) | |
tree | 6ba7a6ae1e0317ff36e68dd9d369779ba7c99b05 /source/blender/include/BDR_drawaction.h | |
parent | e3ed38be6bf201f2816374bae973c7f4535d7b87 (diff) |
== Action Editor - Long Keyframes ==
I've recoded the way long keyframes work a bit, so that more cases are handled accurately. Now, it takes into account the number of IPO-curves that have keyframes in them on the start/end frame of the long-keyframe, instead of just taking the total number of IPO-curves present for the channel being drawn.
Diffstat (limited to 'source/blender/include/BDR_drawaction.h')
-rw-r--r-- | source/blender/include/BDR_drawaction.h | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/source/blender/include/BDR_drawaction.h b/source/blender/include/BDR_drawaction.h index fdbd710c59f..821d8ea6b79 100644 --- a/source/blender/include/BDR_drawaction.h +++ b/source/blender/include/BDR_drawaction.h @@ -41,6 +41,19 @@ struct bAction; struct Object; struct ListBase; +/* ****************************** Base Structs ****************************** */ + +/* Keyframe Column Struct */ +typedef struct ActKeyColumn { + struct ActKeyColumn *next, *prev; + short sel, handle_type; + float cfra; + + /* only while drawing - used to determine if long-keyframe needs to be drawn */ + short modified; + short totcurve; +} ActKeyColumn; + /* 'Long Keyframe' Struct */ typedef struct ActKeyBlock { struct ActKeyBlock *next, *prev; @@ -53,7 +66,10 @@ typedef struct ActKeyBlock { short totcurve; } ActKeyBlock; -/*Action Generics */ + +/* ******************************* Methods ****************************** */ + +/* Action Generics */ void draw_cfra_action(void); int count_action_levels (struct bAction *act); @@ -65,9 +81,9 @@ void draw_object_channel(struct gla2DDrawInfo *di, Object *ob, float ypos); /* Keydata Generation */ void icu_to_keylist(struct IpoCurve *icu, ListBase *keys, ListBase *blocks); -int ipo_to_keylist(struct Ipo *ipo, ListBase *keys, ListBase *blocks); -int action_to_keylist(bAction *act, ListBase *keys, ListBase *blocks); -int ob_to_keylist(Object *ob, ListBase *keys, ListBase *blocks); +void ipo_to_keylist(struct Ipo *ipo, ListBase *keys, ListBase *blocks); +void action_to_keylist(bAction *act, ListBase *keys, ListBase *blocks); +void ob_to_keylist(Object *ob, ListBase *keys, ListBase *blocks); #endif /* BDR_DRAWACTION_H */ |