[cairo] Re: cairo_image_surface_create_for_data() args
stevech1097 at yahoo.com.au
Tue May 17 06:52:27 PDT 2005
On Sun, 2005-05-15 at 11:21 -0400, Owen Taylor wrote:
> Do you think the other pairs there actually map to Python? While you
> certainly could implement:
> def set_source (self, pattern_or_surface, dx=0, dy=0):
> if [pattern_or_surface is a pattern]:
> if (dx != 0 or dy != 0):
> raise SomeError
> It doesn't strike me as being natural Python or a particularly good
> idea. The overloading pairs are designed more for a strongly typed
> languages with overloads ... C++/Java/C#, say. My expectations would
> probably be that the Python API would match the C API in this area.
It doesn't look like very natural Python so it may be best not to do any
of the overloading.
If cairo_image_surface_create() and cairo_image_surface_create_for_data
() had the same argument order then it could be treated as a case of
optional arguments, and should work.
cairo.ImageSurface(format, width, height, data=None, stride=None)
> P.S. - while the name of the section is "overloading and optional
> arguments", there is nothing about optional arguments in there
> I meant to say something, but didn't really common up with
> any compelling use cases ... maybe cr.rel_move_to (dy=20)
Optional arguments is something that Python can support.
How about cr.set_source_rgba(r,g,b,a=1.0)
Then cr.set_source_rgb(r,g,b) is not even needed is it?
More information about the cairo