[cairo] Cairo Win32 draws only some simple lines.

Roman Bednarek roman at mikronika.com.pl
Wed Feb 13 23:49:34 PST 2013

On Tue, 12 Feb 2013, Theo Veenker wrote:

> 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?

    Creating a new simpel test case was a good idea, writing it I noticed 
that somehow I used cairo_surface_mark_dirty and cairo_surface_flush in 
the wrong way. After applying it in the correctly it works fine :)
Thanks for help.

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

Roman Bednarek

More information about the cairo mailing list