[Bf-blender-cvs] [66bc69f] soc-2016-multiview: change get clip functions

Tianwei Shen noreply at git.blender.org
Mon Aug 8 05:21:26 CEST 2016


Commit: 66bc69fb0070794809f8230318b976c91568af54
Author: Tianwei Shen
Date:   Sat Aug 6 23:31:05 2016 +0800
Branches: soc-2016-multiview
https://developer.blender.org/rB66bc69fb0070794809f8230318b976c91568af54

change get clip functions

- change all ED_space_clip_get_clip to ED_space_clip_get_clip_in_region
  to enable selection in correspondence mode. Since in this mode we need
  to access winess clip (secondary_clip) pointer.

===================================================================

M	source/blender/editors/space_clip/clip_draw.c
M	source/blender/editors/space_clip/tracking_ops_correspondence.c
M	source/blender/editors/space_clip/tracking_select.c

===================================================================

diff --git a/source/blender/editors/space_clip/clip_draw.c b/source/blender/editors/space_clip/clip_draw.c
index 53efb13..5d1145d 100644
--- a/source/blender/editors/space_clip/clip_draw.c
+++ b/source/blender/editors/space_clip/clip_draw.c
@@ -251,7 +251,7 @@ static void draw_movieclip_cache(SpaceClip *sc, ARegion *ar, MovieClip *clip, Sc
 
 static void draw_movieclip_notes(SpaceClip *sc, ARegion *ar)
 {
-	MovieClip *clip = ED_space_clip_get_clip(sc);
+	MovieClip *clip = ED_space_clip_get_clip_in_region(sc, ar);
 	MovieTracking *tracking = &clip->tracking;
 	char str[256] = {0};
 	bool full_redraw = false;
@@ -285,7 +285,7 @@ static void draw_movieclip_muted(ARegion *ar, int width, int height, float zoomx
 static void draw_movieclip_buffer(const bContext *C, SpaceClip *sc, ARegion *ar, ImBuf *ibuf,
                                   int width, int height, float zoomx, float zoomy)
 {
-	MovieClip *clip = ED_space_clip_get_clip(sc);
+	MovieClip *clip = ED_space_clip_get_clip_in_region(sc, ar);
 	int filter = GL_LINEAR;
 	int x, y;
 
@@ -1755,7 +1755,7 @@ void clip_draw_main(const bContext *C, SpaceClip *sc, ARegion *ar)
 void clip_draw_cache_and_notes(const bContext *C, SpaceClip *sc, ARegion *ar)
 {
 	Scene *scene = CTX_data_scene(C);
-	MovieClip *clip = ED_space_clip_get_clip(sc);
+	MovieClip *clip = ED_space_clip_get_clip_in_region(sc, ar);
 	if (clip) {
 		draw_movieclip_cache(sc, ar, clip, scene);
 		draw_movieclip_notes(sc, ar);
@@ -1766,7 +1766,8 @@ void clip_draw_cache_and_notes(const bContext *C, SpaceClip *sc, ARegion *ar)
 void clip_draw_grease_pencil(bContext *C, int onlyv2d)
 {
 	SpaceClip *sc = CTX_wm_space_clip(C);
-	MovieClip *clip = ED_space_clip_get_clip(sc);
+	ARegion *ar = CTX_wm_region(C);
+	MovieClip *clip = ED_space_clip_get_clip_in_region(sc, ar);
 
 	if (!clip)
 		return;
diff --git a/source/blender/editors/space_clip/tracking_ops_correspondence.c b/source/blender/editors/space_clip/tracking_ops_correspondence.c
index 9d041ee..51ab371 100644
--- a/source/blender/editors/space_clip/tracking_ops_correspondence.c
+++ b/source/blender/editors/space_clip/tracking_ops_correspondence.c
@@ -86,7 +86,8 @@ static MovieTrackingTrack *get_single_track(SpaceClip *sc, ListBase *tracksbase)
 static int add_correspondence_exec(bContext *C, wmOperator *op)
 {
 	SpaceClip *sc = CTX_wm_space_clip(C);
-	MovieClip *clip = ED_space_clip_get_clip(sc);
+	ARegion *ar = CTX_wm_region(C);
+	MovieClip *clip = ED_space_clip_get_clip_in_region(sc, ar);
 	MovieTracking *tracking = &clip->tracking;
 	ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
 
diff --git a/source/blender/editors/space_clip/tracking_select.c b/source/blender/editors/space_clip/tracking_select.c
index 6068cb7..59d1723 100644
--- a/source/blender/editors/space_clip/tracking_select.c
+++ b/source/blender/editors/space_clip/tracking_select.c
@@ -270,8 +270,9 @@ void ed_tracking_delect_all_plane_tracks(ListBase *plane_tracks_base)
 static int mouse_select(bContext *C, float co[2], int extend)
 {
 	SpaceClip *sc = CTX_wm_space_clip(C);
+	ARegion *ar = CTX_wm_region(C);
 	RegionSpaceClip *rsc = CTX_wm_region_clip(C);
-	MovieClip *clip = ED_space_clip_get_clip(sc);
+	MovieClip *clip = ED_space_clip_get_clip_in_region(sc, ar);
 	MovieTracking *tracking = &clip->tracking;
 	ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
 	ListBase *plane_tracks_base = BKE_tracking_get_active_plane_tracks(tracking);
@@ -385,7 +386,7 @@ static int select_invoke(bContext *C, wmOperator *op, const wmEvent *event)
 		MovieTrackingTrack *track = tracking_marker_check_slide(C, event, NULL, NULL, NULL);
 
 		if (track) {
-			MovieClip *clip = ED_space_clip_get_clip(sc);
+			MovieClip *clip = ED_space_clip_get_clip_in_region(sc, ar);
 
 			clip->tracking.act_track = track;
 
@@ -430,7 +431,7 @@ static int border_select_exec(bContext *C, wmOperator *op)
 	SpaceClip *sc = CTX_wm_space_clip(C);
 	ARegion *ar = CTX_wm_region(C);
 
-	MovieClip *clip = ED_space_clip_get_clip(sc);
+	MovieClip *clip = ED_space_clip_get_clip_in_region(sc, ar);
 	MovieTracking *tracking = &clip->tracking;
 	MovieTrackingTrack *track;
 	MovieTrackingPlaneTrack *plane_track;
@@ -540,7 +541,7 @@ static int do_lasso_select_marker(bContext *C, const int mcords[][2], const shor
 	SpaceClip *sc = CTX_wm_space_clip(C);
 	ARegion *ar = CTX_wm_region(C);
 
-	MovieClip *clip = ED_space_clip_get_clip(sc);
+	MovieClip *clip = ED_space_clip_get_clip_in_region(sc, ar);
 	MovieTracking *tracking = &clip->tracking;
 	MovieTrackingTrack *track;
 	MovieTrackingPlaneTrack *plane_track;
@@ -685,7 +686,7 @@ static int circle_select_exec(bContext *C, wmOperator *op)
 	SpaceClip *sc = CTX_wm_space_clip(C);
 	ARegion *ar = CTX_wm_region(C);
 
-	MovieClip *clip = ED_space_clip_get_clip(sc);
+	MovieClip *clip = ED_space_clip_get_clip_in_region(sc, ar);
 	MovieTracking *tracking = &clip->tracking;
 	MovieTrackingTrack *track;
 	MovieTrackingPlaneTrack *plane_track;
@@ -794,7 +795,8 @@ void CLIP_OT_select_circle(wmOperatorType *ot)
 static int select_all_exec(bContext *C, wmOperator *op)
 {
 	SpaceClip *sc = CTX_wm_space_clip(C);
-	MovieClip *clip = ED_space_clip_get_clip(sc);
+	ARegion *ar = CTX_wm_region(C);
+	MovieClip *clip = ED_space_clip_get_clip_in_region(sc, ar);
 	MovieTracking *tracking = &clip->tracking;
 	MovieTrackingTrack *track = NULL;   /* selected track */
 	MovieTrackingPlaneTrack *plane_track = NULL;   /* selected plane track */
@@ -913,7 +915,8 @@ void CLIP_OT_select_all(wmOperatorType *ot)
 static int select_groped_exec(bContext *C, wmOperator *op)
 {
 	SpaceClip *sc = CTX_wm_space_clip(C);
-	MovieClip *clip = ED_space_clip_get_clip(sc);
+	ARegion *ar = CTX_wm_region(C);
+	MovieClip *clip = ED_space_clip_get_clip_in_region(sc, ar);
 	MovieTrackingTrack *track;
 	MovieTrackingMarker *marker;
 	MovieTracking *tracking = &clip->tracking;




More information about the Bf-blender-cvs mailing list