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:
authorCampbell Barton <ideasman42@gmail.com>2014-02-13 04:47:00 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-02-13 04:48:46 +0400
commit108ad3442960ef6ead3015736b3de679146f7a8d (patch)
tree7bc45177392eaf5c97b43a463052e299ded7c500 /source/blender/blenkernel/intern/mask_rasterize.c
parent6ee9d1b69db0064abb03d74dbc365cf860a3c3d9 (diff)
Mask: option not to treat overlapping curves as holes
Diffstat (limited to 'source/blender/blenkernel/intern/mask_rasterize.c')
-rw-r--r--source/blender/blenkernel/intern/mask_rasterize.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/mask_rasterize.c b/source/blender/blenkernel/intern/mask_rasterize.c
index e1e310f3d3c..694f892f2c8 100644
--- a/source/blender/blenkernel/intern/mask_rasterize.c
+++ b/source/blender/blenkernel/intern/mask_rasterize.c
@@ -916,6 +916,7 @@ void BKE_maskrasterize_handle_init(MaskRasterHandle *mr_handle, struct Mask *mas
unsigned int sf_tri_tot;
rctf bounds;
unsigned int face_index;
+ int scanfill_flag = 0;
/* now we have all the splines */
face_coords = MEM_mallocN((sizeof(float) * 3) * sf_vert_tot, "maskrast_face_coords");
@@ -941,7 +942,10 @@ void BKE_maskrasterize_handle_init(MaskRasterHandle *mr_handle, struct Mask *mas
}
/* main scan-fill */
- sf_tri_tot = (unsigned int)BLI_scanfill_calc_ex(&sf_ctx, BLI_SCANFILL_CALC_HOLES, zvec);
+ if ((masklay->flag & MASK_LAYERFLAG_FILL_DISCRETE) == 0)
+ scanfill_flag |= BLI_SCANFILL_CALC_HOLES;
+
+ sf_tri_tot = (unsigned int)BLI_scanfill_calc_ex(&sf_ctx, scanfill_flag, zvec);
face_array = MEM_mallocN(sizeof(*face_array) * ((size_t)sf_tri_tot + (size_t)tot_feather_quads), "maskrast_face_index");
face_index = 0;