[cairo] Cairo Win32 draws only some simple lines.

Theo Veenker T.J.G.Veenker at uu.nl
Tue Feb 12 12:36:24 PST 2013


On 02/12/2013 10:03 AM, Roman Bednarek wrote:
> After some more tries I found out that both functions work ok on
> surfaces created with cairo_win32_surface_create_with_dib and
> cairo_win32_surface_create_with_ddb, they do not work only on surfaces
> created with cairo_win32_surface_create. Therefore I think that cairo is
> compiled anf build correctly, just some function (requiring fallbacks?)
> do not work on surfaces drawing directly on a window.
> I am using buffer anyway, so it is not a problem for me anymore, but it
> may be some bug in newer cairo versions.

I also recall a problem with using a win32 surface. Could be the same
thing I suppose. Haven't had the time to work out a test case. I used
a win32 similar buffer for a backbuffer and in an application showing
some gradient filled rectangles some of the rectangles didn't get
filled. I worked around it by switching to a dib surface (image surface
of course worked too). I do see cairo_surface_mark_dirty() and
cairo_surface_flush() being used in the code.

I don't regularly use a Windows system but once I get to it I'll try
to make test thingy that demonstrates the problem. Or maybe you can
Roman?

Is there a performance penalty using a dib surface instead of a regular
win32 surface?

Theo


More information about the cairo mailing list