On 2010-03-18 16:26-0400 Hezekiah M. Carty wrote:

> The fix for pngcairo is fairly straightforward.  The pngcairo device
> was using an RGB surface rather than an ARGB surface, so the Cairo
> drawing routines were treating it like it does not support
> transparency (which it didn't).  Changing the pngcairo to use an ARGB
> surface fixes this issue and gives output with a properly transparent
> background, like the svgcairo case.
>
> I have committed this change as revision 10847.

Thanks, Hez.  Your fix works here as well.

>
> [...] From what I have read so
> far, having nicely window-manager independent transparent backgrounds
> for the xcairo (and xwin and possiblt qtwidget) devices would require
> pulling in more X dependencies and would only work with window
> managers which support such niceties.

I read some stuff like that as well on the web, but I think it must be quite
dated information.  To show this, note that the ImageMagick "display"
application is a GUI that ultimately interacts with the X server on Linux.

Now that -dev pngcairo is working properly, you can test whether your X
server renders transparent backgrounds by running

examples/c/x02c -dev pngcairo -bg 0000ff_0.3 -fam -o test.png

followed by

display -immutable test.png.2

In my case I have access to two different X servers for two very different
boxes.  I use the Debian Lenny X server/kernel 2.6.26 for my newish Intel
box with g33 chipset/gma 3100 and the Debian Testing X server/kernel 2.6.32
with my old shuttle box (the X-terminal) with embedded SiS hardware with
reverse-engineered 2D X driver.  In both cases, I get transparent results
with "display -immutable".  David had similar success with display
-immutable, although in his case display might be interacting with something
different than X (glitz?), but at minimum his result showed that transparent
backgrounds can be properly rendered on Mac OS X.

[out of order]
Should I back-out the xcairo device change [to insert an obscuring layer
between pages]?

Yes, please.  Of course, you first have to figure out a way to not stack
xcairo pages on top of previous pages.  I was thinking along the lines that
when a page was started the widget/GUI associated with the previous page
should be properly terminated and a whole new widget/GUI initialized for the
new page.  But maybe you would not have to go to that extreme...

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to