static void general_iter_init (pixman_iter_t *iter, const pixman_iter_info_t *info) { pixman_image_t *image = iter->image; switch (image->type) { case BITS: if ((iter->iter_flags & ITER_SRC) == ITER_SRC) _pixman_bits_image_src_iter_init (image, iter); else _pixman_bits_image_dest_iter_init (image, iter); break; case LINEAR: _pixman_linear_gradient_iter_init (image, iter); break; case RADIAL: _pixman_radial_gradient_iter_init (image, iter); break; case CONICAL: _pixman_conical_gradient_iter_init (image, iter); break; case SOLID: _pixman_log_error (FUNC, "Solid image not handled by noop"); break; default: _pixman_log_error (FUNC, "Pixman bug: unknown image type\n"); break; } }
static void general_src_iter_init (pixman_implementation_t *imp, pixman_iter_t *iter) { pixman_image_t *image = iter->image; if (image->type == SOLID) _pixman_solid_fill_iter_init (image, iter); else if (image->type == LINEAR) _pixman_linear_gradient_iter_init (image, iter); else if (image->type == RADIAL) _pixman_radial_gradient_iter_init (image, iter); else if (image->type == CONICAL) _pixman_conical_gradient_iter_init (image, iter); else if (image->type == BITS) _pixman_bits_image_src_iter_init (image, iter); else _pixman_log_error (FUNC, "Pixman bug: unknown image type\n"); }
static pixman_bool_t general_src_iter_init (pixman_implementation_t *imp, pixman_iter_t *iter) { pixman_image_t *image = iter->image; if (image->type == LINEAR) _pixman_linear_gradient_iter_init (image, iter); else if (image->type == RADIAL) _pixman_radial_gradient_iter_init (image, iter); else if (image->type == CONICAL) _pixman_conical_gradient_iter_init (image, iter); else if (image->type == BITS) _pixman_bits_image_src_iter_init (image, iter); else if (image->type == SOLID) _pixman_log_error (FUNC, "Solid image not handled by noop"); else _pixman_log_error (FUNC, "Pixman bug: unknown image type\n"); return TRUE; }