[cairo-commit] [cairo-www] src/todo.mdwn
Carl Worth
cworth at freedesktop.org
Wed Jul 4 06:46:32 PDT 2007
src/todo.mdwn | 159 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 159 insertions(+)
New commits:
commit 78c0c737b9110f8eba8c276f91ad41125f32b295
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
index 0000000..44690b8
--- /dev/null
+++ b/src/todo.mdwn
@@ -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.
+
+Website improvements
+====================
+ * 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:
+
+ <ul>
+
+[[brokenlinks ]]
+
+ </ul>
+
+Library improvements
+====================
+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()`
+
+ <http://lists.freedesktop.org/archives/cairo/2007-April/010363.html>
+
+ * `cairo_copy_clip()` and `cairo_copy_clip_flat()`
+
+ <http://lists.freedesktop.org/archives/cairo/2007-April/010520.html>
+
+Performance improvements
+------------------------
+ * 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
+
+Other fixes
+-----------
+ * 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
+ benefit)
+
+ * 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:
+
+ <http://cm.bell-labs.com/cm/cs/doc/93/2-27.ps.gz>
+
+ [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:
+
+ <http://lists.freedesktop.org/archives/cairo/2007-June/010774.html>
+
+ * 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
+
+Backend-specific improvements
+-----------------------------
+ * Win32 backend
+
+ * Fix self-copy test
+ * Fix trap-clip test
+
+ * PS/PDF improvements
+
+ * Fix extend modes in PDF
+ * Fix encoding "issues" reported here:
+ <http://lists.freedesktop.org/archives/cairo/2006-December/008985.html>
+ * 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
+ <http://lists.freedesktop.org/archives/cairo/2006-October/008075.html>
+ * 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
mailing list