diff options
Diffstat (limited to 'pixman/pixman-bits-image.c')
-rw-r--r-- | pixman/pixman-bits-image.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/pixman/pixman-bits-image.c b/pixman/pixman-bits-image.c index 6c43b97..376753f 100644 --- a/pixman/pixman-bits-image.c +++ b/pixman/pixman-bits-image.c @@ -1347,24 +1347,24 @@ bits_image_property_changed (pixman_image_t *image) } static uint32_t * -src_get_scanline_narrow (pixman_iter_t *iter, const uint32_t *mask) +src_get_scanline_narrow (pixman_iter_t *iter, uint32_t *buffer, const uint32_t *mask) { iter->image->bits.get_scanline_32 ( - iter->image, iter->x, iter->y++, iter->width, iter->buffer, mask); + iter->image, iter->x, iter->y++, iter->width, buffer, mask); - return iter->buffer; + return buffer; } static uint32_t * -src_get_scanline_wide (pixman_iter_t *iter, const uint32_t *mask) +src_get_scanline_wide (pixman_iter_t *iter, uint32_t *buffer, const uint32_t *mask) { iter->image->bits.get_scanline_64 ( - iter->image, iter->x, iter->y++, iter->width, iter->buffer, mask); + iter->image, iter->x, iter->y++, iter->width, buffer, mask); - return iter->buffer; + return buffer; } -void +iter_flags_t _pixman_bits_image_src_iter_init (pixman_image_t *image, pixman_iter_t *iter, int x, int y, int width, int height, @@ -1374,10 +1374,12 @@ _pixman_bits_image_src_iter_init (pixman_image_t *image, iter->get_scanline = src_get_scanline_narrow; else iter->get_scanline = src_get_scanline_wide; + + return flags; } static uint32_t * -dest_get_scanline_narrow (pixman_iter_t *iter, const uint32_t *mask) +dest_get_scanline_narrow (pixman_iter_t *iter, uint32_t *unused, const uint32_t *mask) { pixman_image_t *image = iter->image; int x = iter->x; @@ -1400,7 +1402,7 @@ dest_get_scanline_narrow (pixman_iter_t *iter, const uint32_t *mask) } static uint32_t * -dest_get_scanline_wide (pixman_iter_t *iter, const uint32_t *mask) +dest_get_scanline_wide (pixman_iter_t *iter, uint32_t *unused, const uint32_t *mask) { bits_image_t * image = &iter->image->bits; int x = iter->x; @@ -1474,7 +1476,7 @@ dest_write_back_direct (pixman_iter_t *iter) iter->buffer += iter->image->bits.rowstride; } -void +iter_flags_t _pixman_bits_image_dest_iter_init (pixman_image_t *image, pixman_iter_t *iter, int x, int y, int width, int height, @@ -1514,6 +1516,9 @@ _pixman_bits_image_dest_iter_init (pixman_image_t *image, iter->get_scanline = dest_get_scanline_wide; iter->write_back = dest_write_back_wide; } + + /* What would ITER_ON_DEST mean for dest iterators? */ + return flags & ~ITER_ON_DEST; } static uint32_t * |