On Wed, Dec 31, 2008 at 11:47 AM, Hanspeter Portner <hanspeter.port...@env.ethz.ch> wrote: > Hi there > > I've got an initial working infrastructure for Lua inside of Edje. > > I've added a lua_script_only group to Edje, analogous to the embryo > script_only group. I'll use that as a test bed for the Lua/Edje/Evas > bindings. > > The infrastructure makes heavy use of Lua magic, and therefore is extensible > for further developments. > > I've added some first bindings for testing purposes. I've exported a mixture > of objects and functions from different parts of Edje.h, Edje_Edit.h, > edje_private.h, Evas.h and Ecore.h to compile some simple test scripts. > > All this is based on Lua5.1, fits in nicely so far. Note, I've not touched > the Embryo scripting facility at all, this is just an addition to support > Lua in the first place, and only as a script_only group, not yet as > scripting in default group, part and program structures. > > Although it's still experimental, you'll do no harm to Edje by trying out > the patch (there are some memory leaks, I know of, though). I put it here in > an early stage to get some review early on, if I'm heading in the right > direction. I'm open for any kind of feedback (I'll try to be regularly on > the #e* irc channels as 'ventosus'). > > As the Lua scripting resides inside of Edje, and mainly ui designers will > use it, it should be EDC-like, e.g. it should more feel like an > object-description language than a pure scripting-language (hey, what a > coincidence, that's what Lua is meant to be, in the first place ;-) > > The Edje Lua interaction is therefore implemented in an object-oriented way. > As the different E* APIs are written in a pseudo object oriented way, this > was straightforward to implement. I think this is much more on the side of > the ui designer, fits in well with EDC and leads to nice code. > > I tried to explain the implementation of the Edje Lua infrastructure in a > comment in the attached example *.edc file. If you don't know anything about > Lua, it may still be cryptic, though ;-( > > I've attached a patch for the Edje svn tree and an example *.edc file for > testing, have fun. It's still of limited use, but enough to experiment with. > > Things that are still to be done are: > > - Finalize, clean up Edje Lua infrastructure, make it 'bullet proof' > > - Decide on what exactly to export from Evas/Edje to Lua > -> Should we export a big part of the evas_object_* API to manipulate > objects created in the lua_script_only group? > > - Implement analogous functions to all functions that are atm exported to > Embryo and export more useful Edje internals to Lua. > > - Integrate Lua's scripting facility into default group, part and program > structures of Edje, analogous to Embryo > > - Testing, speed and memory optimization, etc.
Thanks for such work, I have not looked into actual patch and possible will not have time to look at it soon, keep posting your improvements so when I have time to look at it I don't waste time pointing out already fixed problems :-) As for the edc, I read and the comments at the top are really helpful, it's very similar to internal working of Python, so easy to understand :-) What I find missing in both Embryo and Lua as EDC engine is easier ways to do animations, we should provide some utilities to interpolate values. Things like "accelerate this in 1.0s from (x,y) = (0,0) to (10, 100)" and it would do. See http://staff.get-e.org/?p=users/barbieri/python-efl_utils.git;a=summary for some ideas, I give it a list of values and interpolate values using 0.0-1.0 Again, thanks for your work. -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 ------------------------------------------------------------------------------ _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel