[cairo] Meta surface proposal

Bill Spitzak spitzak at d2.com
Tue Feb 8 11:23:18 PST 2005



Owen Taylor wrote:

> 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 think we are talking about the same thing.

> 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.

My gut impression is that if these images are too big it is not going to 
annoy people. Most likely the images are going to be rectangles and this 
is certain to overlap large amounts of the existing image.

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

It seems you must include *earlier* vector primitives, since the result 
of the unsupported operation is going to depend on them. Drawing the 
primitives later is not going to produce the same result (if it did then 
Cairo would have to produce the same image no matter what order things 
were drawn in). I suppose you could somehow defer the primitives that 
don't actually intersect the new primitive, but this sounds incredibly 
difficult, and not worth it when the vast majority of unsupported 
operations are going to be things like "screen composite this 
rectangular bitmap".





More information about the cairo mailing list