[cairo-commit] [cairo-www] src/todo.mdwn
cworth at freedesktop.org
Wed Jul 4 06:46:32 PDT 2007
src/todo.mdwn | 159 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 159 insertions(+)
Author: Carl Worth <cworth at cworth.org>
Date: Wed Jul 4 06:40:19 2007 -0700
Add todo page
diff --git a/src/todo.mdwn b/src/todo.mdwn
new file mode 100644
@@ -0,0 +1,159 @@
+[[meta title="Cairo's TODO list"]]
+The TODO list for cairo is separated into things to improve this
+website and things to improve the cairo library itself.
+ * Integrate [old snippets](/samples) into the wiki proper
+ * Integrate subset of [old cairo-demo
+ programs](http://webcvs.cairographics.org/cairo-demo/) into the
+ wiki proper
+ * Integrate existing [reference manual](/manual) into the wiki proper
+ * Fix these broken links:
+This is a list of some things that have been proposed for inclusion in
+cairo. None of these items have been scheduled for a particular
+release, (see [[roadmap]] for those).
+If you'd like to see an item on this list get into a particular
+release, let us know that you're planning on working on it, (via the
+[[mailing_list|lists]]), and you can move the item to [[roadmap]] with
+your name on it.
+Changes that add new API (API changes/removals will not be considered)
+ * Add `CAIRO_FILL_RULE_INVERSE_WINDING` and `CAIRO_FILL_RULE_INVERSE_EVEN_ODD`
+ or another way to provide that functionality.
+ * Add support for programmatic patterns, (ie. arbitrary gradients)
+ * Add `cairo_arc_to`.
+ see <http://lists.freedesktop.org/archives/cairo/2005-August/004801.html>
+ or see `arc_to` branch in bedhad's repository
+ * Add support for custom caps
+ It would be nice if the user had a mechanism to reliably draw
+ custom caps. One approach here would be to provide the coordinates
+ of the butt cap faces so that the user can append seamless caps to
+ the current path. We may also need to provide the coordinates of
+ the faces of every dash as well.
+ * `cairo_surface_show_page()` and `cairo_surface_copy_page()`
+ `show_page` is a surface operation and should have been there
+ instead of `cairo_show_page()` from the beginning. Same about
+ `copy_page()`. Implement the right API now.
+ * Polling API (`cairo_get_serial` and `cairo_changed`)
+ * `cairo_save`/`restore_path()`
+ * `cairo_copy_clip()` and `cairo_copy_clip_flat()`
+ * Add dashing support to the fast-path rectilinear stroking
+ code, (will help GTK+ focus rectangle, for example)
+ * Improve software polygon compositing by doing it in a
+ single scanline pass rather than tessellating, rasterizing, then
+ compositing the entire polygon.
+ * Clip trapezoids that are partially outside the clip region
+ * Fix/define tolerance for PS/PDF/SVG backends
+ * Fix `CAIRO_EXTEND_REFLECT` in pixman and remove the current hack
+ * Fix disabled show-glyphs-many case in cairo test suite
+ * Get pixman merged up with X server fb implementation
+ * Possibly remove pdiff (slows down the test suite with little
+ * Make font backends separable from their native surfaces
+ * Fix cairo so that a degenerate matrix draws nothing rather than
+ triggering an error state. That is: `cairo_scale (cr, 0, 0);` should
+ not cause an error, (though maybe it shouldn't actually draw
+ _nothing_ for painting an infinite source pattern---compute the
+ average color for a surface-based source pattern perhaps?).
+ * The new tessellator has greatly improved performance, robustness,
+ and code readability, but may still suffer from "missed
+ intersections" as described here:
+ [Hobby93c] John D. Hobby, Practical Segment Intersection with
+ Finite Precision Output, Computation Geometry Theory and
+ Applications, 13(4), 1999.
+ We could do multi-pass Bentley-Ottmann or add a tolerance-square
+ pass as described by Hobby in the paper above.
+ * Fix vertical metric and TrueType subsetting:
+ Text drawn with vertical metrics cannot currently use TrueType
+ subsetting for PDF/PS output as the code doesn't write out the
+ necessary VHEA or VMTX entries to the TrueType font objects. As a
+ result, cairo uses Type3 fonts which generates slightly different
+ outlines. Type1 has the same problem.
+ * Make image fallbacks finer-grained than a whole page (most of the
+ This is work to be done in the cairo-analysis-surface layer and
+ will benefit ps, pdf, svg, and any other analysis-surface-using
+ backends. Adrian has started work on this:
+ * Pen matrix locking. Carl has written an excellent summary but
+ unfortunately that was not sent to the mailing list. Ask him.
+ * Explore Render-like component-alpha ARGB masks
+ * Win32 backend
+ * Fix self-copy test
+ * Fix trap-clip test
+ * PS/PDF improvements
+ * Fix extend modes in PDF
+ * Fix encoding "issues" reported here:
+ * Use glyph advances to generate more compact PostScript (done for PDF)
+ * Xlib backend
+ * xlib backend requires xrender to compile, while it can perform without
+ xrender at run time. Make it compile without it. see
+ * Switch to server-side gradients
+ * Switch to using XRenderAddTraps rather than XRenderCompositeTrapezoids
+ * Use XlibRectStretch for nearest-neighbor image scaling.
More information about the cairo-commit