diff options
author | Campbell Barton <ideasman42@gmail.com> | 2016-01-08 15:29:42 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2016-01-08 15:35:34 +0300 |
commit | e830334357d1f73afbeeeb421ffcbed8e99b2fab (patch) | |
tree | 01042f96ba220e1afba8f090730b9933c257d31d /source/blender/blenkernel/intern/tracking.c | |
parent | 0634fd0e974573d4e9452795ce99b2c8105f9fee (diff) |
Math Lib: use x-span for fill_poly_v2i_n callback
Instead of running the callback per-pixel,
pass the x-span to the callback.
Diffstat (limited to 'source/blender/blenkernel/intern/tracking.c')
-rw-r--r-- | source/blender/blenkernel/intern/tracking.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/tracking.c b/source/blender/blenkernel/intern/tracking.c index 094db3cfcc9..e5719bdca62 100644 --- a/source/blender/blenkernel/intern/tracking.c +++ b/source/blender/blenkernel/intern/tracking.c @@ -814,11 +814,14 @@ typedef struct TrackMaskSetPixelData { int mask_height; } TrackMaskSetPixelData; -static void track_mask_set_pixel_cb(int x, int y, void *user_data) +static void track_mask_set_pixel_cb(int x, int x_end, int y, void *user_data) { TrackMaskSetPixelData *data = (TrackMaskSetPixelData *)user_data; - size_t index = (size_t)y * data->mask_width + x; - data->mask[index] = 1.0f; + size_t index = (size_t)y * data->mask_width + x; + size_t index_end = (size_t)y * data->mask_width + x_end; + do { + data->mask[index] = 1.0f; + } while (++index != index_end); } static void track_mask_gpencil_layer_rasterize(int frame_width, int frame_height, |