[cairo] API Shakeup wrapup: The plan going forward
David Reveman
davidr at novell.com
Fri Feb 25 04:56:00 PST 2005
On Wed, 2005-02-23 at 14:53 -0500, Carl Worth wrote:
> OK, I think I've now written up pretty much everything we talked about
> in the meeting last week, (and a few more things as well).
Great work, Carl!
>
> If anyone else has proposals for other API changes or removals, (is
> there anything we haven't touched?), please bring them up now. I'd
> really like to have the 1.0 API nailed down soon.
I've got three things:
Perspective Transformations -
Maybe we don't want this in gstate but I think we should leave the door
open for perspective transformations of patterns. If we just make sure
that cairo_matrix_t is 3x3 when exposing it to the API as planned. hmm,
maybe cairo_concat_matrix should be named cairo_affine_transform.
Advanced Filters -
We need to get convolution filters and such into the pattern interface.
Can't think of anything better than
cairo_pattern_set_filter (pattern, filter, params, nparams)
right now.
Shape Format -
I'm most concerned about support for sub-pixel rendering, especially for
text. This could also support aliased rendering, if we want that.
>
> Of course, proposals for additions to the API are also welcome, but
> they're easier to deal with in general, so are not as pressing.
>
> As far as a plan for actually getting this work all done, I think I'd
> like to do something like the following:
>
> 1) Get any big, outstanding patches committed.
>
> Basically just David's work I think.
As soon as you give me a go, I'll start writing changelogs and
committing.
>
> 2) Push out one last "old API" snapshot.
>
> Just in case we're slower than we want to be
>
> This gets the win32 backend out in a snapshot for the first
> time.
>
> 3) Write a patch for each "API Shakeup" proposal.
>
> Send to the list as followups to the proposal.
>
> 4) Do the big churn in CVS.
>
> Many of the changes are quite minor, and I'm not too worried
> about interdependencies or any need for careful patch
> scheduling.
>
> I do want to hold off on big changes that don't affect the API
> during this period, (eg. renaming cairo_foo.c to cairo-foo.c,
> backend interface rework).
>
> 5) Publish a porting guide to help application authors.
>
> 6) Spit out the first "new API" snapshot.
>
> Any help with any of these would be most welcome. The ordering above
> is not strict. We can start writing the patches (3) without waiting
> for the last old snapshot (1,2), and we can start a porting guide
> document (5) before everything lands in CVS (4).
>
> Should be fun. And I think we'll have a much better library when we're
> done.
>
So do I.
-David
More information about the cairo
mailing list