cairo/ROADMAP
Carl Worth 18c2d12b9e Add CAIRO_STATUS_DESTROYED to TODO list.
Note progress on consistent error handling.
Fix typo in documentation comment for _cairo_surface_get_current_clip_serial.
2005-06-15 16:52:11 +00:00

86 lines
2.5 KiB
Text

Here are some quick notes as far as a cairo roadmap goes.
See also the TODO file for a different view, (less organized, but
often in more detail, particularly for the API Shakeup work in
progress).
cairo 1.0 release requirements
==============================
Implementation work
-------------------
I1. Fix clipping to be sane
Dificulty: moderate
Status: cworth has started looking at this
I2. Real PostScript/PDF fallbacks (cairo_meta_surface_t)
Difficulty: hard
Status: otaylor has drafted a plan or two on the list
API Issues (more detail in TODO file)
-------------------------------------
✓A1. Add cairo_paint
Difficulty: moderate or moderate to minor
Dependencies: much easier after [I1]. needs some cleanups from [A4]
Status: Done
✓A2. Add cairo_mask
Difficulty: moderate
Status: Done
A3. Add cairo_begin/end/get_group
Difficulty: easy to hard (depending on how sophisticated an
implementation is acceptable, and whether the
cairo_meta_surface_t mentioned in [I2] is done)
Status: cworth sent API proposal to the list
(still some unresolved API issues)
✓A4. Make set_source consistent
Difficulty: easy
Dependencies: needs [A2,A3] to avoid losing functionality,
(but we may just live with that as we've now got
a circular dependency)
Status: Done.
✓A5. Add cairo_clip/fill/stroke_preserve
Difficulty: easy
Status: Done.
✓A6. Just eliminate a bunch of functions:
✓ cairo_set_target_*
✓ cairo_copy
✓ cairo_surface_set_repeat/matrix/filter
✓ cairo_show_surface
Difficulty: trivial
Dependencies: eliminating cairo_show_surface depends on [A1]
Status: Done.
A7. cairo_surface_mark_dirty
Difficulty: trivial to add API, moderate to actually optimize
based on it
Status: cworth has sent API proposal to list
A8. cairo_format_t:
Difficulty: moderate. It's just going through and examining
each use of cairo_format_t, but there are a lot
of them.
Status: not started, there is a rough plan in TODO
A9. consistent error handling for all objects
Difficulty: Easy to implement to get the API right. Hard to test.
Status: Done for cairo_t, cairo_path_t, and cairo_pattern_t.
Still need to do cairo_font_face_t,
cairo_scaled_font_t, and cairo_surface_t.
Performance work
----------------
✓P1. Make pixel-aligned rectangle compositing fast
Difficulty: moderate to easy
Status: Done.
P2. Generate better trapezoids to go easier on the rasterizer
Difficulty: moderate to hard
Status: cworth drafted a plan to the list