lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Cairo is an excellent library, and it's a great idea to bind it to Lua.
Thank you for sharing your extremely useful work!

There are some other useful libraries that plug together with Cairo, that you might be interested in integrating with Lua:

Pango: text formatter, supporting unicode, internationalized text layout, simple html-like markup formatting, that uses Cairo to handle fonts and draw text.

poppler: PDF file reader and renderer with a Cairo back-end.

rsvg: SVG file reader and rederer with a Cairo back-end.

Firefox is developing a Cairo back-end for rendering dhtml, SVG, and everything else, and will support rendering with 3d hardware accelerators across different platforms!

GTK supports Cairo and Pango, and pygtk and pycairo expose them to Python, so that other Python modules like pypango and your own rendering modules can be passed a Cairo context and call Cairo directly, to render very efficiently through the same Cairo context as the rest of the system is using to draw. (The pycairo module installs some .h files that your dependent module includes, that allow it to extract the cairo context from a Python wrapper object created by pycairo.)

The OLPC (One Laptop Per Child) project is using Cairo and other related libraries, and there's a lot of work going into improving an optimizing Cairo.

Cairo is great for drawing scalable interactive user interfaces, as well as video overlays, information visualization, maps, graphs and data driven graphics!

Here are some pictures of the pie menus I wrote in Python for the OLPC, and drew with Cairo and Pango (and a link to the source code):