[cairo] [PATCH] filtering value preservation

graydon hoare graydon at redhat.com
Thu Jan 29 10:49:15 PST 2004

Carl Worth wrote:

> The patch needs to initialize surface->filter in _cairo_surface_init.


> But, I don't think we actually want the "create_similar" interface to
> clone so much of the original surface[*]. Instead, I think we do want
> the new surface->filter field and cairo_surface_get_filter. Then,
> instead of copying this in create_similar, I think the code that is
> creating the temporary copy should copy the filter parameter over as
> necessary.
> Does that make sense?

yup. that was the other way I was thinking of doing it (well, ideally 
having a way to dynamically query the backend for the filter, but 
storing the state is good enough).

> Also, I think I want to remove the get/set of repeat, filter, and
> matrix from the public "object-like" surface API, and instead move
> them to cairo_t functions that would operate on the "current
> pattern". The idea here is to keep rendering state in the cairo_t
> state object, and not sprinkled throughout various objects.

yeah, I'd be amenable to that. storing intrinsic drawing state in the 
surface makes sense implementation-wise, but is sufficiently confusing 
to a user to warrant hiding. do you want me to start on that change, or 
just commit the patch with the more minor fixes you've pointed out above?


More information about the cairo mailing list