[Bf-blender-cvs] [174cbc6] soc-2016-multiview: remove duplicate code by adding a movieclip select

Tianwei Shen noreply at git.blender.org
Sat Aug 6 13:43:05 CEST 2016


Commit: 174cbc6aba4c2a52d547f4e0d82240428dbf4169
Author: Tianwei Shen
Date:   Sat Aug 6 19:18:05 2016 +0800
Branches: soc-2016-multiview
https://developer.blender.org/rB174cbc6aba4c2a52d547f4e0d82240428dbf4169

remove duplicate code by adding a movieclip select

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

M	source/blender/editors/include/ED_clip.h
M	source/blender/editors/space_clip/clip_editor.c
M	source/blender/editors/space_clip/space_clip.c

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

diff --git a/source/blender/editors/include/ED_clip.h b/source/blender/editors/include/ED_clip.h
index 72d3683..deb436a 100644
--- a/source/blender/editors/include/ED_clip.h
+++ b/source/blender/editors/include/ED_clip.h
@@ -82,6 +82,7 @@ bool ED_space_clip_check_show_correspondence(struct SpaceClip *sc);
 
 struct MovieClip *ED_space_clip_get_clip(struct SpaceClip *sc);
 struct MovieClip *ED_space_clip_get_secondary_clip(struct SpaceClip *sc);
+struct MovieClip *ED_space_clip_get_clip_in_region(struct SpaceClip *sc, struct ARegion *ar);
 void ED_space_clip_set_clip(struct bContext *C, struct bScreen *screen, struct SpaceClip *sc, struct MovieClip *clip);
 void ED_space_clip_set_secondary_clip(struct bContext *C, struct bScreen *screen, struct SpaceClip *sc, struct MovieClip *secondary_clip);
 void ED_clip_update_correspondence_mode(struct bContext *C, struct SpaceClip *sc);
diff --git a/source/blender/editors/space_clip/clip_editor.c b/source/blender/editors/space_clip/clip_editor.c
index b8aa126..07cd0eb 100644
--- a/source/blender/editors/space_clip/clip_editor.c
+++ b/source/blender/editors/space_clip/clip_editor.c
@@ -617,6 +617,17 @@ MovieClip *ED_space_clip_get_secondary_clip(SpaceClip *sc)
 	return sc->secondary_clip;
 }
 
+MovieClip *ED_space_clip_get_clip_in_region(SpaceClip *sc, ARegion *ar)
+{
+	RegionSpaceClip *rsc = ar->regiondata;
+	if (rsc->flag == RSC_MAIN_CLIP) {
+		return ED_space_clip_get_clip(sc);
+	}
+	else {	//rsc->flag == RSC_SECONDARY_CLIP
+		return ED_space_clip_get_secondary_clip(sc);
+	}
+}
+
 void ED_space_clip_set_clip(bContext *C, bScreen *screen, SpaceClip *sc, MovieClip *clip)
 {
 	MovieClip *old_clip;
diff --git a/source/blender/editors/space_clip/space_clip.c b/source/blender/editors/space_clip/space_clip.c
index e3525df..87999c5 100644
--- a/source/blender/editors/space_clip/space_clip.c
+++ b/source/blender/editors/space_clip/space_clip.c
@@ -1174,13 +1174,7 @@ static void clip_main_region_draw(const bContext *C, ARegion *ar)
 	/* draw entirely, view changes should be handled here */
 	SpaceClip *sc = CTX_wm_space_clip(C);
 	RegionSpaceClip *rsc = CTX_wm_region_clip(C);
-	MovieClip *clip;
-	if (rsc->flag == RSC_MAIN_CLIP) {
-		clip = ED_space_clip_get_clip(sc);
-	}
-	else {
-		clip = ED_space_clip_get_secondary_clip(sc);
-	}
+	MovieClip *clip = ED_space_clip_get_clip_in_region(sc, ar);
 	float aspx, aspy, zoomx, zoomy, x, y;
 	int width, height;
 	bool show_cursor = false;




More information about the Bf-blender-cvs mailing list