diff options
author | Joshua Leung <aligorith@gmail.com> | 2009-11-15 14:20:44 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2009-11-15 14:20:44 +0300 |
commit | 6468f21ddf25298f5b9d1c52955e185b368f496c (patch) | |
tree | a0401bd947c2f4b54a3cd797c33cd1dbcdd9f56e /source/blender/editors/include/ED_keyframes_draw.h | |
parent | 698086dfb1b3d5796115afed238b6d9225576ad8 (diff) |
Red-Black Tree Code Cleanups:
Added some more methods for the Red-Black Tree implementation in Blender (used for runtime viewing and searching of keyframes) which abstract away some of the lower-level handling of the BST (i.e. adding nodes without balancing and searching for nodes).
Also, improved the implementation of the jump next/prev keyframe operator so that it pops up an error message when the last keyframe in whatever direction is encountered.
Diffstat (limited to 'source/blender/editors/include/ED_keyframes_draw.h')
-rw-r--r-- | source/blender/editors/include/ED_keyframes_draw.h | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/source/blender/editors/include/ED_keyframes_draw.h b/source/blender/editors/include/ED_keyframes_draw.h index 699502eb9eb..8002918b870 100644 --- a/source/blender/editors/include/ED_keyframes_draw.h +++ b/source/blender/editors/include/ED_keyframes_draw.h @@ -104,27 +104,43 @@ void draw_keyframe_shape(float x, float y, float xscale, float hsize, short sel, /* ******************************* Methods ****************************** */ -/* Channel Drawing */ +/* Channel Drawing ------------------ */ +/* F-Curve */ void draw_fcurve_channel(struct View2D *v2d, struct AnimData *adt, struct FCurve *fcu, float ypos); +/* Action Group Summary */ void draw_agroup_channel(struct View2D *v2d, struct AnimData *adt, struct bActionGroup *agrp, float ypos); +/* Action Summary */ void draw_action_channel(struct View2D *v2d, struct AnimData *adt, struct bAction *act, float ypos); +/* Object Summary */ void draw_object_channel(struct View2D *v2d, struct bDopeSheet *ads, struct Object *ob, float ypos); +/* Scene Summary */ void draw_scene_channel(struct View2D *v2d, struct bDopeSheet *ads, struct Scene *sce, float ypos); +/* DopeSheet Summary */ void draw_summary_channel(struct View2D *v2d, struct bAnimContext *ac, float ypos); +/* Grease Pencil Layer */ +// XXX not restored void draw_gpl_channel(struct View2D *v2d, struct bDopeSheet *ads, struct bGPDlayer *gpl, float ypos); -/* Keydata Generation */ +/* Keydata Generation --------------- */ +/* F-Curve */ void fcurve_to_keylist(struct AnimData *adt, struct FCurve *fcu, struct DLRBT_Tree *keys, struct DLRBT_Tree *blocks); +/* Action Group */ void agroup_to_keylist(struct AnimData *adt, struct bActionGroup *agrp, struct DLRBT_Tree *keys, struct DLRBT_Tree *blocks); +/* Action */ void action_to_keylist(struct AnimData *adt, struct bAction *act, struct DLRBT_Tree *keys, struct DLRBT_Tree *blocks); +/* Object */ void ob_to_keylist(struct bDopeSheet *ads, struct Object *ob, struct DLRBT_Tree *keys, struct DLRBT_Tree *blocks); +/* Scene */ void scene_to_keylist(struct bDopeSheet *ads, struct Scene *sce, struct DLRBT_Tree *keys, struct DLRBT_Tree *blocks); +/* DopeSheet Summary */ void summary_to_keylist(struct bAnimContext *ac, struct DLRBT_Tree *keys, struct DLRBT_Tree *blocks); +/* Grease Pencil Layer */ +// XXX not restored void gpl_to_keylist(struct bDopeSheet *ads, struct bGPDlayer *gpl, struct DLRBT_Tree *keys, struct DLRBT_Tree *blocks); -/* Keyframe Finding */ -ActKeyColumn *cfra_find_actkeycolumn(ActKeyColumn *ak, float cframe); -ActKeyColumn *cfra_find_nearest_next_ak(ActKeyColumn *ak, float cframe, short next); +/* ActKeyColumn API ---------------- */ +/* Comparator callback used for ActKeyColumns and cframe float-value pointer */ +short compare_ak_cfraPtr(void *node, void *data); #endif /* ED_KEYFRAMES_DRAW_H */ |