diff options
Diffstat (limited to 'pixman/pixman-general.c')
-rw-r--r-- | pixman/pixman-general.c | 42 |
1 files changed, 16 insertions, 26 deletions
diff --git a/pixman/pixman-general.c b/pixman/pixman-general.c index f75e7b38..4f73331c 100644 --- a/pixman/pixman-general.c +++ b/pixman/pixman-general.c @@ -39,18 +39,12 @@ #include "pixman-combine32.h" #include "pixman-private.h" -static uint32_t * -get_scanline_null (pixman_iter_t *iter, const uint32_t *mask) -{ - return NULL; -} - static void -iter_init (pixman_implementation_t *imp, - pixman_iter_t *iter, - pixman_image_t *image, - int x, int y, int width, int height, - uint8_t *buffer, iter_flags_t flags) +general_iter_init (pixman_implementation_t *imp, + pixman_iter_t *iter, + pixman_image_t *image, + int x, int y, int width, int height, + uint8_t *buffer, iter_flags_t flags) { iter->image = image; iter->x = x; @@ -58,12 +52,7 @@ iter_init (pixman_implementation_t *imp, iter->width = width; iter->buffer = (uint32_t *)buffer; - if (!image) - { - iter->get_scanline = get_scanline_null; - iter->next_line = _pixman_iter_next_line_noop; - } - else if (image->type == SOLID) + if (image->type == SOLID) { _pixman_solid_fill_iter_init ( image, iter, x, y, width, height, buffer, flags); @@ -146,17 +135,17 @@ general_composite_rect (pixman_implementation_t *imp, mask_buffer = src_buffer + width * Bpp; dest_buffer = mask_buffer + width * Bpp; - iter_init (imp->toplevel, &src_iter, src, - src_x, src_y, width, height, - src_buffer, narrow); + _pixman_implementation_iter_init (imp->toplevel, &src_iter, src, + src_x, src_y, width, height, + src_buffer, narrow); - iter_init (imp->toplevel, &mask_iter, mask, - mask_x, mask_y, width, height, - mask_buffer, narrow); + _pixman_implementation_iter_init (imp->toplevel, &mask_iter, mask, + mask_x, mask_y, width, height, + mask_buffer, narrow); - iter_init (imp->toplevel, &dest_iter, dest, - dest_x, dest_y, width, height, - dest_buffer, narrow | ITER_WRITE); + _pixman_implementation_iter_init (imp->toplevel, &dest_iter, dest, + dest_x, dest_y, width, height, + dest_buffer, narrow | ITER_WRITE); component_alpha = mask && @@ -251,6 +240,7 @@ _pixman_implementation_create_general (void) imp->blt = general_blt; imp->fill = general_fill; + imp->iter_init = general_iter_init; return imp; } |