Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Enlightenment Foundation Libraries
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Software libraries}} {{Multiple issues| {{primary sources|date=June 2015}} {{Advert|date=September 2024}} }} {{Infobox software | logo = <!-- [[File: ]] --> | logo caption = | screenshot = <!-- [[File: ]] --> | caption = | collapsible = | developer = | released = <!-- {{Start date|YYYY|MM|DD|df=yes/no}} --> | latest release version = {{wikidata|property|preferred|references|edit|Q537880|P348|P548=Q2804309}} | latest release date = {{start date and age|{{wikidata|qualifier|preferred|single|Q537880|P348|P548=Q2804309|P577}}}} | latest preview version = | latest preview date = | programming language = [[C (programming language)|C]] | operating system = [[Unix-like]] | platform = | size = | language = | language count = <!-- DO NOT include this parameter unless you know what it does --> | language footnote = | genre = [[Graphics library]] | license = [[LGPL]]; some binary separated shared libraries are licensed under various licenses such as [[BSD license]] and [[GPL]] | website = {{URL|https://www.enlightenment.org/about-efl}} }} The '''Enlightenment Foundation Libraries''' ('''EFL''') are a set of [[graphics libraries]] that grew out of the development of [[Enlightenment (software)|Enlightenment]], a [[window manager]] and [[Wayland compositor]].<ref>{{cite web |url=https://fosdem.org/2014/schedule/event/enlightenment_standalone_wayland_compositor/ |title=Enlightenment as Standalone Wayland Compositor |date=2014-02-01 |access-date=2014-02-16}}</ref> 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 are meant to be portable and optimized to be functional even on mobile devices such as smart phones and tablets. The libraries were created for version 0.17 of the window manager. EFL is developed by Enlightenment.org with some sponsorship from [[Samsung]], ProFUSION and [[Free.fr]].<ref>{{cite web|url=http://enlightenment.org/p.php?p=about/sponsors&l=en |title=Enlightenment Sponsors |publisher=Enlightenment.org |access-date=2012-06-14}}</ref> EFL is [[free and open source software]]. == Core components == {{No citations section|date=October 2024}}[[File:Free and open-source-software display servers and UI toolkits.svg|thumb|Example of usage in Linux-based systems - software components of the Linux desktop stack like the display server, compositor, UI toolkits, desktop shells and desktop widgets]] === 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 color 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). === 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 [[Graphical user interface|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. === 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 and threads. === Embryo === Embryo implements a scripting language used by other parts of the EFL, such as Edje. The language has a [[C (programming language)|C]]-like syntax, and was based on the C-like, scriptable language Pawn - built on the old [[Small-C]] compiler. === EET === EET is a library that is designed to store and load all types of data, locally or through a network stream. It is 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 it does not need to be extracted onto the filesystem in order to be used. It is also the basis for all [[Inter-process communication|IPC]] communication and all configuration. Even if it's a binary file format, it is possible to dump/undump it on the fly to see what's going from a human point of view. === Eina === Eina is the base library of all data types used by the EFL. It is designed to reduce CPU-usage as much as possible without using too much memory. It provides list (and inlined list), hash, red-black tree, shared string, rectangle, array, iterator and accessor, memory pool, module, fixed point and magic check helper. The library itself is small and could easily be used without any other EFL libraries. == Helper components == === Ethumb === Ethumb is a library for creating thumbnails of many types of images, designed to be compliant with freedesktop.org's Thumbnail Managing Standard. It supports all of the file formats that Evas supports, including [[Portable Network Graphics|PNG]], [[JPEG]], [[Tagged Image File Format|TIFF]], [[Graphics Interchange Format|GIF]], etc. === Emotion === Emotion is a library providing video-playing capabilities through the use of ''smart-objects''. Emotion provides several video backends. The best-supported one is ''libxine'', a well-established video-playing library, but ''gstreamer'' and ''vlc'' backends are also provided. Thus, Emotion supports all of the video formats that video libraries support, including [[Ogg Theora]], [[DivX]], [[MPEG2]], etc. === Elementary === Elementary is a [[Widget toolkit|widget set]] based on the EFL that makes heavy use of Evas and Edje to provide a fast, stable, and scalable library that can be used to create both rich and fast applications that can be used on anything from every day desktop computers to small PDAs and set-top boxes. It is designed to fully expose the capability of the EFL. === EIO === EIO provide asynchronous file system operation, like listing the content of directory, copying and moving directory and files around. It relies on Ecore thread ability and, if correctly used, prevents any lock in the interface when browsing local file content. == 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) * Imlib2 (replaced by Evas in E17,<ref>{{cite web|url=https://lwn.net/Articles/453699/ |date=2011-08-03 |title=The road to Enlightenment}}</ref> no new features will be added<ref>{{cite web|url=http://thread.gmane.org/gmane.comp.window-managers.enlightenment.user/15829/focus=15831 |date=2011-11-19 |last=Haitzler |first=Carsten |author-link=Carsten Haitzler |title=Mailing list post by Carsten Haitzler}}</ref>) * EDB (replaced by EET) * EXML * EPEG (feature obsoleted by Evas) * Epsylon (replaced by Ethumb) * Engrave (feature have been absorbed by Edje) * Esmart (not maintained and job's better done by Elementary) ==References== {{Reflist}} ==External links== * {{Official website}} {{Widget toolkits}} [[Category:Enlightenment Foundation Libraries| ]] [[Category:Free graphics software]] [[Category:Software using the BSD license]] [[Category:Cross-platform software]] [[Category:Widget toolkits]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:Multiple issues
(
edit
)
Template:No citations section
(
edit
)
Template:Official website
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)
Template:Widget toolkits
(
edit
)