[cairo] unbounded by source operators != unbounded by mask operators

Bill Spitzak spitzak at d2.com
Fri Oct 28 11:23:02 PDT 2005


My explanation (please correct if wrong!):

The bounded operations are all those where ([0,0,0,0] OP dest)==dest. 
"bounded" operators composite with this function:

	(source IN mask) OP dest

While "unbounded" operators use this:

	((source OP dest) IN mask) PLUS (dest OUT mask)

In *most* cases (but not for SATURATE) these two functions are identical 
for the bounded operators.

> What does the "(not just alpha)" refer to here? That's not clear to
> me.

It means that the colors have to be zero for the OP to not make a change 
to the destination. For instance ADD will change the destination even if 
the alpha is zero, if the color channel is non-zero.


More information about the cairo mailing list