Hi,
Just posted the tarballs. Here are some highlighted changes:
1. Did couple of fixes that saved bunch of time during SVG processing (3 seconds each on OpenMoko freerunner) r1146, r1147
2. Added ability to change the attributes of SVG elements. For e.g one can set the 'width', 'height' of SVG element at runtime, call refresh() and will get the element in new shape. Going forward such programmatic changes in style (i.e. fill/stroke color, etc. properties) will also be supported. r1149
3. There was a glitch the way cloning of elements was implemented. If you have already added the face to canvas, then subsequent cloning of its elements won't result in showing of cloned elements on the canvas. This was fixed in r1159
4. Fixed Issue 35. Handling 'px' units for SVG dimensions (
http://code.google.com/p/altcanvas/issues/detail?id=35) r1184
5. Fixed Issue 34. Allows loading of SVG docs that have no layers or multiple layers. (
http://code.google.com/p/altcanvas/issues/detail?id=34) r1186
6. Started groundwork for supporting Qt backend. r1192
7. Added more robust path parsing algorithm (copied from librsvg). This was done while getting a first Adobe Illustrator SVG document rendered using inkface-viewer.py (shape19.svg). The new algorithm returns more precise floating point numbers, which also fixed the imperfect rendering of ellipses. (r1193, r1196)
Notes:
1. I tried to create some clutter animations to create some interesting demos. But I am seeing weird behavior during clutter animations (nothing related with inkface). The segmentation faults and double free messages don't do any help either, I don't know if they are caused by mismatched version of clutter and pyclutter on Fedora 10. From clutter mailing list I figured, the pyclutter bindings are pretty old and no work has been done on them, due to their busy schedule of 1.0 release. Also the API has changed from 0.8 to 0.9 to 1.0. If anyone here is expert on clutter, I would love to see some cool animations using inkface.
2. After doing rigorous performance analysis of inkface-pygame I figured, pygame cannot give higher framerates (smooth animation) on embedded devices like n810 or Freerunner. The two backends that can give such effects on embedded devices (without hardware support) are Evas (from enlightenment) and Qt. I tried some simple python-evas animation script on Freerunner to verify that. Therefore I am adding support for Qt and in future Evas. A noticeable thing about Qt is - it's not just the backend, but it will also need change in the renderer - i.e. I am using Qt's 2D drawing API, instead of cairo. Fortunately there are many parallels in QtGui.* modules and cairo, so it won't be very difficult.
Any feedback is welcome.
Thanks,
Jayesh