[Spice-devel] [PATCH 00/30] Convert cairo canvas to use pixman

Izik Eidus ieidus at redhat.com
Sun Feb 21 06:51:01 PST 2010


On Fri, 19 Feb 2010 16:52:36 +0100
Alexander Larsson <alexl at redhat.com> wrote:

> +    if (pixman_image_get_depth (src_surface) == 1) {
> +        pixman_image_t *temp;
> +
> +        temp = pixman_image_create_bits(pixman_image_get_depth(dest_surface) == 24 ?
> +                                        PIXMAN_x8r8g8b8 : PIXMAN_a8r8g8b8,
> +                                        area.right - area.left,
> +                                        area.bottom - area.top, NULL, 0);
> +
> +        /* Copy from dest to temp */
> +        pixman_image_composite32(PIXMAN_OP_SRC,
> +                                 dest_surface, NULL, temp,
> +                                 area.left + offset.x,
> +                                 area.top + offset.y,
> +                                 0, 0,
> +                                 0, 0,
> +                                 area.right - area.left,
> +                                 area.bottom - area.top);
> +
> +        /* rop white over temp */
> +        spice_pixman_fill_rect_rop(temp,
> +                                   0, 0,
> +                                   area.right - area.left,
> +                                   area.bottom - area.top,
> +                                   0xffffff,
> +                                   rop);
> +
> +        /* copy back using a1 mask */
> +        pixman_image_composite32(PIXMAN_OP_SRC,
> +                                 dest_surface, src_surface, dest_surface,

You probably mean: temp, src_surface, dest_surface, but even then the color is oppisate.
easy to fix.

Thanks.


More information about the Spice-devel mailing list