[cairo] Question about cairo_paint

Carl Worth cworth at cworth.org
Thu Feb 7 14:31:41 PST 2008


On Thu, 07 Feb 2008 16:51:03 -0500, Antoine Azar wrote:
> >Uhm... how exactly are you determining what sources are classified
> >as opaque here?
>
> There is a _cairo_pattern_is_opaque convenience function in
> cairo-pattern.c.

Right, OK. I had forgotten this function existed. This looks just
fine.

What I was wondering is whether the decision of "is_opaque"
considered the extend mode at all, (and it does not).

> There is a caveat listed concerning patterns and
> gradients:
...
> If I understand this correctly a "deep channel"

No need to worry about that now. That's just a future-proofing warning
that if we add such a backend in the future we'll have to tweak
CAIRO_COLOR_IS_OPAQUE.

That's really just one of many things that will have to change for
such a backend to be added in the future. And for you, for now, it's
nothing you need to worry about.

> You're absolutely right. I'll look more into this.

Good luck!

The easiest thing for now would be to just not do the OVER->SOURCE
optimization in the face of EXTEND_NONE. Doing better than that will
require reasoning about the extents of any given operation. I don't
think we currently compute those extents in advance in any convenient
form, (but see cairo-analysis-surface.c for code that *does* do all of
the necessary extents computation).

If we could compute all of that without doing any additional work,
then it might be worth it, (and we'd likely end up wanting to pass
such details down to the backends as well).

-Carl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.cairographics.org/archives/cairo/attachments/20080207/60532a51/attachment.pgp 


More information about the cairo mailing list