[cairo] Meta surface proposal

Owen Taylor otaylor at redhat.com
Tue Feb 8 08:19:07 PST 2005


On Mon, 2005-02-07 at 18:14 -0800, Bill Spitzak wrote:
> This sounds like a good idea, though the proposed result sounds wrong to me.
> 
> If I understand it right, any primitive that intersects an area that 
> cannot be done by the backend will result in a "fallback" version. This 
> could easily mean that the whole page will be a fallback image even if 
> just a tiny part in the middle requires fallback. This is unlikely to 
> produce the best version. Instead I would like to see each fallback 
> operation printed as it's own image, with no effect on subsequent 
> non-fallback operations. This is especially important if text is drawn 
> atop a background, the user will be quite happy to see full-resolution 
> text atop a bitmapped background, certainly better than having the text 
> turn to bitmaps as well!

I think you could get the effect that you are shooting for with a simple
modification of the algorithm I sketched out ... rather than looking
for intersections with all primitives just look for intersections with
previously drawn primitives.

I do think that you want to draw the image fallbacks before vector 
primitives not after ... one reason that works better is you don't have
to be precise in clipping the images you draw. If you draw the images
afterwords, there is always the danger that you'll overwrite bits of
the vector primitives, either erasing them or pixelizing them, depending
on whether you draw the vector primitives to the image or not.

When you draw the images first, you can simply not include the vector
primitives you draw natively in the image.

Regards,
					Owen





More information about the cairo mailing list