[cairo] [RFC] Cairo operators expressed in shader syntax
behdad at behdad.org
Sat May 12 12:13:12 PDT 2007
On Fri, 2007-05-11 at 19:22 -0400, Daniel Amelang wrote:
> As you can see below, I define a new operator "COMPONENT_IN", and
> illustrate its behavior by example. It's likely that I'll just use
> this new operator internally for the purposes of this project, but I
> thought it might be worth discussing. If you follow the reasoning
> further, you'll notice that COMPONENT_OUT and COMPONENT_DEST_OUT
> operators are also possible, although I don't know how useful they
> would be.
We've been talking about Render-style component-alpha masks for a while.
I even recently added it to TODO.
Ok, lets propose some API:
cairo_paint_with_component_alpha (cairo_t *cr,
cairo_mask_components (cairo_t *cr,
cairo_mask_surface_components (cairo_t *cr,
Better name suggestions? Another approach is to make it a pattern
property. That doesn't solve the paint_with_component_alpha usecase,
nor would it remove need for convenience cairo_mask_surface_components()
to go with cairo_mask_surface(). The implementation will be more
straightforward with a pattern property I guess, and doesn't need
extending backend interface/
Do PDF/AVG support component alpha masking? PS, Quartz, Win32?
"Those who would give up Essential Liberty to purchase a little
Temporary Safety, deserve neither Liberty nor Safety."
-- Benjamin Franklin, 1759
More information about the cairo