EFL Maemo Edition - Enlightenment Foundation Libraries

What are EFL?

The Enlightenment Foundation Libraries (EFL) are a collection of libraries so powerful, flexible, and easy to use that they present a strong platform on which to develop nearly any graphical application you could think of.

The EFL begins with Imlib2, a general image manipulation and rendering library, and Evas, our canvas library. Because Evas is built on several different selectable engines (Linux FrameBuffer, DirectFB, X11, OpenGL, QTopia, etc) the platform is extremely portable, which translates thru to all of the libraries built on top of it.

Ecore is a modular convience library that in its base provides timers, callback functionality, and loop management for event handling. Ecore's various modules can simplify the setup of an X11 drawable for general use (Ecore_X11), an X11 drawable for use with Evas (Ecore_Evas), manage IPC (Ecore_IPC), manage BSD Sockets (Ecore_Con), management of the FrameBuffer (Ecore_FB), and more. Because Ecore can simplify so many tasks that are used in conjuction with Evas it has lived up to its name as the core componant of nearly any EFL application.

Edje provides a revolutionary method of abstracting every aspect of your interface from the application itself. By passing signals between the interface and the application all communication is done in an interface neutral way. No longer are "themes" simple changes of pixmaps over a fixed area. Using Embryo we can provide scripting ability to the interface componant itself to harness even more power and flexibility.

Below is a diagram of how the various componants of the EFL fit together. Because of complexity of the libraries and the fact that so many libraries can be used independant of other EFL libraries we have a diagram alittle more complex than your standard block diagram. EFL Diagram banner

Want to learn more? Check the official website.

Downloads

One click install Python-EFL
Python bindings, includes basic libraries.
One click install Python-EFL-Demo
Python bindings demonstration applications, includes basic libraries.
One click install Expedite
Benchmark suite, includes basic libraries.

Resources

Port Resources:

Official Resources:

Related Blogs:

About Maemo Port

As said in "What are EFL?", the code is very portable. Since their developers are receptive to contributions, so all the code was developed and integrated upstream, at the official project. What remains here is just the package system, which is specific to maemo.

The most significant contribution to EFL were made by Gustavo Sverzut Barbieri and are:


Built for Maemo(tm) Sponsored by INdT