[cairo] Alpha channel for text under win32

Owen Taylor otaylor at redhat.com
Wed Apr 13 08:11:25 PDT 2005


On Wed, 2005-04-13 at 16:49 +1000, Jason Thomas wrote:
> Just FYI, AFAIK GDI+ appears to have support.

Yep, software-only support.

> My requirements are:
> 	Linux + Windows
> 	Quick, byte level access to a cairo generated RGBA image
> 
> I have to use the RGBA externally to cairo for blending.
> 
> The win32 alpha channel looks OK except only for fonts,
> it even appears to be used in CAIRO_FORMAT_RGB24 mode.

> Since other renderers use freetype? (X&Glitz) they
> must also be in a similar position as I don't think
> lib freetype handles an alpha channel unless you
> use direct rendering which is pretty expensive.

FreeType is not used by the Win32 backend.

> >Can you just use an image surface?
> If I understand you correctly means do my blending in cairo?
> Unfortunately I don't have the option.
> 
> > and the only use of the DC would be when
> > calling AlphaBlend.
> 
> Well you do have the color/alpha data in the DC's DIB, which you can setup
> in the DC prior to passing to cairo,
> so you can do anything you like with the color/alpha data as externally you
> have access to this.

If all you want is access to the bits, use an image surface, not a win32
surface. In some distant future, Cairo may use Direct/X to do
accelerated drawing to a ARGB buffer under win32, but it doesn't
currently, and won't any time soon.

> Does anyone know if pixmaps/surfaces under X suffer from the same problem?
> i.e. alpha for all primatives but Text?

No, it's not an X problem. It's not really a cairo/win32 problem either,
I believe, just a bug in your hacked version of Cairo... you'd need ot
debug your _cairo_win32_scaled_font_show_glyphs().

Regards,
						Owen

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.freedesktop.org/archives/cairo/attachments/20050413/0a174236/attachment.pgp


More information about the cairo mailing list