PS/PDF API Change Proposal: (Re: [cairo] Semantics of transparent objects)

Bill Spitzak spitzak at d2.com
Thu Jan 19 13:37:22 PST 2006



Carl Worth wrote:

>>1. Whenever the alpha of the destination is wanted, 1 is substituted.
>>
>>2. When a color,alpha pair of c,a is written to the desitnation, instead 
>>the value c+1-a is written, and there is no need to store the a.
> 
> This, I believe, would introduce a _third_ semantic, used uniquely for
> printing. That gets us further from consistent output, not closer.

I guess my proposal is that the above math *replaces* the current COLOR 
surface math. Thus there are still only two types of surfaces (COLOR 
with my new math, and COLOR_ALPHA).

I thought about instead saying the printer is a COLOR_ALPHA surface, 
with a final composite over white after all the drawing is done. But it 
seems this will make it too difficult to convert Cairo to PostScript 
without reverting to an image. Changing the math as stated above I 
believe will make all the destination composites emulatable with 
PostScript, so only the use of intermediate surfaces will cause images 
to be used. This makes it much easier to avoid creating intermediate 
images by accident.


More information about the cairo mailing list