Commit: cdc29928b211acde9699b04c3a30943c9fe4025d
Author: Tianwei Shen
Date:   Thu Aug 4 16:41:29 2016 +0800
Branches: soc-2016-multiview
https://developer.blender.org/rBcdc29928b211acde9699b04c3a30943c9fe4025d

add a flag field to RegionSpaceClip

- this field is to specify main clip or secondary clip, used in drawing
  code

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

M       source/blender/editors/space_clip/clip_editor.c
M       source/blender/editors/space_clip/space_clip.c
M       source/blender/makesdna/DNA_space_types.h

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

diff --git a/source/blender/editors/space_clip/clip_editor.c 
b/source/blender/editors/space_clip/clip_editor.c
index 580b6f6..f5b65d4 100644
--- a/source/blender/editors/space_clip/clip_editor.c
+++ b/source/blender/editors/space_clip/clip_editor.c
@@ -758,8 +758,14 @@ void ED_clip_update_correspondence_mode(bContext *C, 
SpaceClip *sc)
                ScrArea *sa = CTX_wm_area(C);
 
                ar->alignment = RGN_ALIGN_VSPLIT;
+               RegionSpaceClip *rsc = ar->regiondata;
+               rsc->flag = RSC_MAIN_CLIP;
 
+               /* set the region type to RSC_SECONDARY_CLIP so that
+                * clip_main_region_draw is aware of this */
                ARegion *newar = BKE_area_region_copy(sa->type, ar);
+               RegionSpaceClip *new_rsc = newar->regiondata;
+               new_rsc->flag = RSC_SECONDARY_CLIP;
                BLI_addtail(&sa->regionbase, newar);
 
                /* update split view */
diff --git a/source/blender/editors/space_clip/space_clip.c 
b/source/blender/editors/space_clip/space_clip.c
index fa2a36d..27925fa 100644
--- a/source/blender/editors/space_clip/space_clip.c
+++ b/source/blender/editors/space_clip/space_clip.c
@@ -306,6 +306,7 @@ static SpaceLink *clip_new(const bContext *C)
        /* region data for main region */
        RegionSpaceClip *rsc = MEM_callocN(sizeof(RegionSpaceClip), "region 
data for clip");
        rsc->zoom = 1.0f;
+       rsc->flag = RSC_MAIN_CLIP;
        ar->regiondata = rsc;
 
        return (SpaceLink *) sc;
@@ -1254,7 +1255,11 @@ static void clip_main_region_draw(const bContext *C, 
ARegion *ar)
        /* data... */
        movieclip_main_area_set_view2d(C, ar);
 
-       clip_draw_main(C, sc, ar);
+       if (rsc->flag == RSC_MAIN_CLIP)
+               clip_draw_main(C, sc, ar);
+       else {          // rsc->flag = RSC_SECONDARY_CLIP
+               clip_draw_secondary_clip(C, sc, ar);
+       }
 
        /* TODO(sergey): would be nice to find a way to de-duplicate all this 
space conversions */
        UI_view2d_view_to_region_fl(&ar->v2d, 0.0f, 0.0f, &x, &y);
diff --git a/source/blender/makesdna/DNA_space_types.h 
b/source/blender/makesdna/DNA_space_types.h
index 51bcd44..f123e67 100644
--- a/source/blender/makesdna/DNA_space_types.h
+++ b/source/blender/makesdna/DNA_space_types.h
@@ -1285,11 +1285,17 @@ typedef struct SpaceClip {
        MaskSpaceInfo mask_info;
 } SpaceClip;
 
+typedef enum eRegionSpaceClip_Flag {
+       RSC_MAIN_CLIP      = (1 << 0),
+       RSC_SECONDARY_CLIP = (1 << 1),
+} eRegionSpaceClip_Flag;
+
 /* region-related settings for Clip Editor */
 typedef struct RegionSpaceClip {
        float xof, yof;             /* user defined offset, image is centered */
        float xlockof, ylockof;     /* user defined offset from locked position 
*/
        float zoom;                 /* user defined zoom level */
+       int flag;                                       /* region type (main 
clip/secondary_clip), used in correspondence mode */
 } RegionSpaceClip;
 
 /* SpaceClip->flag */

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to