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:
Diffstat (limited to 'source/blender/editors/space_clip')
-rw-r--r--source/blender/editors/space_clip/clip_graph_draw.c7
-rw-r--r--source/blender/editors/space_clip/clip_graph_ops.c13
-rw-r--r--source/blender/editors/space_clip/clip_utils.c2
-rw-r--r--source/blender/editors/space_clip/space_clip.c2
4 files changed, 15 insertions, 9 deletions
diff --git a/source/blender/editors/space_clip/clip_graph_draw.c b/source/blender/editors/space_clip/clip_graph_draw.c
index 9aba6db0c80..e913ae77f05 100644
--- a/source/blender/editors/space_clip/clip_graph_draw.c
+++ b/source/blender/editors/space_clip/clip_graph_draw.c
@@ -155,15 +155,16 @@ void tracking_segment_end_cb(void *UNUSED(userdata))
}
static void tracking_segment_knot_cb(void *userdata, MovieTrackingTrack *track,
- MovieTrackingMarker *marker, int UNUSED(coord), float val)
+ MovieTrackingMarker *marker, int coord, float val)
{
struct { MovieTrackingTrack *act_track; int sel; float xscale, yscale, hsize; } *data = userdata;
- int sel= 0;
+ int sel= 0, sel_flag;
if(track!=data->act_track)
return;
- sel= (marker->flag&MARKER_GRAPH_SEL) ? 1 : 0;
+ sel_flag= coord == 0 ? MARKER_GRAPH_SEL_X : MARKER_GRAPH_SEL_Y;
+ sel= (marker->flag & sel_flag) ? 1 : 0;
if(sel == data->sel) {
if(sel) UI_ThemeColor(TH_HANDLE_VERTEX_SELECT);
diff --git a/source/blender/editors/space_clip/clip_graph_ops.c b/source/blender/editors/space_clip/clip_graph_ops.c
index 08d6bcf47bc..8be5e520b1f 100644
--- a/source/blender/editors/space_clip/clip_graph_ops.c
+++ b/source/blender/editors/space_clip/clip_graph_ops.c
@@ -68,13 +68,13 @@ static void toggle_selection_cb(void *userdata, MovieTrackingMarker *marker)
switch(data->action) {
case SEL_SELECT:
- marker->flag|= MARKER_GRAPH_SEL;
+ marker->flag|= (MARKER_GRAPH_SEL_X|MARKER_GRAPH_SEL_Y);
break;
case SEL_DESELECT:
- marker->flag&= ~MARKER_GRAPH_SEL;
+ marker->flag&= ~(MARKER_GRAPH_SEL_X|MARKER_GRAPH_SEL_Y);
break;
case SEL_INVERT:
- marker->flag^= MARKER_GRAPH_SEL;
+ marker->flag^= (MARKER_GRAPH_SEL_X|MARKER_GRAPH_SEL_Y);
break;
}
}
@@ -177,7 +177,10 @@ static int mouse_select_knot(bContext *C, float co[2], int extend)
clip_graph_tracking_iterate(sc, &selectdata, toggle_selection_cb);
}
- userdata.marker->flag|= MARKER_GRAPH_SEL;
+ if(userdata.coord==0)
+ userdata.marker->flag|= MARKER_GRAPH_SEL_X;
+ else
+ userdata.marker->flag|= MARKER_GRAPH_SEL_Y;
return 1;
}
@@ -335,7 +338,7 @@ static int delete_knot_exec(bContext *C, wmOperator *UNUSED(op))
while(a<act_track->markersnr) {
MovieTrackingMarker *marker= &act_track->markers[a];
- if(marker->flag&MARKER_GRAPH_SEL)
+ if(marker->flag & (MARKER_GRAPH_SEL_X|MARKER_GRAPH_SEL_Y))
clip_delete_marker(C, clip, tracksbase, act_track, marker);
else
a++;
diff --git a/source/blender/editors/space_clip/clip_utils.c b/source/blender/editors/space_clip/clip_utils.c
index 3ca8fc35c7f..46442d39a7b 100644
--- a/source/blender/editors/space_clip/clip_utils.c
+++ b/source/blender/editors/space_clip/clip_utils.c
@@ -95,7 +95,7 @@ void clip_graph_tracking_values_iterate_track(SpaceClip *sc, MovieTrackingTrack
}
/* value is a pixels per frame speed */
- val= (marker->pos[coord] - prevval) * ((i==0) ? (width) : (height));
+ val= (marker->pos[coord] - prevval) * ((coord==0) ? (width) : (height));
val/= marker->framenr-prevfra;
if(func)
diff --git a/source/blender/editors/space_clip/space_clip.c b/source/blender/editors/space_clip/space_clip.c
index 3d584378135..04871156412 100644
--- a/source/blender/editors/space_clip/space_clip.c
+++ b/source/blender/editors/space_clip/space_clip.c
@@ -545,6 +545,8 @@ static void clip_keymap(struct wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "CLIP_OT_graph_delete_knot", DELKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "CLIP_OT_graph_delete_knot", XKEY, KM_PRESS, KM_SHIFT, 0);
+
+ transform_keymap_for_space(keyconf, keymap, SPACE_CLIP);
}
const char *clip_context_dir[]= {"edit_movieclip", NULL};