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
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2012-06-12 21:11:16 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2012-06-12 21:11:16 +0400
commit128b0f97889c75c7de511ce11e601a3762501103 (patch)
treec303511d66e6f78932763779eb6af31232418bfb /source/blender/editors/space_clip/clip_utils.c
parentd3e098bb42dd9eb6346c41f1f400050010161549 (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.c44
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);
+ }
}
}