On Thu, 2010-03-18 at 21:10 -0700, Joshua A. Andler wrote:
On Fri, 2010-03-19 at 03:25 +0100, Krzysztof Kosiński wrote:
Here are some requirements for our canvas. 0. Based on Cairo.
- Model/view split: objects displayed on the canvas can exist without it.
- Widgetless rendering: it should be possible to render completely in
memory, for example for console-mode PDF export. 3. No excessive ties to Inkscape - implemented as a library, perhaps using a few well-defined portions of the existing codebase (e.g. 2geom). 4. Canvas primitives should be sufficient to render SVG.
I recall Ted previously mentioning us potentially going the route of Clutter for the canvas. It is not based on Cairo, but has Cairo support. I'm not necessarily promoting it's use, but figured I would bring up what I recall from previous discussions.
One of the reasons I was thinking Clutter might be a reasonable option is that we could have the video card to the final composition. I am *NOT* advocating doing all the compositing as I don't think that's reasonable to expect. But, I think that we could do some amount of optimization by having the layer above and below the active layer rendered and cached, while the current layer gets updated. Then the video card could compose those three together.
Now, this doesn't preclude the change to Cairo, as Cairo would be used to build the tiles or textures for Clutter.
WRT the overall project: I'm worried it's too big for a SoC project. I think that it would be best to focus the project.
--Ted