2005-04-08 13:44:22 +00:00
|
|
|
cairo 1.0 release requirements
|
|
|
|
|
==============================
|
|
|
|
|
Implementation work
|
|
|
|
|
-------------------
|
2005-08-09 12:35:09 +00:00
|
|
|
✓I1. Fix clipping to be sane
|
|
|
|
|
Status: Done (in cairo 0.9.0).
|
2005-04-08 13:44:22 +00:00
|
|
|
|
2005-08-18 17:11:42 +00:00
|
|
|
✓I2. Real PostScript/PDF fallbacks (cairo_meta_surface_t)
|
|
|
|
|
Status: Done (to some extent) (in cairo 0.5.2)
|
|
|
|
|
|
|
|
|
|
We do have PDF output now, and "real" PostScript
|
|
|
|
|
output on a per-page basis when the capabilities of
|
|
|
|
|
the PostScript imaging model aren't exceeded. There
|
|
|
|
|
are a few parts of these backend that aren't complete,
|
|
|
|
|
but that will have to wait for post-1.0 I'm afraid.
|
2005-04-08 13:44:22 +00:00
|
|
|
|
2005-07-21 21:02:11 +00:00
|
|
|
✓I3. Add support for sub-pixel (ARGB) rendering of text.
|
2005-08-09 12:35:09 +00:00
|
|
|
Status: Done (in cairo 0.6.0).
|
2005-06-23 15:52:37 +00:00
|
|
|
|
2005-08-18 17:11:42 +00:00
|
|
|
✓I4. Fix the cache lock deadlocking problems.
|
|
|
|
|
Status: Done (in cairo 0.9.2)
|
2005-04-08 13:44:22 +00:00
|
|
|
|
2005-08-24 05:21:50 +00:00
|
|
|
✓I6. Fix all expected failures (XFAIL) in the test suite. Either
|
2005-07-27 13:28:15 +00:00
|
|
|
there's a bug that needs to be fixed, or there are illegitimate
|
|
|
|
|
tests that should be removed.
|
2005-08-24 05:21:50 +00:00
|
|
|
Status: Done. 5 XFAIL test remain, but 4 of those have results
|
|
|
|
|
that are acceptable. The only with with completely broken
|
|
|
|
|
output (a8-mask) only happens with A8 image surface masks with
|
|
|
|
|
weird padding, (so it is easy to avoid).
|
2005-07-27 13:28:15 +00:00
|
|
|
|
2005-07-20 18:31:17 +00:00
|
|
|
API additions (more detail in TODO file)
|
|
|
|
|
----------------------------------------
|
2005-08-01 11:45:42 +00:00
|
|
|
✓A7. cairo_surface_mark_dirty and cairo_surface_flush
|
2005-08-09 12:35:09 +00:00
|
|
|
Status: Done (in cairo 0.9.0).
|
2005-04-08 13:44:22 +00:00
|
|
|
|
2005-07-21 08:45:57 +00:00
|
|
|
✓A12. cairo_xlib_surface_set_drawable
|
2005-08-09 12:35:09 +00:00
|
|
|
Status: Done (in cairo 0.6.0).
|
2005-07-20 21:54:35 +00:00
|
|
|
|
2005-04-08 13:44:22 +00:00
|
|
|
Performance work
|
|
|
|
|
----------------
|
2005-08-24 05:21:50 +00:00
|
|
|
✓ Lots of performance work was done, such as the MMX-ification of
|
|
|
|
|
pixman, the addition of cairo-benchmarks, and several 2x improvements
|
|
|
|
|
for tests within cairo-benchamarks. Many thanks to Billy Biggs!
|
2005-08-06 16:57:14 +00:00
|
|
|
|
|
|
|
|
Things that have been dropped from the 1.0 roadmap
|
|
|
|
|
==================================================
|
|
|
|
|
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.
|
2005-08-18 17:11:42 +00:00
|
|
|
|
|
|
|
|
I5. Finish the workaround for Render's overlapping source/dest bug
|
|
|
|
|
(Copy the source as needed)
|
|
|
|
|
|
|
|
|
|
The most important part of this was to workaround when doing a
|
|
|
|
|
straight copy, (eg. for scrolling), and that much is done. The
|
|
|
|
|
remaining case is things like overlapping OVER of a surface
|
|
|
|
|
with itself, which doesn't seem useful enough to be a priority
|
|
|
|
|
at this point.
|
|
|
|
|
|
|
|
|
|
I7. Fine-grained PostScript fallbacks (cairo_meta_surface_t)
|
|
|
|
|
Difficulty: Moderate to hard
|
|
|
|
|
Status: cairo_meta_surface provides most of the
|
|
|
|
|
mechanics. From here on out its mostly a matter of
|
|
|
|
|
refining the fallbacks to work on a finer-grained
|
|
|
|
|
basis than the current all-or-nothing-per-page
|
|
|
|
|
approach.
|
|
|
|
|
|
|
|
|
|
I8. Finish implementing the PDF/PostScript backends:
|
|
|
|
|
Difficulty: Moderate to hard
|
|
|
|
|
Status: Most everything is there, but there are few things in
|
|
|
|
|
cairo that these backends don't yet implement:
|
|
|
|
|
|
|
|
|
|
* Gradients with more than two stops
|
|
|
|
|
|
|
|
|
|
* All of the cairo_operator_t modes
|
|
|
|
|
|
|
|
|
|
* Gradient with transparency
|
|
|
|
|
|
|
|
|
|
* Repeating surface patterns
|
|
|
|
|
|
|
|
|
|
* cairo_mask
|
|
|
|
|
|
|
|
|
|
Some of these could be handled by fallbacks, either as
|
|
|
|
|
a stop-gap measuer, or permanently. But that will also
|
|
|
|
|
depend on finishing up [I7].
|
2005-08-24 05:21:50 +00:00
|
|
|
|
|
|
|
|
P2. Generate better trapezoids to go easier on the rasterizer
|
|
|
|
|
Difficulty: moderate to hard
|
|
|
|
|
Status: cworth drafted a plan to the list. vektor is looking
|
|
|
|
|
at this, (or other similarly useful performance
|
|
|
|
|
optimizations)
|
|
|
|
|
|
|
|
|
|
P3. Glyph measurement needs to be sped up.
|
|
|
|
|
Status: keithp and cworth planned this all out. keithp is
|
|
|
|
|
working on this.
|