WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=60db825f4bfa72d641227bc968352f36284cc140

commit 60db825f4bfa72d641227bc968352f36284cc140
Author: Nate Drake <nate.dr...@gmx.com>
Date:   Fri Dec 1 06:07:44 2017 -0800

    Wiki page about-efl.md changed with summary [] by Nate Drake
---
 pages/about-efl.md.txt | 180 ++++++++++++++++++++++++-------------------------
 1 file changed, 90 insertions(+), 90 deletions(-)

diff --git a/pages/about-efl.md.txt b/pages/about-efl.md.txt
index 7bb35233e..355e4966e 100644
--- a/pages/about-efl.md.txt
+++ b/pages/about-efl.md.txt
@@ -1,91 +1,91 @@
+---
 ~~Title: About EFL~~
-==== EFL ====
-
-[[download|Download EFL Here]]
-
-Code quality - [[https://scan.coverity.com/projects/552|EFL Coverity scan 
status]]
-
-{{:efl-core.png?nolink |}}
-
-EFL is made up of quite a few libraries that build on top of each other
-in layers, steadily becoming higher-level, yet allowing access to
-each level as they go. The higher up you go, the less you have to do
-yourself. Elementary is about as high up as you get, while you still
-access layers below it for day to day things as there is no need for
-it to wrap things that work perfectly well as-is.
-
-All of EFL exposes its APIs by default in C, with several bindings
-available. We are now also working on supporting bindings for various
-language as first-class-citizens in EFL by auto-generating the
-bindings directly from our new object orientation infrastructure for
-C. We stick to C mostly because the libraries have been around for a
-long time, were originally written in C and the developers who write
-the libraries prefer C. We add OO features in C with tools and
-infrastructure where needed. Also moving from C would limit the
-audience. C programmers won't be able to access a %%C++%% API (whereas a
-%%C++%% programmer can access both C and %%C++%%). That is partly why we aim
-to auto-generate bindings so programmers of various languages can get
-native-like APIs for their chose language from the same core EFL API
-set.
-
-Our components are divided into named libraries or projects. Core EFL
-components are:
-
-^Component               ^ Description                                ^
-|Evas                    |Core scene graph and rendering              |
-|Eina                    |Data structures and low level helpers       |
-|Edje                    |UI layout & animation data files for themes |
-|Eet                     |Data (de)serialization and storage          |
-|Ecore                   |Core loop and system abstractions like X11  |
-|Efreet                  |Freedesktop.org standards handling          |
-|Eldbus                  |D-Bus glue and handling                     |
-|Embryo                  |Tiny VM and compiler based on Pawn          |
-|Eeze                    |Device enumeration and access library         |
-|Emotion                 |Video decode wrapping, glue and abstraction |
-|Ethumb                  |Thumbnailing handler                       |
-|Ephysics                |Physics (bullet) wrapper and Evas glue      |
-|EIO                     |Asynchronous I/O handling                   |
-|Evas Generic Loaders    |Extra image loaders for complex image types |
-|Emotion Generic Players |Extra video decoders (for VLC)              |
-|Elementary              |Widgets and high level abstractions         |
-
-Binding support exists for several languages such as:
-
-  * Python
-  * Javascript
-  * %%C++%%
-  * Ruby
-  * Lua
-
-EFL was originally intended to provide the core for Enlightenment, but
-has grown to do much more. In trying to keep EFL lean, it has found a
-use for embedded devices all the way up to powerful desktop behemoths.
-
-These libraries already power millions of systems, from mobile
-phones to set top boxes, desktops, laptops, game systems and more. It
-is only now being recognized for its forward-thinking approaches, as
-products and designers want to do more than the boring functional user
-experiences of the past. This is where EFL excels.
-
-[[http://www.free.fr|Free.fr]] has shipped millions of set top boxes in
-France, powered by EFL. The
-[[http://wiki.openmoko.org/wiki/Neo_FreeRunner|Openmoko Freerunner]]
-sold thousands of devices with EFL and Enlightenment on them.
-[[http://www.yellowdoglinux.com/|Yellow Dog Linux]] for the Sony PS3
-ships with Enlightenment as the default. EFL has been used on printers,
-netbooks and more. It powers the
-[[http://www.samsung.com/us/mobile/wearable-tech|Samsung Galaxy Gear]]
-watches (Gear 2, S, S2, S3...), is behind the
-[[http://www.samsung.com/in/consumer/mobile-phone/mobile-phone/dual-sim-phone/SM-Z130HZKDINS|Samsung
 Z1 ]],
-[[http://www.samsung.com/in/microsite/z2|Z2]] and
-[[http://www.samsung.com/in/microsite/z3|Z3]] mobile phones,
-and the
-[[http://www.samsung.com/us/video/4k-suhd-tv|Samsung SUHD Smart TVs]]
-that run Tizen. Cameras also use Enlightenment and EFL such as the
-[[http://www.samsung.com/uk/discover/camera/find-your-signature-with-samsung-nx1/|Samsung
 NX1]]
-and the
-[[http://www.samsung.com/global/nx/nx300m/|Samsung NX300M]] smart
-Camera. Also GPS units such as models from
-[[https://www.moncoyote.com/|Coyote]] Run EFL on a lean and mean RTOS.
-Also Web conference cameras such as
-[[https://www.biscotti.com/|Biscotti]] use EFL to do their work.
+~~NOCACHE~~
+---
+
+# EFL #
+
+![EFL Core](/_media/efl-core.png)
+
+EFL, or the *Enlightenment Foundation Libraries*, powers millions of systems 
from mobile phones to set-top boxes, desktops, laptops, game systems and more. 
EFL is recognized for its forward-thinking approach which allows product 
designers and developers to offer more than the run-of-the-mill user experience 
of the past. This is where EFL excels.
+
+[Free.fr](http://www.free.fr) has shipped millions of set top boxes in France 
powered by EFL. The [Openmoko Freerunner 
project](http://wiki.openmoko.org/wiki/Neo_FreeRunner) also sold thousands of 
devices using EFL and Enlightenment.
+
+EFL powers [Samsung Galaxy 
Gear](http://www.samsung.com/us/mobile/wearable-tech) smartwatches and is 
behind Samsung Smart Televisions such as the [Class Q9F QLED 4K 
TV](https://www.samsung.com/us/televisions-home-theater/tvs/qled-tvs/65--class-q9f-qled-4k-tv-qn65q9famfxza/)
 and refrigerators such as the [Samsung Family Hub 
Refrigerator](https://www.samsung.com/us/explore/family-hub-refrigerator/overview/),
 which are based on Tizen. GPS devices such as the 
[Coyote](https://www.moncoyote.c [...]
+
+You can [download EFL from here](/download).
+
+## How to Use EFL ##
+
+EFL covers a wide range of functions including inter-process communication 
(IPC), graphics, audio and even location services. Other powerful features 
include file handling utilities, widgets and user interface controls, 
thumbnailing and rendering via scene graph. You can discover more of EFL's 
capabilities by visiting the [About 
EFL](https://www.enlightenment.org/about-efl) page.
+
+## Parts of EFL ###
+
+EFL is made up of a number of libraries which build on top of each other in 
layers, steadily becoming higher-level, yet allowing access to each level as 
they go. The higher up you go, the less you have to do yourself. Elementary is 
about as high up as you get, while you still access layers below it for day to 
day tasks.
+
+EFL exposes all of its APIs by default in C. There are several bindings 
available. Work is progressing on supporting bindings for various language as 
first-class-citizens in EFL by auto-generating them directly from the new 
object orientation infrastructure for C.
+
+The main focus is on C mostly because the libraries have been around for a 
long time, were originally written in that language and the developers of those 
libraries prefer C. The developers add OO features in C with tools and 
infrastructure where needed. Moving from C would also limit the audience. C 
programmers couldn't access a C++ API for instance, whereas a C++ programmer 
can access both C and C++. That is partly why the developers aim to 
auto-generate bindings so programmers of vari [...]
+
+The components are divided into named libraries or projects. Core EFL 
components include:
+
+| Component   | Description |
+| -------------- | -------------- |
+| Evas | Core scene graph and rendering    |
+| Eina | Data structures and low level helpers   |
+| Edje | UI layout & animation data files for themes |
+| Eet | Data (de)serialization and storage  |
+| Ecore | Core loop and system abstractions like X11 |
+| Efreet | Freedesktop.org standards handling  |
+| Eldbus | D-Bus glue and handling   |
+| Embryo | Tiny VM and compiler based on Pawn  |
+| Eeze | Device enumeration and access library  |
+| Emotion | Video decode wrapping, glue and abstraction |
+| Ethumb| Thumbnailing handler  |
+| Ephysics | Physics (bullet) wrapper and Evas glue  |
+| EIO | Asynchronous I/O handling  |
+| Evas Generic Loaders  | Extra image loaders for complex image types|
+| Emotion Generic Players | Extra video decoders (for VLC)      |
+| Elementary     | Widgets and high level abstractions    |
+
+
+Binding support exists for several languages such , including Python, 
Javascript, C++, Ruby and Lua.
+
+### The EFL Model ###
+
+![model1](/_media/model1.png "EFL Model")
+
+EFL operates on the same "main loop" concept adopted by GTK+ and many other 
toolkits. Once you initialize an application it enters the Ecore main loop.
+
+The main loop continuously checks for events, handles timers, callbacks and 
any other services that have previously been set up until an exit request is 
sent. By way of an example if EFL were used to create a video game, the 
mainloop would check for user inputs and update the game world accordingly as 
you play.
+
+The mainloop is designed efficiently. It will remain idle, consuming virtually 
no CPU resources until an event occurs. Events can be based on user input such 
as using the mouse or time-based. Ecore will then handle the event 
appropriately.
+
+Read more about [the Ecore main loop 
here](https://docs.enlightenment.org/auto/group__Ecore__Main__Loop__Group.html).
+
+For more detailed information on the EFL model including events and callbacks 
see the [EFL Concept 
Overview.](https://phab.enlightenment.org/w/efl_concept_overview/)
+
+### EFL Application Structure ###
+
+![model1](/_media/efllibs.png "EFL Libs")
+
+Whenever you create a basic EFL Application, it uses a basic set of libraries:
+
+  * **Elementary** is the top-most library. It provides all the functions you 
need to create windows, manage layouts and add widgets.
+  * **Edje**  is the library used by Elementary to provide 
powerful,customisable themes. You can also use Edje to create your own objects 
and use them in an application.
+  * **Ecore** is the library which manages the main loop of your application, 
as outlined above.
+  * **Evas**  is the canvas engine, which draws content. Any graphical objects 
you create are Evas objects. It handles the entire state of the window by 
filling the canvas with objects and manipulating their states. Evas objects are 
created and then manipulated until they are no longer needed, at which point 
they are deleted.
+  * **Eina** forms the basis of all EFL libraries. It's a toolbox that 
implements an API for data types in an efficient way. Eina contains all the 
functions needed to create lists and hashes, manage shared strings, open shared 
libraries, and manage errors and memory pools.
+
+EFL naturally contains many more libraries than the basic ones outlined above. 
Visit our [Basic Application 
Structure](https://www.enlightenment.org/develop/legacy/program_guide/basic_application_structure_pg)
 page for more information on the core libraries. You can also learn about 
other libraries in our other programming guides.
+
+## Further Reading ##
+
+[EFL Coverity scan status](https://scan.coverity.com/projects/552)
+:    EFL's code quality.
+
+[Ecore 
loop](https://docs.enlightenment.org/auto/group__Ecore__Main__Loop__Group.html)
+:    Functions that act on Ecore's main loop or on events and infrastructure 
directly linked to it.
+
+[EFL Concept Overview.](https://phab.enlightenment.org/w/efl_concept_overview/)
+:    More detailed information on the EFL model including events and callbacks

-- 


Reply via email to