Gustavo Sverzut Barbieri wrote:
> On Fri, Dec 5, 2008 at 1:50 PM, Hendrik Siedelmann
> <[EMAIL PROTECTED]> wrote:
>   
>> 2008/12/5 Gustavo Sverzut Barbieri <[EMAIL PROTECTED]>:
>>     
>>> On Thu, Dec 4, 2008 at 10:59 PM, The Rasterman Carsten Haitzler
>>> <[EMAIL PROTECTED]> wrote:
>>>       
>>>> On Fri, 5 Dec 2008 00:03:18 +0100 "Hendrik Siedelmann"
>>>> <[EMAIL PROTECTED]> babbled:
>>>>
>>>>         
>>>>> 2008/12/3 The Rasterman Carsten Haitzler <[EMAIL PROTECTED]>:
>>>>>           
>>>>>> On Tue, 2 Dec 2008 21:02:54 +0100 "Hendrik Siedelmann"
>>>>>> <[EMAIL PROTECTED]> babbled:
>>>>>>
>>>>>>             
>>>>>>> 2008/11/30 The Rasterman Carsten Haitzler <[EMAIL PROTECTED]>:
>>>>>>>               
>>>>>>>> On Sun, 30 Nov 2008 19:27:35 +0100 "Hendrik Siedelmann"
>>>>>>>> <[EMAIL PROTECTED]> babbled:
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> while fooling around with elementary trying to write some widgets I
>>>>>>>>> found a pretty huge limitation in edje.
>>>>>>>>> I was writing a page flip widget to be used for example for slideshow,
>>>>>>>>> document viewer but also for page switching using cursor/finger on
>>>>>>>>> touchscreen. But there seems to be no way to interaktiv set the
>>>>>>>>> transition between two states in edje. For example I want to blend
>>>>>>>>> between two parts depending on how far the cursor moved while pressed
>>>>>>>>> down. This way mouse gestures would get visualised by a preview of
>>>>>>>>> what would happen. But there I found no way to do this in edje one can
>>>>>>>>> only do the full transition...
>>>>>>>>>                   
>>>>>>>> for this - you need to use embryo script {}... it is possible - with a
>>>>>>>> bit of thought and complexity and custom states :)
>>>>>>>>                 
>>>>>>> Do you mean set_tween_state? Is there a reason this is not available
>>>>>>> over the c interface?
>>>>>>>               
>>>>>> beacuse this is meant to be abstracted - c shouldnt be playing with 
>>>>>> stats of
>>>>>> parts directly. you can talk to the edje via messages - these are used in
>>>>>> many places in e and efl to abstract apis between edje and c code.
>>>>>>             
>>>>> But whenever edje is used inside a program the program code and the
>>>>> edje code depend on each other anyway. Most programmers (me included)
>>>>> choose a programming language for reasons. Forcing them to learn and
>>>>> use embryo for some parts is propably not the best approach.
>>>>>           
>>>> edje is meant to abstract this so it can be replaced with some other 
>>>> design and
>>>> setup that does something different - and the designer chooses this in the
>>>> edje :)
>>>>         
>>> yep, Hendrik, you're abusing edje and then complaining it doesn't
>>> behave.  As you said, you choose your language and you can keep using
>>> it, just design your animation using it (hint: create your smart
>>> object, swallow it in your edje, possible using edje for your smart
>>> children... that is: edjes as parent and children of your smart).
>>>
>>> depending on what you want, this can be a bit easier... if you can fit
>>> into the "box" (sequence of items) model, then you can just implement
>>> one function and register that function with edje, then you feed it
>>> parameters using layout data (void*).
>>>       
>> Well I trust you if you say I'm abusing edje (poor thing).
>> It's difficult to get documentation about well everything surrounding
>> the efl, so excuse me if I don't know what you mean.
>> Do you mean I should use evas directly from c together with a timer to
>> do the animations interactiv? Because I still want to use edje to do
>> complex transitions and keep it themable.
>> I now do it (already working) with embryo functions which react on
>> mouse events and then just use set_tween_state and programs to do a
>> whole transition (on signals from outside) or that finish the
>> transition (on mouse up).
>> I'd like to do it with c so the edc file only contains the
>> transitions, but not if that requires much more code than with embryo.
>>     
>
> I see and understand your point, I tried to did things like that in
> the past, but Edje is a layer that makes some things easier, while
> others more difficult as you noticed, often these that are more
> difficult are not the intended use, thus why I say "abuse".
>
> I guess using embryo with tween state is the best so far. You can also
> jump in and help with lua scripting (or general scripting if you wish)
> to make script-only edje objects, they would be more powerful and
> things like this would remain in the theme, but be real programmable.
> So far we lack human power to write such thing, so we're stuck with
> Embryo :-P
>
>   
Hi

As I love Lua and know it very well (both the scripting language itself 
and its C-api) and your in search for man power to help integrating Lua 
into Edje (and I love it, too), I'd like to contribute to the efl.

I already have functioning Lua bindings for Evas from a case study I'm 
working on at the moment. http://repo.or.cz/w/ego.git (highly 
experimental stuff, though ;-)

Before I start to become familiar with Edje internals and find ways of 
incorporating Lua, there are some questions:
- Has anybody already started on integrating Lua?
- What should the scripting in Edje provide, and what not? Is there an 
existing list on the web, in svn, describing the intended scope of the 
scripting facility? If not, we may create it in the first place:
    + Should the scripting only provide the logic to conditionally 
tackle with Edje programs and states, such as querying/setting states, 
transitions, emitting signals? That would just be an alternative 
implementation of what Embryo does at the moment, right?
    + Should it also allow for dynamically creating, manipulating, 
swallowing, read/write access of Evas and Edje Part objects directly? By 
providing those features, you could fully program the user interface, 
but that's not the main purpose of Edje, right?
    + Where to draw the line between Edje as a layout DESCRIPTION 
library vs. Edje as a layout PROGRAMING library?
    + By searching the list, discussions on this issue show up, but have 
decisions already been taken?


------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to