Enlightenment Foundation Libraries

From Wikipedia, the free encyclopedia

The Enlightenment Foundation Libraries, or EFL, is a set of open source graphical software libraries that grew out of the enlightenment window manager project. The project's focus is to make the EFL a flexible yet powerful and easy to use set of tools to extend the capabilities of both the enlightenment window manager and other software projects based on the EFL. The libraries were created for version 0.17 of the window manager. The libraries are meant to be portable and optimized to be functional even on devices such as PDAs.

Contents

[edit] Core Components

[edit] Evas

Evas is the EFL canvas library, for creating areas, or windows, that applications can draw on in an X Window System. The EFL uses hardware-acceleration where possible to allow it to work faster, but is also designed to work on lower-end hardware, falling back to lower colour and quality for graphics if necessary. Unlike most canvas libraries, it is primarily image-based (as opposed to vector-based) and fully state-aware (the vast majority of canvases are stateless, requiring the programmer to keep track of state).

[edit] Edje

Edje is a library that attempts to separate the user interface from the application. It allows applications to be skinnable, so that it is possible to change the GUI of an application without changing the application itself. Edje-based applications use files which contain the specifications for the GUI layout that is to be used. Edje themes are contained using EET generated files.

[edit] Ecore

Ecore is an event abstraction, and modular convenience library, intended to simplify a number of common tasks. It is modular, so applications need only call the minimal required libraries for a job. Ecore simplifies working with X, Evas, and also a few other things, such as network communications.

[edit] Embryo

Embryo implements a scripting language used by other parts of the EFL, such as Edje. The language has a C-like syntax, and was based off on the SMALL language.

[edit] EET

EET is a library that allows the creation of compressed archive-like files, similar to .zip files, but designed to be light-weight, efficient and quick. EET forms the basis of theme files in the EFL, i.e. if you want to install a theme for Enlightenment or another themable EFL app, you would be installing an EET-format file, which contains all of the theme graphics and configuration and do not need to be extracted onto the filesystem in order to be used.

[edit] Minor Helper Components

[edit] Imlib2

While not strictly part of the EFL, Imlib2 is the library used by the EFL for low-level graphics manipulation and display. It is capable of loading and manipulating graphics files of many formats, and is also capable of displaying them in an X Window System. The EFL developers boast that Imlib2 is very optimized and that it does what it does "faster than anything else".

[edit] EDB

EDB is a library wrapped around the Berkeley DB 2.7.7 library, intended to provide a database API that is quick and easy to use.

[edit] Exml

This library provides an abstract interface to an xml parser/writer, using ecore data structures and making things generally easy to get around in.

[edit] Epeg

Epeg is a minor library that creates thumbnails of large numbers of JPEG images very quickly.

[edit] Epsilon

Epsilon is a library for creating thumbnails of many types of images, designed to be compliant with freedesktop.org's Thumbnail Managing Standard. Epsilon supports all of the file formats that Imlib2 supports, including PNG, JPEG (will use Epeg for this if it is present), TIFF, XCF, GIF, etc.

[edit] Engrave

This library provides an API for editing EDJE's .edj files.

[edit] Esmart

Esmart is a library providing a collection of smart objects, objects that provide some functionality or other in an easy-to-use container.

[edit] Emotion

Emotion is a library providing video-playing capabilities through the use of smart-objects. Emotion is based on libxine, a well established video playing library, and so supports all of the video formats that libxine supports, including Ogg Theora, DiVX, MPEG2, etc.

[edit] EWL

EWL is the Enlightenment Widget Library and it provides themable widgets for applications and serves as yet another way to easily start creating applications with the EFL. The EWL provides typical widgets such as windows, buttons, lists, text views, etc. and the theme engine allows for animated effects and such.

[edit] Now Defunct/Deprecated EFL Components

  • EWD (features now added to ecore)
  • Estyle (features have been absorbed by etox)
  • Etox (obsolete)
  • Ebits (replaced by Edje)
  • Evoak (dead)

[edit] EFL-Based Applications

  • engage -- an engaging Mac OS X-style task bar
  • elicit -- a color-picking tool for graphic designers
  • evidence -- a file manager (no longer strictly necessary now that EFM is stable enough to use)
  • entice -- an enticing image viewer
  • entrance -- an entrancing login manager
  • express -- an instant messaging client
  • euphoria -- an XMMS2 front-end
  • erss -- a desktop RSS feed reader
  • enlightenment -- the X window manager
  • examine -- an application configuration program
  • iconbar -- like engage
  • enotes -- a desktop sticky-note program
  • equate -- a desktop calculator
  • eke -- an RSS feed aggregator
  • envision -- a video-player front-end
  • elation -- a DVD-player front-end
  • embrace -- a mail checker
  • elapse -- an enlightenment clock
  • elinguish -- a BitTorrent client
  • eclips -- possibly defunct
  • Etk -- Enlightenment ToolKit

Most of the above programs are available only in CVS and are not complete or stable.

[edit] Now Defunct/Deprecated EFL-Based Applications

  • MED
  • Etcher
  • EFSD
  • eBindings

[edit] External link

In other languages