[cairo-bugs] [Bug 4687] Getting pixel data

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Jan 17 15:13:25 PST 2006


Please do not reply to this email: if you want to comment on the bug, go to    
       
the URL shown below and enter yourcomments there.     
   
https://bugs.freedesktop.org/show_bug.cgi?id=4687          
     




------- Additional Comments From cworth at cworth.org  2006-01-18 10:08 -------
[Copying the mailing list simultaneously]

We clearly need this. And I'd like to shove something in before we
release cairo 1.2.0 (it turns out some improvements to the test suite
would really like to be able to do this after
cairo_image_surface_create_from_png).

There is something missing though from the proposed interface. In
order to really be able to use the image data, one will need the
following information in addition to a pointer to the data:

        format, width, height, stride

Two of these are available already in:

        cairo_public int
        cairo_image_surface_get_width (cairo_surface_t *surface);
and:
        cairo_public int
        cairo_image_surface_get_height (cairo_surface_t *surface);

Do we want to add the remaining three functions in a piece-wise
fashion:

        cairo_public cairo_format_t
        cairo_image_surface_get_format (cairo_surface_t *surface);

        cairo_public unsigned char *
        cairo_image_surface_get_data (cairo_surface_t *surface);

        cairo_public int
        cairo_image_surface_get_stride (cairo_surface_t *surface);

Or would it be better to have one call to get them all (in
an order to match cairo_image_surface_create_for_data)?

        cairo_public void
        cairo_image_surface_get_data (cairo_surface_t    *surface,
                                      unsigned char     **data,
                                      cairo_format_t     *format,
                                      int                *width,
                                      int                *height,
                                      int                *stride);

The idea being that getting the data without the other information is
either not useful or at best error-prone, and having to call five
functions for a single operation is just painful.

Get your votes in quick if you care.
          
     
     
--           
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email         
     
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.


More information about the cairo-bugs mailing list