[cairo] XShm
Vladimir Vukicevic
vladimir at pobox.com
Fri Oct 19 13:30:43 PDT 2007
Chris Wilson wrote:
> cairo_surface_as_image() is quite appealing (at least for the pixel
> based surfaces), but one quickly runs into complexities synchronizing
> the pixels between the image and the Xserver.
>
> Perhaps something akin to push_group/pop_group:
> cairo_acquire_image (cr); /* wraps acquire_dest_image() & redirection */
> /* get pixel data for direct manipulation */
> bits = cairo_image_surface_get_data (cairo_get_target (cr));
> /* ... */
> cairo_release_image (cr); /* release_dest_image() & restore */
Yup, that would work as well, though I think it should be
cairo_surface_acquire_image (surface), not cairo_acquire_image.
> This would be for surfaces like win32 virtually a no-op and hit the XShm
> path for xlib.
>
> Vlad, could you give some insight as to how
> cairo_win32_surface_get_image() is used by applications?
Basically for fast loading of images, to avoid the copy from image
surface -> win32 DIB.
- Vlad
More information about the cairo
mailing list