mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-05-01 23:08:15 +02:00
Make a very preliminary attempt at 1.0.2, 1.2.0, and 1.4.0 roadmaps.
This commit is contained in:
parent
7d93d26e1e
commit
5b5eecc2e1
2 changed files with 85 additions and 75 deletions
|
|
@ -1,3 +1,8 @@
|
|||
2005-09-02 Carl Worth <cworth@cworth.org>
|
||||
|
||||
* ROADMAP: Make a very preliminary attempt at 1.0.2, 1.2.0, and
|
||||
1.4.0 roadmaps.
|
||||
|
||||
2005-09-02 Carl Worth <cworth@cworth.org>
|
||||
|
||||
* doc/public/tmpl/cairo-version.sgml: Add description of cairo's
|
||||
|
|
|
|||
155
ROADMAP
155
ROADMAP
|
|
@ -1,99 +1,104 @@
|
|||
cairo 1.0 release requirements
|
||||
==============================
|
||||
Implementation work
|
||||
-------------------
|
||||
✓I1. Fix clipping to be sane
|
||||
Status: Done (in cairo 0.9.0).
|
||||
cairo 1.0.2 required fixes (Schedule unknown)
|
||||
=============================================
|
||||
[Need to look through bugzilla, particularly at new bugs filed since
|
||||
the 1.0.0 release]
|
||||
|
||||
✓I2. Real PostScript/PDF fallbacks (cairo_meta_surface_t)
|
||||
Status: Done (to some extent) (in cairo 0.5.2)
|
||||
cairo 1.2.0 desired features (Scheduled for 2005-11-01)
|
||||
=======================================================
|
||||
A. PS backend
|
||||
----------
|
||||
1. Mark PS backend as supported:
|
||||
|
||||
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.
|
||||
a. Incorporate into test suite
|
||||
|
||||
✓I3. Add support for sub-pixel (ARGB) rendering of text.
|
||||
Status: Done (in cairo 0.6.0).
|
||||
b. Correct output for the entire test suite
|
||||
|
||||
✓I4. Fix the cache lock deadlocking problems.
|
||||
Status: Done (in cairo 0.9.2)
|
||||
2. Image fallbacks at finer-than-whole-page granularity
|
||||
|
||||
✓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).
|
||||
B. PDF backend
|
||||
-----------
|
||||
1. Mark PDF backend as supported
|
||||
|
||||
API additions (more detail in TODO file)
|
||||
----------------------------------------
|
||||
✓A7. cairo_surface_mark_dirty and cairo_surface_flush
|
||||
Status: Done (in cairo 0.9.0).
|
||||
a. Incorporate into test suite
|
||||
|
||||
✓A12. cairo_xlib_surface_set_drawable
|
||||
Status: Done (in cairo 0.6.0).
|
||||
b. Correct output for the entire test suite (use image
|
||||
fallbacks as necessary, meta-surface?):
|
||||
|
||||
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!
|
||||
a. Gradients with more than two stops
|
||||
|
||||
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)
|
||||
b. All of the cairo_operator_t modes
|
||||
|
||||
c. Gradients with transparency
|
||||
|
||||
d. Repeating surface patterns
|
||||
|
||||
e. cairo_mask
|
||||
|
||||
C. Win32 backend
|
||||
-------------
|
||||
1. Incorporate into test suite
|
||||
|
||||
2. Correct output for the entire suite
|
||||
|
||||
D. Bug fixes
|
||||
---------
|
||||
1. Fix dashed splines.
|
||||
|
||||
2. Fix some expected failures (XFAIL) in the test suite
|
||||
|
||||
a. a8-mask
|
||||
|
||||
b. clip-all
|
||||
|
||||
c. filter-nearest-offset
|
||||
|
||||
d. pixman-rotate
|
||||
|
||||
E. API Additions
|
||||
-------------
|
||||
1. cairo_begin/end/get_group
|
||||
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)
|
||||
F. Performance improvements
|
||||
------------------------
|
||||
1. Cull and trim trapezoids outside clip region bounds
|
||||
|
||||
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.
|
||||
2. Generate more large pixel-aligned, rectangular trapezoids
|
||||
|
||||
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.
|
||||
✓3. Speed up glyph measurement (cache rewrite)
|
||||
|
||||
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:
|
||||
G. SVG backend
|
||||
-----------
|
||||
1. Add experimental SVG backend
|
||||
|
||||
* Gradients with more than two stops
|
||||
cairo 1.4.0 desired features (Schedule unknown)
|
||||
===============================================
|
||||
A. Quartz backend (maintainer needed!)
|
||||
-----------------------------------
|
||||
1. Mark Quartz backend as supported:
|
||||
|
||||
* All of the cairo_operator_t modes
|
||||
a. Incorporate into test suite
|
||||
|
||||
* Gradient with transparency
|
||||
b. Correct output for the entire suite
|
||||
|
||||
* Repeating surface patterns
|
||||
B. SVG backend
|
||||
-----------
|
||||
1. Mark SVG backend as supported
|
||||
|
||||
* cairo_mask
|
||||
a. Incorporate into test suite
|
||||
|
||||
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].
|
||||
b. Correct output for the entire suite
|
||||
|
||||
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)
|
||||
B. Performance improvements
|
||||
------------------------
|
||||
1. New tessellator (more robust and faster)
|
||||
|
||||
P3. Glyph measurement needs to be sped up.
|
||||
Status: keithp and cworth planned this all out. keithp is
|
||||
working on this.
|
||||
C. Bug fixes
|
||||
---------
|
||||
1. Fix all expected failures (XFAIL) in the test suite
|
||||
|
||||
a. self-intersecting
|
||||
AKA. https://bugs.freedesktop.org/show_bug.cgi?id=3752
|
||||
Fix depends on [A1].
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue