mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-01-02 05:20:19 +01:00
182 lines
6.6 KiB
Text
182 lines
6.6 KiB
Text
This is the cairo roadmap.
|
|
|
|
Everything here is subject to change, but it is hoped that all of it
|
|
will be useful. If you want to influence, please feel free to get
|
|
involved with cairo (see http://cairographics.org ).
|
|
|
|
The intent is for this to be a living document. We want both the users
|
|
of cairo, (GTK+, GNOME, Mozilla, Mono, etc. etc.) to let us know
|
|
features they need and dates by which they are needed so that we can
|
|
use those to guide our plans.
|
|
|
|
Additionally, people who are actively developing cairo itself should
|
|
regularly update this document to reflect their current plans. If you
|
|
don't want to see a particular release happen without some essential
|
|
feature, then put that feature on the list and put your name next to
|
|
it to indicate you are working on it.
|
|
|
|
Targets
|
|
=======
|
|
GTK+ 2.10 - http://www.gtk.org/plan/2.10/
|
|
------------------------------------------
|
|
The 2.10 release is scheduled for May 2006, (to be in time for GNOME 2.16).
|
|
|
|
Satisfying GTK+ 2.10 well requires releasing cairo 1.2 with good
|
|
printing support, (good PS/PDF output, per-page sizing and layout,
|
|
etc.) sometime in April 2006.
|
|
|
|
Firefox 3.0 - http://www.mozilla.org/projects/firefox/roadmap.html
|
|
------------------------------------------------------------------
|
|
Firefox 3 (scheduled for early 2007?) is the first release expected to
|
|
use cairo for all rendering. In the meantime, development builds using
|
|
cairo are available
|
|
|
|
Satisfying firefox 3 well requiring releasing new versions of cairo
|
|
before November 2006 (or earlier) that incorporate the patches coming
|
|
from mozilla, (device offset, push/pop_group), and much-improved
|
|
performance.
|
|
|
|
Themes and Schedules
|
|
====================
|
|
cairo-1.2 (April 2006): Better printing
|
|
- Supported PS/PDF output
|
|
- New, printing-oriented API
|
|
- Mozilla patches (device offset, push/pop_group)
|
|
|
|
cairo-1.4 (October 2006): Better performance
|
|
- New tessellator
|
|
- New rasterization
|
|
- Finer-grained fallbacks for PS/PDF
|
|
|
|
cairo 1.2.0 essential features
|
|
We don't expect to release without these being complete.
|
|
========================================================
|
|
✓PDF backend
|
|
✓1. Mark PDF backend as supported
|
|
✓a. Incorporate into test suite
|
|
✓b. Correct output for the entire test suite
|
|
|
|
✓2. Reasonable, native output for common uses
|
|
✓a. Switch to using cairo_paginated_surface_t
|
|
✓b. Opaque text and images are all native
|
|
✓c. Translucent objects (using OVER) are also native
|
|
✓d. Text output uses PDF font features (type 3)
|
|
|
|
Bug fixes with API implications
|
|
cairo_{ps,pdf}_surface_set_dpi have no effect (replace with cairo_surface_set_fallback_resolution)
|
|
✓ cairo_set_line_width semantics (that's not a bug, it's a feature)
|
|
|
|
Bug fixes (For each XXXX, see: https://bugs.freedesktop.org/show_bug.cgi?id=XXXX )
|
|
4630 Fonts too large when drawing to image surface while printing
|
|
4863 stroking problems with wide dashed lines
|
|
FC_GLOBAL_ADVANCE (http://lists.freedesktop.org/archives/cairo/2005-August/004893.html)
|
|
✓4705 crash at XRenderAddGlyphs
|
|
_transform_glyph_bitmap http://lists.freedesktop.org/archives/cairo/2005-October/005564.html
|
|
6759 fontconfig option AntiAlias doesn't work in cairo 1.1.2
|
|
SVG/PS/PDF emit_glyph functions need to support bitmapped glyphs
|
|
|
|
Fix memory leaks
|
|
1. Ensure 'make check-valgrind' passes with no leaks
|
|
|
|
Performance improvements
|
|
✓1. Speed up glyph measurement (cache rewrite)
|
|
2. Speed up gradient computations
|
|
✓a. Better software gradients
|
|
b. Use X server gradients when available
|
|
|
|
cairo 1.1.6 snapshot includes everything below here
|
|
---------------------------------------------------
|
|
✓Printing-oriented API (PDF)
|
|
✓1. Per-page size settings
|
|
|
|
✓Mozilla needs
|
|
✓1. Device-offset rework
|
|
✓2. Push/pop_group
|
|
|
|
cairo 1.1.4 snapshot includes everything below here (and cairo 1.1.2 some of these)
|
|
-----------------------------------------------------------------------------------
|
|
✓Printing-oriented API (PostScript)
|
|
✓1. Per-page settings (paper size, layout, anything else?)
|
|
✓2. Document metadata
|
|
|
|
✓PS backend
|
|
✓1. Mark PS backend as supported:
|
|
✓a. Incorporate into test suite
|
|
✓b. Correct output for the entire test suite
|
|
|
|
✓2. Reasonable, native output for common uses
|
|
✓a. Switch to using cairo_paginated_surface_t
|
|
✓b. Opaque text and images are all native
|
|
✓c. Text output uses PostScript font features
|
|
|
|
✓Pango needs
|
|
✓5496 Add getters for cairo_scaled_font_t
|
|
✓5495 Need cairo_scaled_font_text_extents
|
|
|
|
✓SVG backend
|
|
✓1. Add experimental SVG backend
|
|
✓2. Incorporate into test suite
|
|
|
|
cairo 1.2.0 desired features
|
|
If these aren't ready, they won't be in the release.
|
|
======================================================
|
|
Win32 backend
|
|
✓1. Incorporate into test suite
|
|
2. Correct output for the entire suite
|
|
a. self-copy
|
|
b. trap-clip
|
|
[There is some mailing-list discussion about possible fixes
|
|
for these.]
|
|
|
|
Mozilla patches
|
|
1. Misc compilation fixes for pixman (submitted upstream)
|
|
2. mac compilation fix for cairo-atsui-font.c for 10.2 SDK (maybe should
|
|
be upstream?)
|
|
3. Make mark_dirty() reset a surface's clip, so that we can call it
|
|
when we RestoreDC() after native win32 drawing (submitted upstream)
|
|
4. Rework win32 surface clip and extents handling for correctness
|
|
(submitted upstream)
|
|
5. Add GdiFlush() calls before each image surface get
|
|
(Submitted upstream: https://bugs.freedesktop.org/show_bug.cgi?id=5845)
|
|
|
|
Bug fixes
|
|
2. Fix some expected failures (XFAIL) in the test suite
|
|
a. a8-mask
|
|
✓b. clip-all
|
|
c. filter-nearest-offset
|
|
d. pixman-rotate
|
|
e. extend-reflect
|
|
|
|
New API
|
|
cairo_arc_to
|
|
see http://lists.freedesktop.org/archives/cairo/2005-August/004801.html
|
|
or see arc_to branch in bedhad's repository
|
|
|
|
Performance improvements
|
|
1. Cull and trim trapezoids outside clip region bounds
|
|
2. Generate more large pixel-aligned, rectangular trapezoids
|
|
|
|
Longer-term desired stuff for cairo (not scheduled for any particular release)
|
|
==============================================================================
|
|
PS/PDF improvements
|
|
1. Make image fallbacks finer-grained than a whole page
|
|
2. Ensure that PDF text output is "selectable"
|
|
|
|
Quartz backend (maintainer needed!)
|
|
1. Mark Quartz backend as supported:
|
|
a. Incorporate into test suite
|
|
b. Correct output for the entire suite
|
|
|
|
SVG backend
|
|
1. Correct output for the entire test suite
|
|
|
|
Performance improvements
|
|
1. New tessellator (more robust and faster)
|
|
|
|
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].
|
|
b. text-rotate
|