[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