[cairo] 29e22cf38e8abc54b9dddbdeb3909d02866a82a0 - Enable component alpha on solid mask

chris chris at chris-wilson.co.uk
Mon Sep 14 05:15:03 PDT 2009

Excerpts from Soeren Sandmann's message of Mon Sep 14 12:51:47 +0100 2009:
> Hi Chris (and also the list, this time)
> Thanks for adding the new test from rendercheck. That is going to be
> useful. Most of the other commits look good too, but I don't
> understand the component-alpha-on-solid-mask one:


> Is there any reason to believe that anyone would actually do this? It
> doesn't seem useful to me. And if we are going to support component
> alpha on solid images, shouldn't it also be supported on gradients?

Interesting. As I read pixman (and the other ddx) they do not
distinguish between a solid pattern and 1x1R image, in particular the
misleading mask_is_solid(). As such, I thought that not enabling
component alpha along that path was a simple oversight. At the moment I
know of no users of solids, though I am contemplating enabling support
through cairo-xlib (though I hesitate since it requires ddx support in
order to not regress horribly).

As far as a consistent API goes that I would say we should respect
component alpha on a mask regardless of type. And I feel we should also
discuss adding a cairo_pattern_set_per_component_mask().

> In any case, as far as I know we have never supported this before, so
> I don't think it belongs on the 0.16 branch.

My bad, I really did think it was a trivial bug and not a deliberate
chris.wilson at intel.com

More information about the cairo mailing list