Introduction to the Enlightenment foundation libraries
An overview of EFL
Kostis Kapelonis
kkapelonPLEASE@NOSPAMfreemail.grNote: A version of this document (may not be up-to-date) is available as concepts.pdf
Revision History
| Revision v0.1 | 11th April 2006 | KK | Initial document. Intro and Evas chapter ready |
| Revision v0.2 | 8th June 2006 | KK | Edje chapter added. |
| Revision v0.3 | 28th June 2006 | KK | Ecore chapter and End-Matter added. |
| Revision v0.35 | 4th July 2006 | KK | Resources section, EFL stack diagram by Raster. |
Abstract
The target audience of this document are UNIX programmers who are interested in the Enlightenment Foundation Libraries (EFL). You must already know C programming. You will not however learn how to program using the EFL. Instead, you will learn why you should program with the EFL. If you ever wanted to evaluate the EFL but did not see any advantages over previous graphic libraries then this document is for you!
Table of Contents
- Edje as a Layout engine
- Edje as Animation/Effects Library
- Edje as an IDL
- Edje as Logic and Appearance separator
- Edje as a Theming Framework
- Using Edje to preview your GUIs
- Choosing Edje over Evas
List of Figures
- 2.1 The EFL Stack viewed by the Marketing Department.
- 2.2 The EFL Stack viewed in the programmer way.
- 3.1 Workflow in your favourite Canvas widget
- 3.2 Workflow in Evas.
- 4.1. Space wasted after resizing.
- 4.2. Relative positioning in Edje.
- 4.3. An example of relative positioning in Edje.
- 4.4. Adapting automatically to a new window size.
- 4.5. Computer generated animation using keys.
- 4.6. Building the UI statically in the application.
- 4.7. Loading the UI dynamically in the application.
- 4.8. Separation of GUI and code in Edje.
- 4.9. Changing skin via a theme.
- 4.10. Changing completely the appearance via a theme.
- 4.11. Preview an Edje Theme.
- 4.12. Live signal testing in Edje.
- 4.13. Swallowing an object programmed in C into a UI described in Edje.
List of Tables
- 3.1. Evas versus the competition
- 3.2. Evas primitives
- 4.1. Top Level Edje blocks
- 4.2. The Edje Appearance/Logic separation
- 4.3. Edje themes (viewed by users)
- 4.4. Edje vs Evas
- 5.1. Ecore configuration primitives
- 5.2. Threads vs Event based programming
List of Examples
- 3.1. A simple Canvas in object-oriented style (even for C)
- 3.2. What happens in reality
- 3.3. Moving an object
- 3.4. Moving an object with a state-aware Canvas
- 4.1. Relative coordinates in Edje
- 4.2. A simple animation (in C)
- 4.3. The same simple animation in Edje
- 4.4. The same simple animation in Edje (fixed size version)
- 4.5. Sending a signal from Edje to C code.
