[cairo] Cairo Win32 backend in CVS

Owen Taylor otaylor at redhat.com
Mon Jan 31 16:53:05 PST 2005


Just a heads up that I've landed my Windows backend in CVS. Notes:

 - I called it cairo_win32_* for the reasons outlined in my previous
   mail. The people expressing objections never said what those 
   objects were.

   If it turns out to be a bad idea, we still have a couple months
   to rename.

 - No native font-backend yet. It may be easy to get that working,
   it may be hard. I'm not sure yet.

 - No native font backend makes building the whole thing
   a bit of a challenge since you need FreeType and fontconfig.

   I'll try to write up something along the lines of:

    http://mail.gnome.org/archives/gtk-devel-list/2005-January/msg00091.html

   Before going on to other things.

 - I also checked a Win32 version of the cairo_snippets wrapper.
   It likely will take some Makefile tweaking to build on your
   system. (cairo_demo needs to be autoconf'ed)

 - Possible optimizations

    - Create temporary ARGB32 surfaces and user AlphaBlend
      when the operator is OVER to avoid reading from DDB's
      and windows. A good idea only if AlphaBlend is HW-accelerated.
      May be hard to figure that out.

    - Recognize rectangular fills with opaque colors and use
      GDI for that.

    - Use native Win32 stretch-blits when drawing scaled images,
      at least for some filter modes.

    - Recognize when the DC passed in points to a DIB and use
      in-memory rendering for that

 - Remaining cleanups

    - win32_surface->clip_rect isn't really what we want. Instead,
      we want to determine on surface creation whether the surface
      is a BITMAP or a window. And if it's a BITMAP get its size
      and store that. 

I plan to spend a bit more time on fonts, in the next day or so,
then put this work down. Hopefully other interested people will
pick it up.

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/20050131/85c5553d/attachment.pgp


More information about the cairo mailing list