On Fri, 16 Nov 2007 14:04:45 +0100, "=?ISO-8859-1?Q?BJ=F6rn_Lindqvist?=" wrote: > surface = cairoio.load('foobar.png') > if surface.get_format() in (cairo.FORMAT_ARGB32,): > > is equivalent with: > > pixbuf = gdk.pixbuf_new_from_file('foobar.png') > if pixbuf.get_has_alpha(): Actually, better cairo code would be: if surface.get_content() == cairo.CONTENT_COLOR_ALPHA: > Cairo currently only supports one alpha format which is FORMAT_ARGB32 > (FORMAT_A8 and FORMAT_A1 doesn't count), but might support more in > the future. The code I presented will be robust against future additions of color-and-alpha-supporting image formats. Another thought that occurs to me is that you should think about how to support fast loading of image data directly into cairo surfaces other than cairo-image surfaces, (for example a cairo-xlib surface). There's been recent discussion on the cairo mailing list about adding API to support this well, (for example, allowing XShm transport), and it might be very nice if you could provide some feedback on that. Let me know if you need a specific pointer to the thread(s). -Carl
Attachment:
pgpBDqUjgTMEH.pgp
Description: PGP signature