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>2012-06-21 16:27:57 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-06-21 16:27:57 +0400
commit54156e2b824c9e5a4293060b194630630d1f9dc7 (patch)
tree30e2a96f5ab5c38b999653c50560de54fade9715 /source/blender/blenkernel
parentff998e15a75a1f38db1e3fc91f7f0ef6664e4e45 (diff)
option to disable feather, since its so slow - for interactively editing masks its useful to be able to disable.
also rename RNA to 'use_antialiasing'
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/BKE_mask.h3
-rw-r--r--source/blender/blenkernel/intern/mask.c15
-rw-r--r--source/blender/blenkernel/intern/sequencer.c8
3 files changed, 19 insertions, 7 deletions
diff --git a/source/blender/blenkernel/BKE_mask.h b/source/blender/blenkernel/BKE_mask.h
index 0e93869a8b0..ea50d0fac39 100644
--- a/source/blender/blenkernel/BKE_mask.h
+++ b/source/blender/blenkernel/BKE_mask.h
@@ -170,7 +170,8 @@ void BKE_mask_layer_shape_changed_remove(struct MaskLayer *masklay, int index, i
/* rasterization */
int BKE_mask_get_duration(struct Mask *mask);
void BKE_mask_rasterize(struct Mask *mask, int width, int height, float *buffer,
- const short do_aspect_correct, int do_mask_aa);
+ const short do_aspect_correct, const short do_mask_aa,
+ const short do_feather);
#define MASKPOINT_ISSEL_ANY(p) ( ((p)->bezt.f1 | (p)->bezt.f2 | (p)->bezt.f2) & SELECT)
#define MASKPOINT_ISSEL_KNOT(p) ( (p)->bezt.f2 & SELECT)
diff --git a/source/blender/blenkernel/intern/mask.c b/source/blender/blenkernel/intern/mask.c
index b50356afcb5..3dc584c374e 100644
--- a/source/blender/blenkernel/intern/mask.c
+++ b/source/blender/blenkernel/intern/mask.c
@@ -2090,7 +2090,8 @@ int BKE_mask_get_duration(Mask *mask)
/* rasterization */
void BKE_mask_rasterize(Mask *mask, int width, int height, float *buffer,
- const short do_aspect_correct, int do_mask_aa)
+ const short do_aspect_correct, const short do_mask_aa,
+ const short do_feather)
{
MaskLayer *masklay;
@@ -2119,9 +2120,15 @@ void BKE_mask_rasterize(Mask *mask, int width, int height, float *buffer,
&tot_diff_point);
if (tot_diff_point) {
- diff_feather_points =
- BKE_mask_spline_feather_differentiated_points_with_resolution(spline, width, height,
- &tot_diff_feather_points);
+ if (do_feather) {
+ diff_feather_points =
+ BKE_mask_spline_feather_differentiated_points_with_resolution(spline, width, height,
+ &tot_diff_feather_points);
+ }
+ else {
+ tot_diff_feather_points = 0;
+ diff_feather_points = NULL;
+ }
if (do_aspect_correct) {
if (width != height) {
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index ddf30ecfa81..8cb47118e7d 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -2082,7 +2082,9 @@ static ImBuf *seq_render_mask_strip(
context.rectx, context.recty,
maskbuf,
TRUE,
- FALSE /*XXX- TODO: make on/off for anti-aliasing*/);
+ FALSE, /*XXX- TODO: make on/off for anti-aliasing */
+ TRUE /*XXX- TODO: make on/off for feather */
+ );
fp_src = maskbuf;
fp_dst = ibuf->rect_float;
@@ -2106,7 +2108,9 @@ static ImBuf *seq_render_mask_strip(
context.rectx, context.recty,
maskbuf,
TRUE,
- FALSE /*XXX- TODO: mask on/off for anti-aliasing*/);
+ FALSE, /*XXX- TODO: make on/off for anti-aliasing */
+ TRUE /*XXX- TODO: make on/off for feather */
+ );
fp_src = maskbuf;
ub_dst = (unsigned char *)ibuf->rect;