[cairo] Re: drawlist type functionality in Cairo

David Reveman davidr at novell.com
Tue Apr 5 11:28:08 PDT 2005


On Tue, 2005-04-05 at 11:57 -0400, Mike Emmel wrote:
> To sum it up hopefully...
> 
> Cairo requirments for a caching backend to support asynchronous drawing model.
> 
> 1.) The format should allow the application of a affine transform
> 2.) The format should allow application of a new pattern or fill or
> stroke style.
> 3.) Patterns should be cached.
> 4.) The backend should control the format of the cache
> 5.) Cairo should provide a api to select the cache as a target and a
> way to retrieve a handle to the compiled format.
> 6.) ???
> 7.) Profit  :)

These points makes no sense to me. I'm not sure you really understand
what I'm suggesting.

I'm suggesting that each pattern and path object should contain a cache
with maybe just a single item. We could have more than one item but one
might just be enough. When a pattern or path is reused it will use the
cache if possible. If it's possible to use the cache or not depends on a
number of attributes. For a path object, an affine transform is one of
these attributes and all of the current backends (except maybe the PDF
backend) would not be able to use the cache if the affine transform is
different in any other way than a pixel aligned translate.   

-David




More information about the cairo mailing list