Re: CAIRO_FORMAT_ARGB32 Usage Problem

Chris Wilson <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
On Fri, 30 Sep 2011 14:31:34 -0300, "Antonio Scuri" <[email protected]> wrote:
>   Hi,
> 
>   I'm successfully using Cairo in X-Windows, GDK and Win32 with the
> functions:
> 
> cairo_xlib_surface_create
> gdk_cairo_create
> cairo_win32_surface_create
> 
>   To draw an image I use:
> 
> cairo_image_surface_create
cairo_surface_flush // redundant in this case, but stated for pedagology
> cairo_image_surface_get_data
cairo_surface_mark_dirty

> cairo_set_source_surface
> cairo_paint
> 
>   Everything works fine. But I have 24bpp and 32bpp images, so I use
> CAIRO_FORMAT_RGB24 and CAIRO_FORMAT_ARGB32 accordingly. 
> 
>   In Cairo 1.8 both flags were working fine, but in Cairo 1.10 the flag
> CAIRO_FORMAT_ARGB32 causes "cairo_paint" to draw nothing. This behavior
> occurs is all the systems mentioned above. Other primitives work fine.

It sounds like the problem is that you modified the data without informing
Cairo, so it continues to assume that it had the same value as before
(which is all-clear). The secret is that cairo does and always has
expected you to mark any part of the surface that you externally modify
(that is manipulate directly and not through the cairo surface) as dirty.
-chris

-- 
Chris Wilson, Intel Open Source Technology Centre
--
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.