[cairo] CAIRO_OPERATOR_SOURCE not handled by backend

Sebastian Tusk sebastian.tusk at gmx.net
Tue Mar 20 14:09:52 PDT 2007


> > > The reason for the special behaviour is that when SOURCE or CLEAR are
> used
> > > with
> > > a mask in cairo that mask bounds the operation. Does your backend
> > > support this behaviour?
> > 
> > The special behaviour is triggered even without a mask. For my backend I
> would handle both cases myself.
> 
> This isn't true. Without a mask (clip_surface) the special case in
> clip_and_composite_trapezoids will send the operation through to
> _composite_trap_region which passes the SOURCE operation on to the
> backend composite function through _cairo_surface_composite.

You are right.

> Out of curiosity, what is your cairo backend targeting?

DirectX 9. Unfortunately I think it is impossible to do transparently to a client application. The reason for this is that a surface in video memory can go away at any moment without a chance to safe the content. Additionally render commands can fail silently. A client application has to be aware of these issues.

Sebastian

-- 
"Feel free" - 10 GB Mailbox, 100 FreeSMS/Monat ...
Jetzt GMX TopMail testen: www.gmx.net/de/go/mailfooter/topmail-out


More information about the cairo mailing list