On Fri, 18 Nov 2011 12:42:19 +1000 David Seikel <onefang@...> said:
> On Thu, 17 Nov 2011 18:27:16 -0800 "Enlightenment SVN"
> <no-reply@...> wrote:
> > Log:
> > You might call this an API break, but it's a bug fix.
> > The very original lua code from waaaay back when,
> > would create the various timer objects as members of the evas
> > class, which would mean you could call evas functions on the timer
> > objects.
> > Not good.
> > Now they have their own classes.
> > However, you still have to create them by calling functions in the
> > edje class, there should probably be an ecore class for that
> > instead.
> This is not really an API break, as the API was already broken.
> Returning a timer object as an evas object was just wrong.
yeah. that's wrong. the evas methods on those objects are pointless anyway.
they would never have worked.
> This is all the stuff from a long time ago, when raster whipped up some
> stuff to show the way.
> The other problem is a big one - half the functions in the edje class
> are really ecore or evas functions, they should have their own ecore
> class, or move to the evas class. This IS a major API break though.
nah - keep edje class as is - edje class can return new objects like evas
objects or timers etc. - you could create a container class for the timer,
animator and timeline objects for example that edje returns - in fact you have
to to remove them from their evas class container, but it should not make a new
> edje:echo() probably should not even exist.
i'd say keep it - BUT edje needs to be able to only allow echoing to stdout IF
some env var is enabled - otherwise it's silent. this is for debugging.
> edje:date() is actually a C function.
yes, but provided by the edje class :)
> edje:looptime(), edje:seconds(), edje:animator(), edje:timer(), and
> edje:transition() are all ecore functions.
well some just return a value, others return new objects, but it is edje that
is providing the api. that's the key. edje manages these resources.
> edje:image(), edje:line(), edje:map(), edje:polygon(), edje:rect(), and
> edje:text() are all evas functions. All but rect are my fault, I just
> copied rect.
they're fine. :)
> Sooo, shall we bite the bullet and break the API to put these functions
> in the proper classes? Get in early before people start using it?
other than the top bit - no. keep as is :)
> This is what happens when I'm rushed. :-P
> A big old stinking pile of genius that no one wants
> coz there are too many silver coated monkeys in the world.
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler) raster@...