[cairo] SVG scene lib (was: MOZ-SVG-cairo)

Liam Breck svg at networkimprov.net
Sun May 15 12:47:14 PDT 2005

Proposed: An SVG Scene (aka canvas) Library for Cairo
Feedback requested!


Provide functionality & perfomance suitable for creating full UI/page/etc.
Enable multi-client/collaborative applications
Enable lightweight applications for mobile platforms
Enable presentation of compound documents

Features & Requirements

Implement SVG object model
Render to Cairo; any Cairo backend
Layout text with Pango (what about flowText?)
Support incremental rendering (differences only)
Provide model API for insert/delete/update/z-move
Support out-of-process API calling, i.e. for compound documents
Provide API to identify SVG object & group at xy, i.e. for hit-testing
Allow out-of-band regions (non-SVG, non-Cairo), e.g. video/3D
Allow higher-level widgets/applets to "own" model objects
Allow use in various frameworks GTK/QT/airWRX/Cocoa/.NET/Python/Java
Support multiple clients/viewers of a scene on IP network
Support client-specific objects, and properties, e.g. text selection

When there's some consensus, I'll crank out a lib for cairo-win32 from our
existing code, write a demo app, and release as a prototype under LGPL.

The Inkscape Wiki discusses an SVG-based canvas lib, but it looks far out
on their roadmap. Could any Inkscape folks comment?

Liam Breck
Network Improv

More information about the cairo mailing list