[cairo] cairo 1.5.8 API Changes and bindings

Behdad Esfahbod behdad at behdad.org
Wed Jan 30 12:29:38 PST 2008


On Wed, 2008-01-30 at 14:59 -0500, Jonathon Jongsma wrote:
> 
> > Change the return type of cairo_get_current_point() from void to
> > cairo_status_t. This allows the caller to receive a
> > CAIRO_STATUS_NO_CURRENT_POINT value to distinguish the a current
> point
> > at the origin from no current point existing.
> 
> I had a brief chat with Behdad about this on IRC and he suggested to
> bring it up on the mailing list.  As far as I know, most bindings do
> not actually expose the cairo_status_t data type: the manual
> recommends that bindings check status and throw an exception of the
> appropriate type.  In this case, if bindings followed this advice,
> they'd be throwing exceptions on cases that previously didn't throw
> exceptions, which could potentially break existing applications.
> Behdad suggested possibly adding something like has_current_point() to
> work around this.  Anybody have any other thoughts about how to handle
> this in bindings?

I did a quick Google Code Search for "pygtk cairo get_current_point" and
"cairomm get_current_point", and seems like there's only one user, in
gaphor-0.9.0/gaphas/view.py.  No idea what that package is but we can
notify them.

I also hear that cairo# will break by such changes, but guess then need
a new version for 1.6 anyway.

Any other widely used bindings?

I'm inclined to let this one go in given the rare use in those
languages.

> -- 
> jonner
-- 
behdad
http://behdad.org/

"Those who would give up Essential Liberty to purchase a little
 Temporary Safety, deserve neither Liberty nor Safety."
        -- Benjamin Franklin, 1759



More information about the cairo mailing list