diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-07-04 11:10:23 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-07-04 11:10:23 +0400 |
commit | facc2429ab1dc7741d3e795216a27063ac1192b7 (patch) | |
tree | ae4cba1d05552e9ca613a63f0ad8fe7647d220a5 /source/blender/blenkernel/BKE_mask.h | |
parent | 81a509fa409091f65cad4e8ac2a31fcb486ca2c3 (diff) |
Mask node: create a copy of layers to be rasterized in initExecution
This creates a list of splines to be rasterized in nitExecution which
is being called from main thread. This should resolve possible threading
issues discovered in tomato branch.
Diffstat (limited to 'source/blender/blenkernel/BKE_mask.h')
-rw-r--r-- | source/blender/blenkernel/BKE_mask.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_mask.h b/source/blender/blenkernel/BKE_mask.h index 0682b16536c..ee7c13ba7cb 100644 --- a/source/blender/blenkernel/BKE_mask.h +++ b/source/blender/blenkernel/BKE_mask.h @@ -27,6 +27,7 @@ #ifndef __BKE_MASK_H__ #define __BKE_MASK_H__ +struct ListBase; struct Main; struct Mask; struct MaskParent; @@ -50,12 +51,16 @@ void BKE_mask_layer_remove(struct Mask *mask, struct MaskLayer *masklay); void BKE_mask_layer_free_shapes(struct MaskLayer *masklay); void BKE_mask_layer_free(struct MaskLayer *masklay); +void BKE_mask_layer_free_list(struct ListBase *masklayers); void BKE_mask_spline_free(struct MaskSpline *spline); struct MaskSpline *BKE_mask_spline_copy(struct MaskSpline *spline); void BKE_mask_point_free(struct MaskSplinePoint *point); void BKE_mask_layer_unique_name(struct Mask *mask, struct MaskLayer *masklay); +struct MaskLayer *BKE_mask_layer_copy(struct MaskLayer *layer); +void BKE_mask_layer_copy_list(struct ListBase *masklayers_new, struct ListBase *masklayers); + /* splines */ struct MaskSpline *BKE_mask_spline_add(struct MaskLayer *masklay); @@ -170,6 +175,11 @@ 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_layers(struct ListBase *masklayers, int width, int height, float *buffer, + const short do_aspect_correct, const short do_mask_aa, + const short do_feather); + void BKE_mask_rasterize(struct Mask *mask, int width, int height, float *buffer, const short do_aspect_correct, const short do_mask_aa, const short do_feather); |