From 4413903370265d08b55049648e3f58d3ee87a830 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 8 Jun 2012 09:35:51 +0000 Subject: support for subframe animation evaluation for masks. --- source/blender/blenkernel/BKE_mask.h | 4 ++-- source/blender/blenkernel/intern/mask.c | 6 +++--- source/blender/blenkernel/intern/sequencer.c | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/BKE_mask.h b/source/blender/blenkernel/BKE_mask.h index 32f86bd3ebe..a6f2f73720a 100644 --- a/source/blender/blenkernel/BKE_mask.h +++ b/source/blender/blenkernel/BKE_mask.h @@ -120,7 +120,7 @@ void BKE_mask_coord_to_movieclip(struct MovieClip *clip, struct MovieClipUser *u void BKE_mask_update_display(struct Mask *mask, float ctime); void BKE_mask_evaluate_all_masks(struct Main *bmain, float ctime, const int do_newframe); -void BKE_mask_evaluate(struct Mask *mask, float ctime, const int do_newframe); +void BKE_mask_evaluate(struct Mask *mask, const float ctime, const int do_newframe); void BKE_mask_update_scene(struct Main *bmain, struct Scene *scene, const int do_newframe); void BKE_mask_parent_init(struct MaskParent *parent); void BKE_mask_calc_handle_adjacent_interp(struct MaskSpline *spline, struct MaskSplinePoint *point, const float u); @@ -145,7 +145,7 @@ void BKE_mask_layer_shape_to_mask_interp(struct MaskLayer *masklay, struct MaskLayerShape *masklay_shape_b, const float fac); struct MaskLayerShape *BKE_mask_layer_shape_find_frame(struct MaskLayer *masklay, const int frame); -int BKE_mask_layer_shape_find_frame_range(struct MaskLayer *masklay, const int frame, +int BKE_mask_layer_shape_find_frame_range(struct MaskLayer *masklay, const float frame, struct MaskLayerShape **r_masklay_shape_a, struct MaskLayerShape **r_masklay_shape_b); struct MaskLayerShape *BKE_mask_layer_shape_alloc(struct MaskLayer *masklay, const int frame); diff --git a/source/blender/blenkernel/intern/mask.c b/source/blender/blenkernel/intern/mask.c index 1f1dc6a0cc8..02c1169892c 100644 --- a/source/blender/blenkernel/intern/mask.c +++ b/source/blender/blenkernel/intern/mask.c @@ -1463,7 +1463,7 @@ void BKE_mask_spline_ensure_deform(MaskSpline *spline) } } -void BKE_mask_evaluate(Mask *mask, float ctime, const int do_newframe) +void BKE_mask_evaluate(Mask *mask, const float ctime, const int do_newframe) { MaskLayer *masklay; @@ -1475,7 +1475,7 @@ void BKE_mask_evaluate(Mask *mask, float ctime, const int do_newframe) MaskLayerShape *masklay_shape_b; int found; - if ((found = BKE_mask_layer_shape_find_frame_range(masklay, (int)ctime, + if ((found = BKE_mask_layer_shape_find_frame_range(masklay, ctime, &masklay_shape_a, &masklay_shape_b))) { if (found == 1) { @@ -1750,7 +1750,7 @@ MaskLayerShape *BKE_mask_layer_shape_find_frame(MaskLayer *masklay, const int fr } /* when returning 2 - the frame isnt found but before/after frames are */ -int BKE_mask_layer_shape_find_frame_range(MaskLayer *masklay, const int frame, +int BKE_mask_layer_shape_find_frame_range(MaskLayer *masklay, const float frame, MaskLayerShape **r_masklay_shape_a, MaskLayerShape **r_masklay_shape_b) { diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index 4f47a7f6f44..af5b7716bbc 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -2067,7 +2067,7 @@ static ImBuf *seq_render_mask_strip( return NULL; } - BKE_mask_evaluate(seq->mask, (int)(seq->mask->sfra + nr), TRUE); + BKE_mask_evaluate(seq->mask, seq->mask->sfra + nr, TRUE); maskbuf = MEM_callocN(sizeof(float) * context.rectx * context.recty, __func__); -- cgit v1.2.3