printing alpha transparency, Part II



Hello gnomers!

I got RGBA printing to work with basic items. If you dare to test this
out, take a look of 'gnome-print-rgba' branch of gnome-print.

The idea is creating wrapper context GnomePrintFRGBA, giving the "real"
context to it as argument. If during rendering wrapper encounters object
with alpha, it renders these (and all objects behind it) to bitmap.
Bitmap resolution is currently #defined 72.0 dpi.

As a extra bonus there is also special GnomePrintGC printing context,
which simply maintains stack of graphic contexts. I.e. - if you need GC
preserving, simply create GnomePrintGC together with you context and copy
all graphics commands to it.

What works with transparency:
fill
eofill
rgbaimage

What does not work (creates opaque shapes)
stroke
show
textline

As GnomePrintFRGBA uses GnomePrintRBuf to do actual RGBA rendering,
functions not implemented there can not be seen through semitransparent
shapes (textline).
Textline and show is basically untested. Other features are tested to some
extent, but will need much more.

Buffer allocating is currently very dumb - as big as object - I'll do it
smarter but I have to think out, how context can know page size (i.e. root
clipping path).

Lauris







[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]