[cairo] API shakeup: png function names
John Ellson
ellson at research.att.com
Sun Apr 3 20:50:51 PDT 2005
Kristian Høgsberg wrote:
> John Ellson wrote:
>
>> In the absence of updated examples, I tried to update my code based
>> on the names of the functions
>> in cairo/cairo_png.h.
>>
>> I totally misinterpred the role of this function:
>>
>> cairo_surface_t *
>> cairo_image_surface_create_for_png (FILE *file, int *width, int
>> *height);
>>
>> Why not just call it: cairo_surface_read_png so as to be clear that
>> it is the read counterpart to the other png function?
>
>
> Well, it isn't really the counterpart. The counterpart would read a
> png into an existing image surface.
> cairo_image_surface_create_for_png() is a surface constructor and
> follows the naming and parameter conventions for constructors.
>
> A function to read a png file into a en existing surface might make
> sense, but I'm not sure how you would get the size of the png to make
> sure the surface is the right size. The current approach of making
> the read function a constructor is a pretty simple and clean design,
> even if the read and write functions are not symmetric.
Thats a bit of a subtle distinction, but OK they are not quite symmetric.
I think the bit that first confused me was the use of "for" instead of
"from" . To me the directionality of "for" is wrong.
How about "cairo_image_surface_create_from_png"
Then, since the creation part is fairly obvious from the return type,
how about dropping the "create"
and is the "image" qualifier really necessary?
John
More information about the cairo
mailing list