added ego object as clip to all objects
[ego.git] / README
bloba96ed107fe8e97481631ff296d848f08674569ca
1 Ego (E Goes Online)
2 -------------------
4 So far this is a case study, so be prepared that a lot of things may change during the advancement of the project.
6 Ego is meant to be a completely free alternative to common used multimedia formats in the world wide web (e.g. Flash and Silverlight).
8 It makes use of the core Efl libraries
9 - Eet
10 - Ecore
11 - Ecore_Evas
12 - Evas
13 - Edje
14 - Emotion (TODO)
15 - Elementary (TODO)
17 The libraries are glued together with the simple, fast and extensible object-description/scripting language
18 - Lua
20 Ego files are actually extended Edje files. In order to compile an Ego file, you start off by packing all your images, fonts and Edje definitions in a common Edje file. Then you code your program in Lua.
22 With the Ego compiler (ego_cc) you then attach the actual program (Lua scirpt) to the Edje file, which gives you an Ego file. The Lua script is precompiled and saved as byte code for fast execution. You may extract the Lua script with the Ego decompiler (ego_decc).
24 Once you have your Ego file, you may run it either with the stand-alone player (ego_play) or with the web-browser plugin (libegoplayer).
26 Ego exports all graphical Evas objects (object, rectangle, image, text, gradient, ...) to Lua with lua-C binding. Additionally there is direct access to the definitions in the underlying Edje file. Objects and functions are accessible in an intuitiv object-oriented way.
28 The main idea behind this is to use Edje for layouting and defining object classes. The layout and the object classes are dynamically controlled with Lua scripting and extensibility is provided by the core Evas objects.