mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2025-12-28 19:10:12 +01:00
91 lines
3.1 KiB
Text
91 lines
3.1 KiB
Text
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.
|
|
|
|
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
|
|
----------------
|
|
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.
|
|
|
|
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].
|