This commit moves Evas.h contents a lot, but it should not change code
(some conts were added, some function attributes were changed).
The purpose of such is to define the order that doxygen show modules
in its documentation.
I also splitted documentation a bit more, and added a src/examples to
list useful example code. Right now it is just a pure-evas
draw-and-save using buffer engine.
NOTE: there is lots to document, and the @todo list is quite long but
I guess lots of things there were done already. Raster, could
you review this list?
SVN revision: 47308
also rename evas_layer_free() to evas_layer_free_objects() as what it
do now, make _evas_layer_free() as static and use it both cases.
SVN revision: 41123
the parent.
When we insert object inside a smart object, they could be attached to
another layer. As long as ref counting work, nothing wrong will happen.
But during destruction of an Evas, we were just looping over all layers,
destroying each of them, without checking for refcounting. This could
cause SEGV.
This patch introduce a third loop for wiping out all layers after
destroying all Evas_Object. So no more SEGV, and no performance
regression.
Note: Do not rely on evas_object_layer_get on smart object's child, it
could give you the wrong answer.
SVN revision: 41046
By having a layer as a short (16 bits) we can pack it together with
the bitfields, saving 4 bytes per sub-struct, 8 bytes in total, also
bringing the struct down from 4 to 3 cachelines on my laptop.
Rationale: layers are mostly used to differentiate groups of objects
and they stacking, usually we have few layers and we use very large or
very small numbers to make a layer be at the top or at the bottom, but
usually we don't need so many layers.
Caution: code that use values like 999999 will break, so fix your
code! I'll provide another patch to fix all the CVS using these large
values.
SVN revision: 34420
are done now too - when an interceptor is set it takes over from the actual
call it intercepts and now that call is responsible for doing the
move/resize/raise/lower etc. (method overriding)
SVN revision: 6490
has been show, hidden, moved, resized or restacked :) handy for making
widgets (ie child widget got resized.. parent can adjust to fit child widget).
also interceptors.. designed to allow callbacks to intercept move, resize,
show, hide and restacking calls and modiy behavior (handy for widget sets
too!)
SVN revision: 6488