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_graph_ops.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_graph_ops.c')
-rw-r--r-- | source/blender/editors/space_clip/clip_graph_ops.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/source/blender/editors/space_clip/clip_graph_ops.c b/source/blender/editors/space_clip/clip_graph_ops.c index 9af67a2b104..64547d32889 100644 --- a/source/blender/editors/space_clip/clip_graph_ops.c +++ b/source/blender/editors/space_clip/clip_graph_ops.c @@ -190,7 +190,9 @@ static int mouse_select_knot(bContext *C, float co[2], int extend) if (!extend) { SelectUserData selectdata = {SEL_DESELECT}; - clip_graph_tracking_iterate(sc, &selectdata, toggle_selection_cb); + clip_graph_tracking_iterate(sc, sc->flag & SC_SHOW_GRAPH_SEL_ONLY, + sc->flag & SC_SHOW_GRAPH_HIDDEN, &selectdata, + toggle_selection_cb); } if (userdata.coord == 0) @@ -215,7 +217,8 @@ static int mouse_select_curve(bContext *C, float co[2], int extend) MouseSelectUserData userdata; mouse_select_init_data(&userdata, co); - clip_graph_tracking_values_iterate(sc, &userdata, find_nearest_tracking_segment_cb, + clip_graph_tracking_values_iterate(sc, sc->flag & SC_SHOW_GRAPH_SEL_ONLY, sc->flag & SC_SHOW_GRAPH_HIDDEN, + &userdata, find_nearest_tracking_segment_cb, NULL, find_nearest_tracking_segment_end_cb); if (userdata.track) { @@ -227,11 +230,16 @@ static int mouse_select_curve(bContext *C, float co[2], int extend) } else if (act_track != userdata.track) { SelectUserData selectdata = {SEL_DESELECT}; + MovieTrackingObject *object = BKE_tracking_active_object(tracking); + ListBase *tracksbase = BKE_tracking_object_tracks(tracking, object); tracking->act_track = userdata.track; + BKE_tracking_select_track(tracksbase, userdata.track, TRACK_AREA_ALL, TRUE); /* deselect all knots on newly selected curve */ - clip_graph_tracking_iterate(sc, &selectdata, toggle_selection_cb); + clip_graph_tracking_iterate(sc, sc->flag & SC_SHOW_GRAPH_SEL_ONLY, + sc->flag & SC_SHOW_GRAPH_HIDDEN, &selectdata, + toggle_selection_cb); } return TRUE; @@ -556,7 +564,9 @@ static int view_all_exec(bContext *C, wmOperator *UNUSED(op)) userdata.max = -FLT_MAX; userdata.min = FLT_MAX; - clip_graph_tracking_values_iterate(sc, &userdata, view_all_cb, NULL, NULL); + clip_graph_tracking_values_iterate(sc, sc->flag & SC_SHOW_GRAPH_SEL_ONLY, + sc->flag & SC_SHOW_GRAPH_HIDDEN, &userdata, + view_all_cb, NULL, NULL); /* set extents of view to start/end frames */ v2d->cur.xmin = (float) SFRA; |