* Fix buffer overflow with EDJE_PROGRAM_CACHE (not tested since I don't use it).
* break_prog should always unset walking_callbacks and do after-tasks.
* Fix list walking! ouch!!!
SVN revision: 37944
This makes use of new Evas_Smart_Class calculate() callback to
postpone calculations until render time, possible saving lots of
calculations to happen.
It is another try, with Cedric's changes to force recalculations when
requried (ie: just before doing some edje_object_*_get()), let's see
if this one solve found issues.
SVN revision: 37620
solution, but the fastest to implement without breaking edje file format.
So now, when a callback or a program don't use globbing charactere (*, ?,
[] and \), the match are put in a little rbtree instead of the big automate
matrix.
This patch could potentially break edje user, if you experience anything
strange with your edje file, please report.
SVN revision: 37577
Some methods do no change object internal state and can be marked as
read only. In parallel have infamous edje_object_part_object_get() to
return a read-only object, so it's even more clear that one should not
touch this object state (either a cast or a compiler warning if you do
that!)
SVN revision: 35485
Last 2 patches were swapped, I applied them in the wrong order and
missed the rejections, my bad.
I fixed it and also did some cleanup, looks better now.
SVN revision: 33855
Just allocate and build the match automate for callbacks and programs
only when required. On load for programs and when callbacks list has
been updated.
Patch by Cedric BAIL. (with minor fixes to use TABS where context was using)
SVN revision: 33804
These can be used to automatically swallow in another group from the same file.
Parts within child groups can be referred to by a ':' separated 'full path' of
part names. Any API functions that take a part name will now accept a full path
also.
Signals emitted by child objects will be repeated up to the parents with the
source changed to be the path relative to the receiving object. E.g in the
example below, a mouse moving over the lower light green rectangle would result
in the parent object recieving a "mouse,move" signal with source "bot:inner".
**** NEW RESTRICTION **** part names should no longer include a ':' character.
This is not yet enforced by edje_cc, but will cause the part to be inaccessible
from the API.
Example EDC:
collections {
group {
name: "parent";
parts {
part {
name: "top";
type: GROUP;
source: "child";
description {
state: "default" 0.0;
rel2.relative: 1 0.5;
}
}
part {
name: "bot";
type: GROUP;
source: "child";
description {
state: "default" 0.0;
rel1.relative: 0 0.5;
}
}
}
}
group {
name: "child";
parts {
part {
name: "base";
type: RECT;
description {
state: "default" 0.0;
color: 160 208 8 255;
}
}
part {
name: "inner";
type: RECT;
description {
state: "default" 0.0;
rel1.offset: 10 10;
rel2.offset: -11 -11;
color: 210 228 76 255;
}
}
}
}
}
SVN revision: 30087
standard structs for messages, and i allow the message queue to fee itsel for
up to 8 iterations before forcing us to rever to normal loop processing
again. this shoudl cover most soignal emit/respond cases in normal usage
without forcing more loop to run and possibly a render.
SVN revision: 10662
2. message queue is in - i am currently not surer if i shoudl go with this
varags api internally ot move to a more manual "build a list" thing... but the
message queue does work - i've moved signals to use it.
SVN revision: 10653
examples in e_logo.edc
errr - the animators may have problems if somehow aan animator is deleted or
object deleteded or file changed while running thru the list...
SVN revision: 9567
them, include them int eh edje.eet and edje can run them. all i have to do
now is actually give the small scripts an api worht talking about
SVN revision: 9514
akuma no code desu!
there are a LOT of paths that lead to calling external callbacks froma
pgoram thaty will invalidate the loop or code just after that call-
causing... segv's and all sort sof fun goodies. i've blocks/locks off a lot
of them... i hope i haven't missed any - but it's likely. tread carefully
within callbacks!
SVN revision: 7375
to set/get dragable size relative to its confie and is value relative to its
cofine, query what directiosn a dragable can be dragged. you shoudl be able
to do scrollbars - except scroll arrows internally in edje making the
scrollbar move.
SVN revision: 7324
very efficient at matching hundreds of prgorams up to lots of signals always
ticking off. i've optimized it now with a match (and no_match) cache so if an
input signal (and source) combination is known not to match anything, it's
cached after the first full check and henceforth avoids extra checks. the
cache is realyl simply right now - i could optimize it a bit to avoid excess
memory usage though...
SVN revision: 7189
fixem's have been fixed. text parts work fully now, ALONG with all their
respective effect modes, fits, alignments and "chopping". a few more api
calls have been added and cleaned up. you'll need to update eet too for this
to work.
SVN revision: 7113
program. just provide an "in, 10.0 5.0;" line in the progrma to say "start
thew program in (10.0 + (random value from 0.0 - 5.0)_ seconds from the time
it is triggered. you can simply delay the program with a constant by making
the range 0.0.
SVN revision: 7104