description | E Goes Online |
owner | ventosus@airpost.net |
last change | Mon, 26 Jan 2009 11:12:00 +0000 (26 12:12 +0100) |
URL | git://repo.or.cz/ego.git |
https://repo.or.cz/ego.git | |
push URL | ssh://repo.or.cz/ego.git |
https://repo.or.cz/ego.git (learn more) | |
bundle info | ego.git downloadable bundles |
content tags |
Ego is meant to be a case study for a free alternative to common used multimedia formats in the world wide web (e.g. Flash and Silverlight).
It makes use of the core Efl libraries
The libraries are glued together with the simple, fast and extensible object-description/scripting language Lua
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.
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).
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).
Ego exports all graphical Evas objects (object, rectangle, image, text, gradient, ...) to Lua with lua-C bindings. Additionally there is direct access to the definitions in the underlying Edje file. Objects and functions are accessible in an object-oriented way.
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.
15 years ago | master | logtree |