1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
cairo 1.0 release requirements
==============================
Implementation work
-------------------
✓I1. Fix clipping to be sane
Status: Done (in cairo 0.9.0).
✓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.
✓I3. Add support for sub-pixel (ARGB) rendering of text.
Status: Done (in cairo 0.6.0).
✓I4. Fix the cache lock deadlocking problems.
Status: Done (in cairo 0.9.2)
✓I6. Fix all expected failures (XFAIL) in the test suite. Either
there's a bug that needs to be fixed, or there are illegitimate
tests that should be removed.
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).
API additions (more detail in TODO file)
----------------------------------------
✓A7. cairo_surface_mark_dirty and cairo_surface_flush
Status: Done (in cairo 0.9.0).
✓A12. cairo_xlib_surface_set_drawable
Status: Done (in cairo 0.6.0).
Performance work
----------------
✓ 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!
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.
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].
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.
|