cairo 0.6 release requirements ============================== The cairo 0.6 snapshot is intended to intended to have the last of the API _changes_ prior to cairo 1.0. Here they are: API changes ----------- 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. Carl has signed up for this one. A10. cairo_font_options_t Difficulty: Moderate Status: Owen has done all the hard thinking, and we've got consensus on the API now. Owen has sent two versions of the patch to the list. A11. cairo_xlib_surface_create needs to be screen-aware Difficulty: Easy Status: Keith has cooked up a patch with an APi that should be sufficient. It still needs testing on multi-screen X server. A12. cairo_xlib_surface_set_drawable Difficulty: Easy Status: Keith has a patch sitting ready on the list. 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: krh has committed cairo_meta_surface_t and a preliminary version of cairo_ps_surface_t that uses it. I3. Add support for sub-pixel (ARGB) rendering of text. Status: keithp walked cworth through this. Patch sent to the list is almost complete. I4. Fix the cache lock deadlocking problems. Difficulty: Hard Status: The cache code was ugly enough that I ended up doing a major rewrite rather than just reviewing the locking. The upside is that the rewrite should also add the missing metrics caches which will fix some performance problems with text measurement. Almost done now. I5. Finish the workaround for Render's overlapping source/dest bug (Copy the source as needed) API additions (more detail in TODO file) ---------------------------------------- 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 has a posted a preliminary patch, and keithp, krh, and otaylor answered all the tough questions it raised. There's not much work left to finish this one. 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 Performance work ---------------- P2. Generate better trapezoids to go easier on the rasterizer Difficulty: moderate to hard Status: cworth drafted a plan to the list P3. Glyph measurement needs to be sped up. Status: Now planned as part of I4 above ("cache lock deadlock")