diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-06-12 21:11:16 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-06-12 21:11:16 +0400 |
commit | 128b0f97889c75c7de511ce11e601a3762501103 (patch) | |
tree | c303511d66e6f78932763779eb6af31232418bfb /source/blender/editors/space_clip/clip_utils.c | |
parent | d3e098bb42dd9eb6346c41f1f400050010161549 (diff) |
Added Selected Only and Show Hidden flags to clip editor's curve view
Diffstat (limited to 'source/blender/editors/space_clip/clip_utils.c')
-rw-r--r-- | source/blender/editors/space_clip/clip_utils.c | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/source/blender/editors/space_clip/clip_utils.c b/source/blender/editors/space_clip/clip_utils.c index 8175a84e188..51870c6e43d 100644 --- a/source/blender/editors/space_clip/clip_utils.c +++ b/source/blender/editors/space_clip/clip_utils.c @@ -121,7 +121,7 @@ void clip_graph_tracking_values_iterate_track(SpaceClip *sc, MovieTrackingTrack } } -void clip_graph_tracking_values_iterate(SpaceClip *sc, void *userdata, +void clip_graph_tracking_values_iterate(SpaceClip *sc, int selected_only, int include_hidden, void *userdata, void (*func)(void *userdata, MovieTrackingTrack *track, MovieTrackingMarker *marker, int coord, int scene_framenr, float val), void (*segment_start)(void *userdata, MovieTrackingTrack *track, int coord), void (*segment_end)(void *userdata)) @@ -131,17 +131,18 @@ void clip_graph_tracking_values_iterate(SpaceClip *sc, void *userdata, ListBase *tracksbase = BKE_tracking_get_tracks(tracking); MovieTrackingTrack *track; - track = tracksbase->first; - while (track) { - if (TRACK_VIEW_SELECTED(sc, track)) { - clip_graph_tracking_values_iterate_track(sc, track, userdata, func, segment_start, segment_end); - } + for (track = tracksbase->first; track; track = track->next) { + if (!include_hidden && (track->flag & TRACK_HIDDEN) != 0) + continue; + + if (selected_only && !TRACK_SELECTED(track)) + continue; - track = track->next; + clip_graph_tracking_values_iterate_track(sc, track, userdata, func, segment_start, segment_end); } } -void clip_graph_tracking_iterate(SpaceClip *sc, void *userdata, +void clip_graph_tracking_iterate(SpaceClip *sc, int selected_only, int include_hidden, void *userdata, void (*func)(void *userdata, MovieTrackingMarker *marker)) { MovieClip *clip = ED_space_clip(sc); @@ -149,23 +150,24 @@ void clip_graph_tracking_iterate(SpaceClip *sc, void *userdata, ListBase *tracksbase = BKE_tracking_get_tracks(tracking); MovieTrackingTrack *track; - track = tracksbase->first; - while (track) { - if (TRACK_VIEW_SELECTED(sc, track)) { - int i; + for (track = tracksbase->first; track; track = track->next) { + int i; - for (i = 0; i < track->markersnr; i++) { - MovieTrackingMarker *marker = &track->markers[i]; + if (!include_hidden && (track->flag & TRACK_HIDDEN) != 0) + continue; - if (marker->flag & MARKER_DISABLED) - continue; + if (selected_only && !TRACK_SELECTED(track)) + continue; - if (func) - func(userdata, marker); - } - } + for (i = 0; i < track->markersnr; i++) { + MovieTrackingMarker *marker = &track->markers[i]; + + if (marker->flag & MARKER_DISABLED) + continue; - track = track->next; + if (func) + func(userdata, marker); + } } } |