[cairo] API Status?
Carl Worth
cworth at cworth.org
Tue Apr 5 12:23:17 PDT 2005
On Tue, 5 Apr 2005 12:11:18 -0600, "Peter Dennis Bartok" wrote:
> There seems to have been a flurry of API redo activity lately. Could
> somebody be so kind and provide a status as to where the cairo public API
> stands at the moment? Are all the major changes already done (in CVS), (ie,
> is it close to being a 1.0 API), or are major changes still to be
> anticipated?
There are still a fair number of changes in progress. I've been
keeping notes on the API Shakeup in cairo/TODO which you can view
online at:
http://cvs.cairographics.org/*checkout*/cairo/TODO
> Just asking to get a feel whether we should migrate our libgdiplus library
> to use the latest cairo or wait a bit longer, so we don't have to do it
> twice.
To avoid porting twice, you'll want to wait. But I have been keeping
the old API almost entirely alive, so that if there is something
interesting in CVS that you want, you can go ahead and try it out.
I've put the current version of the API Shakeup chart from cairo/TODO
below.
From that, you can see that we've been focusing on the "somewhat
backwards-compatible changes first". Each entry in the table
corresponds to an "API Shakeup" thread of a similar name.
I've got patches nearly finished for cairo_paint, set_source,
current_matrix, and fill_preserve.
After those and cairo_mask, I think everything else is either trivial
to implement, or completely new functionality (so there's no porting
concern). So once we reach that point, I'll do all the "eliminating"
changes which will break backwards compatibility. At that point, I
will recommend people start porting and we'll draw up a porting guide
to help with the process.
Thanks for your patience during this process.
-Carl
API Shakeup planning
--------------------
Patch submitted to mailing list?
/ Documentation included in patch?
|/ Review of patch completed?
||/ Test case included?
|||/ Committed.
||||/
Somewhat backwards-compatible changes
-----------------------------------
PDRTC user data (was Re: [cairo] Patch improving fallbacks)
PDRTC setters and getters
PDR C cairo_output_stream_t and cairo_surface_finish()
PDRTC cairo_current_path -> cairo_copy_path_data
PDR C cairo_surface_finish, cairo_surface_flush
PD C Abbreviation hunt: cairo_init_clip and cairo_concat_matrix
----- Renaming the terms of the rendering equation
PD default matrix
cairo_paint
cairo_begin_group, cairo_end_group, cairo_get_group
Making set_source consistent
----- cairo_stroke_path -> cairo_stroke_to_path
cairo_current_matrix
cairo_mask
cairo_create and eliminating cairo_set_target_surface
cairo_fill_preserve, cairo_stroke_preserve, cairo_clip_preserve
cairo_<device>_surface_mark_dirty
A hidden offset for the xlib backend
Simplifying the operator set
Consistent error handling for all objects
Backwards incompatible
----------------------
Eliminating cairo_copy
Eliminating cairo_surface_set_repeat/matrix/filter
Eliminating cairo_show_surface
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20050405/5307b514/attachment.pgp
More information about the cairo
mailing list