Eolian: Legacy integration of Evas Object
authorYossi Kantor <yossi.kantor@samsung.com>
Wed, 2 Apr 2014 13:15:28 +0000 (16:15 +0300)
committerDaniel Zaoui <daniel.zaoui@samsung.com>
Wed, 23 Apr 2014 13:14:12 +0000 (16:14 +0300)
src/Makefile_Evas.am
src/lib/evas/Evas_Legacy.h
src/lib/evas/canvas/evas_object.eo

index df85f92..f2edbe1 100644 (file)
@@ -36,6 +36,7 @@ BUILT_SOURCES += \
                  lib/evas/canvas/evas_common_interface.eo.legacy.h \
                  lib/evas/canvas/evas_object.eo.c \
                  lib/evas/canvas/evas_object.eo.h \
+                 lib/evas/canvas/evas_object.eo.legacy.h \
                  lib/evas/canvas/evas.eo.c \
                  lib/evas/canvas/evas.eo.h \
                  lib/evas/canvas/evas_grid.eo.c \
@@ -131,8 +132,9 @@ nodist_installed_evascanvasheaders_DATA = \
                                         lib/evas/canvas/evas_smart.eo.legacy.h \
                                         lib/evas/canvas/evas_smart_clipped.eo.legacy.h \
                                         lib/evas/canvas/evas_table.eo.legacy.h \
-                                        lib/evas/canvas/evas_common_interface.eo.legacy.h
-                    
+                                        lib/evas/canvas/evas_common_interface.eo.legacy.h \
+                                        lib/evas/canvas/evas_object.eo.legacy.h
+
 noinst_HEADERS = \
 lib/evas/include/evas_inline.x \
 lib/evas/include/evas_private.h \
index 39c5c95..e48d5fa 100644 (file)
@@ -1540,268 +1540,8 @@ EAPI const Eina_List        *evas_font_path_list(const Evas *e) EINA_WARN_UNUSED
  * @{
  */
 
-/**
- * Clip one object to another.
- *
- * @param obj The object to be clipped
- * @param clip The object to clip @p obj by
- *
- * This function will clip the object @p obj to the area occupied by
- * the object @p clip. This means the object @p obj will only be
- * visible within the area occupied by the clipping object (@p clip).
- *
- * The color of the object being clipped will be multiplied by the
- * color of the clipping one, so the resulting color for the former
- * will be <code>RESULT = (OBJ * CLIP) / (255 * 255)</code>, per color
- * element (red, green, blue and alpha).
- *
- * Clipping is recursive, so clipping objects may be clipped by
- * others, and their color will in term be multiplied. You may @b not
- * set up circular clipping lists (i.e. object 1 clips object 2, which
- * clips object 1): the behavior of Evas is undefined in this case.
- *
- * Objects which do not clip others are visible in the canvas as
- * normal; <b>those that clip one or more objects become invisible
- * themselves</b>, only affecting what they clip. If an object ceases
- * to have other objects being clipped by it, it will become visible
- * again.
- *
- * The visibility of an object affects the objects that are clipped by
- * it, so if the object clipping others is not shown (as in
- * evas_object_show()), the objects clipped by it will not be shown
- * either.
- *
- * If @p obj was being clipped by another object when this function is
- * called, it gets implicitly removed from the old clipper's domain
- * and is made now to be clipped by its new clipper.
- *
- * The following figure illustrates some clipping in Evas:
- *
- * @image html clipping.png
- * @image rtf clipping.png
- * @image latex clipping.eps
- *
- * @note At the moment the <b>only objects that can validly be used to
- * clip other objects are rectangle objects</b>. All other object
- * types are invalid and the result of using them is undefined. The
- * clip object @p clip must be a valid object, but can also be @c
- * NULL, in which case the effect of this function is the same as
- * calling evas_object_clip_unset() on the @p obj object.
- *
- * Example:
- * @dontinclude evas-object-manipulation.c
- * @skip solid white clipper (note that it's the default color for a
- * @until evas_object_show(d.clipper);
- *
- * See the full @ref Example_Evas_Object_Manipulation "example".
- */
-EAPI void             evas_object_clip_set(Evas_Object *obj, Evas_Object *clip) EINA_ARG_NONNULL(1, 2);
-
-/**
- * Get the object clipping @p obj (if any).
- *
- * @param obj The object to get the clipper from
- *
- * This function returns the object clipping @p obj. If @p obj is
- * not being clipped at all, @c NULL is returned. The object @p obj
- * must be a valid ::Evas_Object.
- *
- * See also evas_object_clip_set(), evas_object_clip_unset() and
- * evas_object_clipees_get().
- *
- * Example:
- * @dontinclude evas-object-manipulation.c
- * @skip if (evas_object_clip_get(d.img) == d.clipper)
- * @until return
- *
- * See the full @ref Example_Evas_Object_Manipulation "example".
- */
-EAPI Evas_Object     *evas_object_clip_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Disable/cease clipping on a clipped @p obj object.
- *
- * @param obj The object to cease clipping on
- *
- * This function disables clipping for the object @p obj, if it was
- * already clipped, i.e., its visibility and color get detached from
- * the previous clipper. If it wasn't, this has no effect. The object
- * @p obj must be a valid ::Evas_Object.
- *
- * See also evas_object_clip_set() (for an example),
- * evas_object_clipees_get() and evas_object_clip_get().
- *
- */
-EAPI void             evas_object_clip_unset(Evas_Object *obj);
-
-/**
- * Return a list of objects currently clipped by @p obj.
- *
- * @param obj The object to get a list of clippees from
- * @return a list of objects being clipped by @p obj
- *
- * This returns the internal list handle that contains all objects
- * clipped by the object @p obj. If none are clipped by it, the call
- * returns @c NULL. This list is only valid until the clip list is
- * changed and should be fetched again with another call to
- * evas_object_clipees_get() if any objects being clipped by this
- * object are unclipped, clipped by a new object, deleted or get the
- * clipper deleted. These operations will invalidate the list
- * returned, so it should not be used anymore after that point. Any
- * use of the list after this may have undefined results, possibly
- * leading to crashes. The object @p obj must be a valid
- * ::Evas_Object.
- *
- * See also evas_object_clip_set(), evas_object_clip_unset() and
- * evas_object_clip_get().
- *
- * Example:
- * @code
- * extern Evas_Object *obj;
- * Evas_Object *clipper;
- *
- * clipper = evas_object_clip_get(obj);
- * if (clipper)
- *   {
- *     Eina_List *clippees, *l;
- *     Evas_Object *obj_tmp;
- *
- *     clippees = evas_object_clipees_get(clipper);
- *     printf("Clipper clips %i objects\n", eina_list_count(clippees));
- *     EINA_LIST_FOREACH(clippees, l, obj_tmp)
- *       evas_object_show(obj_tmp);
- *   }
- * @endcode
- */
-EAPI const Eina_List *evas_object_clipees_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Test if any object is clipped by @p obj.
- *
- * @param obj The object to get a list of clippees from
- * @return EINA_TRUE if @p obj clip any object.
- * @since 1.8
- */
-EAPI Eina_Bool evas_object_clipees_has(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Sets or unsets a given object as the currently focused one on its
- * canvas.
- *
- * @param obj The object to be focused or unfocused.
- * @param focus @c EINA_TRUE, to set it as focused or @c EINA_FALSE,
- * to take away the focus from it.
- *
- * Changing focus only affects where (key) input events go. There can
- * be only one object focused at any time. If @p focus is @c EINA_TRUE,
- * @p obj will be set as the currently focused object and it will
- * receive all keyboard events that are not exclusive key grabs on
- * other objects.
- *
- * Example:
- * @dontinclude evas-events.c
- * @skip evas_object_focus_set
- * @until evas_object_focus_set
- *
- * See the full example @ref Example_Evas_Events "here".
- *
- * @see evas_object_focus_get
- * @see evas_focus_get
- * @see evas_object_key_grab
- * @see evas_object_key_ungrab
- */
-EAPI void             evas_object_focus_set(Evas_Object *obj, Eina_Bool focus) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieve whether an object has the focus.
- *
- * @param obj The object to retrieve focus information from.
- * @return @c EINA_TRUE if the object has the focus, @c EINA_FALSE otherwise.
- *
- * If the passed object is the currently focused one, @c EINA_TRUE is
- * returned. @c EINA_FALSE is returned, otherwise.
- *
- * Example:
- * @dontinclude evas-events.c
- * @skip And again
- * @until something is bad
- *
- * See the full example @ref Example_Evas_Events "here".
- *
- * @see evas_object_focus_set
- * @see evas_focus_get
- * @see evas_object_key_grab
- * @see evas_object_key_ungrab
- */
-EAPI Eina_Bool        evas_object_focus_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Sets the layer of its canvas that the given object will be part of.
- *
- * @param   obj The given Evas object.
- * @param   l   The number of the layer to place the object on.
- *          Must be between #EVAS_LAYER_MIN and #EVAS_LAYER_MAX.
- *
- * If you don't use this function, you'll be dealing with an @b unique
- * layer of objects, the default one. Additional layers are handy when
- * you don't want a set of objects to interfere with another set with
- * regard to @b stacking. Two layers are completely disjoint in that
- * matter.
- *
- * This is a low-level function, which you'd be using when something
- * should be always on top, for example.
- *
- * @warning Be careful, it doesn't make sense to change the layer of
- * smart objects' children. Smart objects have a layer of their own,
- * which should contain all their children objects.
- *
- * @see evas_object_layer_get()
- */
-EAPI void             evas_object_layer_set(Evas_Object *obj, short l) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves the layer of its canvas that the given object is part of.
- *
- * @param   obj The given Evas object to query layer from
- * @return  Number of its layer
- *
- * @see evas_object_layer_set()
- */
-EAPI short            evas_object_layer_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
 
-/**
- * Sets the name of the given Evas object to the given name.
- *
- * @param   obj  The given object.
- * @param   name The given name.
- *
- * There might be occasions where one would like to name his/her
- * objects.
- *
- * Example:
- * @dontinclude evas-events.c
- * @skip d.bg = evas_object_rectangle_add(d.canvas);
- * @until evas_object_name_set(d.bg, "our dear rectangle");
- *
- * See the full @ref Example_Evas_Events "example".
- */
-EAPI void             evas_object_name_set(Evas_Object *obj, const char *name) EINA_ARG_NONNULL(1);
 
-/**
- * Retrieves the name of the given Evas object.
- *
- * @param   obj The given object.
- * @return  The name of the object or @c NULL, if no name has been given
- *          to it.
- *
- * Example:
- * @dontinclude evas-events.c
- * @skip fprintf(stdout, "An object got focused: %s\n",
- * @until evas_focus_get
- *
- * See the full @ref Example_Evas_Events "example".
- */
-EAPI const char      *evas_object_name_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
 
 /**
  * Increments object reference count to defer its deletion.
@@ -1903,67 +1643,6 @@ EAPI int              evas_object_ref_get(const Evas_Object *obj);
 EAPI void             evas_object_del(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
 /**
- * Move the given Evas object to the given location inside its
- * canvas' viewport.
- *
- * @param obj The given Evas object.
- * @param x   X position to move the object to, in canvas units.
- * @param y   Y position to move the object to, in canvas units.
- *
- * Besides being moved, the object's ::EVAS_CALLBACK_MOVE callback
- * will be called.
- *
- * @note Naturally, newly created objects are placed at the canvas'
- * origin: <code>0, 0</code>.
- *
- * Example:
- * @dontinclude evas-object-manipulation.c
- * @skip evas_object_image_border_set(d.clipper_border, 3, 3, 3, 3);
- * @until evas_object_show
- *
- * See the full @ref Example_Evas_Object_Manipulation "example".
- *
- * @ingroup Evas_Object_Group_Basic
- */
-EAPI void             evas_object_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1);
-
-/**
- * Changes the size of the given Evas object.
- *
- * @param obj The given Evas object.
- * @param w   The new width of the Evas object.
- * @param h   The new height of the Evas object.
- *
- * Besides being resized, the object's ::EVAS_CALLBACK_RESIZE callback
- * will be called.
- *
- * @note Newly created objects have zeroed dimensions. Then, you most
- * probably want to use evas_object_resize() on them after they are
- * created.
- *
- * @note Be aware that resizing an object changes its drawing area,
- * but that does imply the object is rescaled! For instance, images
- * are filled inside their drawing area using the specifications of
- * evas_object_image_fill_set(). Thus to scale the image to match
- * exactly your drawing area, you need to change the
- * evas_object_image_fill_set() as well.
- *
- * @note This is more evident in images, but text, textblock, lines
- * and polygons will behave similarly. Check their specific APIs to
- * know how to achieve your desired behavior. Consider the following
- * example:
- *
- * @code
- * // rescale image to fill exactly its area without tiling:
- * evas_object_resize(img, w, h);
- * evas_object_image_fill_set(img, 0, 0, w, h);
- * @endcode
- *
- * @ingroup Evas_Object_Group_Basic
- */
-EAPI void             evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
-
-/**
  * Retrieves the position and (rectangular) size of the given Evas
  * object.
  *
@@ -2069,234 +1748,11 @@ EAPI void             evas_object_show(Evas_Object *obj) EINA_ARG_NONNULL(1);
  */
 EAPI void             evas_object_hide(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
-/**
- * Retrieves whether or not the given Evas object is visible.
- *
- * @param   obj The given Evas object.
- * @return @c EINA_TRUE if the object is visible, @c EINA_FALSE
- * otherwise.
- *
- * This retrieves an object's visibility as the one enforced by
- * evas_object_show() and evas_object_hide().
- *
- * @note The value returned isn't, by any means, influenced by
- * clippers covering @p obj, it being out of its canvas' viewport or
- * stacked below other object.
- *
- * @see evas_object_show()
- * @see evas_object_hide() (for an example)
- *
- * @ingroup Evas_Object_Group_Basic
- */
-EAPI Eina_Bool        evas_object_visible_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Sets the general/main color of the given Evas object to the given
- * one.
- *
- * @param obj The given Evas object.
- * @param r   The red component of the given color.
- * @param g   The green component of the given color.
- * @param b   The blue component of the given color.
- * @param a   The alpha component of the given color.
- *
- * @see evas_object_color_get() (for an example)
- * @note These color values are expected to be premultiplied by @p a.
- *
- * @ingroup Evas_Object_Group_Basic
- */
-EAPI void             evas_object_color_set(Evas_Object *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves the general/main color of the given Evas object.
- *
- * @param obj The given Evas object to retrieve color from.
- * @param r Pointer to an integer in which to store the red component
- *          of the color.
- * @param g Pointer to an integer in which to store the green
- *          component of the color.
- * @param b Pointer to an integer in which to store the blue component
- *          of the color.
- * @param a Pointer to an integer in which to store the alpha
- *          component of the color.
- *
- * Retrieves the “main” color's RGB component (and alpha channel)
- * values, <b>which range from 0 to 255</b>. For the alpha channel,
- * which defines the object's transparency level, 0 means totally
- * transparent, while 255 means opaque. These color values are
- * premultiplied by the alpha value.
- *
- * Usually you’ll use this attribute for text and rectangle objects,
- * where the “main” color is their unique one. If set for objects
- * which themselves have colors, like the images one, those colors get
- * modulated by this one.
- *
- * @note All newly created Evas rectangles get the default color
- * values of <code>255 255 255 255</code> (opaque white).
- *
- * @note Use @c NULL pointers on the components you're not interested
- * in: they'll be ignored by the function.
- *
- * Example:
- * @dontinclude evas-object-manipulation.c
- * @skip int alpha, r, g, b;
- * @until return
- *
- * See the full @ref Example_Evas_Object_Manipulation "example".
- *
- * @ingroup Evas_Object_Group_Basic
- */
-EAPI void             evas_object_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1);
 
 #include "canvas/evas_common_interface.eo.legacy.h"
+#include "canvas/evas_object.eo.legacy.h"
 
 /**
- * Retrieves the type of the given Evas object.
- *
- * @param obj The given object.
- * @return The type of the object.
- *
- * For Evas' builtin types, the return strings will be one of:
- *   - <c>"rectangle"</c>,
- *   - <c>"line"</c>,
- *   - <c>"polygon"</c>,
- *   - <c>"text"</c>,
- *   - <c>"textblock"</c> and
- *   - <c>"image"</c>.
- *
- * For Evas smart objects (see @ref Evas_Smart_Group), the name of the
- * smart class itself is returned on this call. For the built-in smart
- * objects, these names are:
- *   - <c>"EvasObjectSmartClipped"</c>, for the clipped smart object
- *   - <c>"Evas_Object_Box"</c>, for the box object and
- *   - <c>"Evas_Object_Table"</c>, for the table object.
- *
- * Example:
- * @dontinclude evas-object-manipulation.c
- * @skip d.img = evas_object_image_filled_add(d.canvas);
- * @until border on the
- *
- * See the full @ref Example_Evas_Object_Manipulation "example".
- */
-EAPI const char      *evas_object_type_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Raise @p obj to the top of its layer.
- *
- * @param obj the object to raise
- *
- * @p obj will, then, be the highest one in the layer it belongs
- * to. Object on other layers won't get touched.
- *
- * @see evas_object_stack_above()
- * @see evas_object_stack_below()
- * @see evas_object_lower()
- */
-EAPI void             evas_object_raise(Evas_Object *obj) EINA_ARG_NONNULL(1);
-
-/**
- * Lower @p obj to the bottom of its layer.
- *
- * @param obj the object to lower
- *
- * @p obj will, then, be the lowest one in the layer it belongs
- * to. Objects on other layers won't get touched.
- *
- * @see evas_object_stack_above()
- * @see evas_object_stack_below()
- * @see evas_object_raise()
- */
-EAPI void             evas_object_lower(Evas_Object *obj) EINA_ARG_NONNULL(1);
-
-/**
- * Stack @p obj immediately above @p above
- *
- * @param obj the object to stack
- * @param above the object above which to stack
- *
- * Objects, in a given canvas, are stacked in the order they get added
- * to it.  This means that, if they overlap, the highest ones will
- * cover the lowest ones, in that order. This function is a way to
- * change the stacking order for the objects.
- *
- * This function is intended to be used with <b>objects belonging to
- * the same layer</b> in a given canvas, otherwise it will fail (and
- * accomplish nothing).
- *
- * If you have smart objects on your canvas and @p obj is a member of
- * one of them, then @p above must also be a member of the same
- * smart object.
- *
- * Similarly, if @p obj is not a member of a smart object, @p above
- * must not be either.
- *
- * @see evas_object_layer_get()
- * @see evas_object_layer_set()
- * @see evas_object_stack_below()
- */
-EAPI void             evas_object_stack_above(Evas_Object *obj, Evas_Object *above) EINA_ARG_NONNULL(1, 2);
-
-/**
- * Stack @p obj immediately below @p below
- *
- * @param obj the object to stack
- * @param below the object below which to stack
- *
- * Objects, in a given canvas, are stacked in the order they get added
- * to it.  This means that, if they overlap, the highest ones will
- * cover the lowest ones, in that order. This function is a way to
- * change the stacking order for the objects.
- *
- * This function is intended to be used with <b>objects belonging to
- * the same layer</b> in a given canvas, otherwise it will fail (and
- * accomplish nothing).
- *
- * If you have smart objects on your canvas and @p obj is a member of
- * one of them, then @p below must also be a member of the same
- * smart object.
- *
- * Similarly, if @p obj is not a member of a smart object, @p below
- * must not be either.
- *
- * @see evas_object_layer_get()
- * @see evas_object_layer_set()
- * @see evas_object_stack_below()
- */
-EAPI void             evas_object_stack_below(Evas_Object *obj, Evas_Object *below) EINA_ARG_NONNULL(1, 2);
-
-/**
- * Get the Evas object stacked right above @p obj
- *
- * @param obj an #Evas_Object
- * @return the #Evas_Object directly above @p obj, if any, or @c NULL,
- * if none
- *
- * This function will traverse layers in its search, if there are
- * objects on layers above the one @p obj is placed at.
- *
- * @see evas_object_layer_get()
- * @see evas_object_layer_set()
- * @see evas_object_below_get()
- *
- */
-EAPI Evas_Object     *evas_object_above_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Get the Evas object stacked right below @p obj
- *
- * @param obj an #Evas_Object
- * @return the #Evas_Object directly below @p obj, if any, or @c NULL,
- * if none
- *
- * This function will traverse layers in its search, if there are
- * objects on layers below the one @p obj is placed at.
- *
- * @see evas_object_layer_get()
- * @see evas_object_layer_set()
- * @see evas_object_below_get()
- */
-EAPI Evas_Object     *evas_object_below_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-/**
  * @}
  */
 
@@ -2569,272 +2025,18 @@ EAPI void     *evas_object_event_callback_del(Evas_Object *obj, Evas_Callback_Ty
  */
 EAPI void     *evas_object_event_callback_del_full(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data) EINA_ARG_NONNULL(1, 3);
 
+
+/**
+ * @}
+ */
+
 /**
- * Set whether an Evas object is to pass (ignore) events.
- *
- * @param obj the Evas object to operate on
- * @param pass whether @p obj is to pass events (@c EINA_TRUE) or not
- * (@c EINA_FALSE)
- *
- * If @p pass is @c EINA_TRUE, it will make events on @p obj to be @b
- * ignored. They will be triggered on the @b next lower object (that
- * is not set to pass events), instead (see evas_object_below_get()).
- *
- * If @p pass is @c EINA_FALSE, events will be processed on that
- * object as normal.
- *
- * @see evas_object_pass_events_get() for an example
- * @see evas_object_repeat_events_set()
- * @see evas_object_propagate_events_set()
- * @see evas_object_freeze_events_set()
- */
-EAPI void      evas_object_pass_events_set(Evas_Object *obj, Eina_Bool pass) EINA_ARG_NONNULL(1);
-
-/**
- * Determine whether an object is set to pass (ignore) events.
- *
- * @param obj the Evas object to get information from.
- * @return pass whether @p obj is set to pass events (@c EINA_TRUE) or not
- * (@c EINA_FALSE)
- *
- * Example:
- * @dontinclude evas-stacking.c
- * @skip if (strcmp(ev->key, "p") == 0)
- * @until }
- *
- * See the full @ref Example_Evas_Stacking "example".
- *
- * @see evas_object_pass_events_set()
- * @see evas_object_repeat_events_get()
- * @see evas_object_propagate_events_get()
- * @see evas_object_freeze_events_get()
- */
-EAPI Eina_Bool evas_object_pass_events_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Set whether an Evas object is to repeat events.
- *
- * @param obj the Evas object to operate on
- * @param repeat whether @p obj is to repeat events (@c EINA_TRUE) or not
- * (@c EINA_FALSE)
- *
- * If @p repeat is @c EINA_TRUE, it will make events on @p obj to also
- * be repeated for the @b next lower object in the objects' stack (see
- * see evas_object_below_get()).
- *
- * If @p repeat is @c EINA_FALSE, events occurring on @p obj will be
- * processed only on it.
- *
- * Example:
- * @dontinclude evas-stacking.c
- * @skip if (strcmp(ev->key, "r") == 0)
- * @until }
- *
- * See the full @ref Example_Evas_Stacking "example".
- *
- * @see evas_object_repeat_events_get()
- * @see evas_object_pass_events_set()
- * @see evas_object_propagate_events_set()
- * @see evas_object_freeze_events_set()
- */
-EAPI void      evas_object_repeat_events_set(Evas_Object *obj, Eina_Bool repeat) EINA_ARG_NONNULL(1);
-
-/**
- * Determine whether an object is set to repeat events.
- *
- * @param obj the given Evas object pointer
- * @return whether @p obj is set to repeat events (@c EINA_TRUE)
- * or not (@c EINA_FALSE)
- *
- * @see evas_object_repeat_events_set() for an example
- * @see evas_object_pass_events_get()
- * @see evas_object_propagate_events_get()
- * @see evas_object_freeze_events_get()
- */
-EAPI Eina_Bool evas_object_repeat_events_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Set whether events on a smart object's member should get propagated
- * up to its parent.
- *
- * @param obj the smart object's child to operate on
- * @param prop whether to propagate events (@c EINA_TRUE) or not
- * (@c EINA_FALSE)
- *
- * This function has @b no effect if @p obj is not a member of a smart
- * object.
- *
- * If @p prop is @c EINA_TRUE, events occurring on this object will be
- * propagated on to the smart object of which @p obj is a member.  If
- * @p prop is @c EINA_FALSE, events occurring on this object will @b
- * not be propagated on to the smart object of which @p obj is a
- * member.  The default value is @c EINA_TRUE.
- *
- * @see evas_object_propagate_events_get()
- * @see evas_object_repeat_events_set()
- * @see evas_object_pass_events_set()
- * @see evas_object_freeze_events_set()
- */
-EAPI void      evas_object_propagate_events_set(Evas_Object *obj, Eina_Bool prop) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieve whether an Evas object is set to propagate events.
- *
- * @param obj the given Evas object pointer
- * @return whether @p obj is set to propagate events (@c EINA_TRUE)
- * or not (@c EINA_FALSE)
- *
- * @see evas_object_propagate_events_set()
- * @see evas_object_repeat_events_get()
- * @see evas_object_pass_events_get()
- * @see evas_object_freeze_events_get()
- */
-EAPI Eina_Bool evas_object_propagate_events_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Set whether an Evas object is to freeze (discard) events.
- *
- * @param obj the Evas object to operate on
- * @param freeze pass whether @p obj is to freeze events (@c EINA_TRUE) or not
- * (@c EINA_FALSE)
- *
- * If @p freeze is @c EINA_TRUE, it will make events on @p obj to be @b
- * discarded. Unlike evas_object_pass_events_set(), events will not be
- * passed to @b next lower object. This API can be used for blocking
- * events while @p obj is on transiting.
- *
- * If @p freeze is @c EINA_FALSE, events will be processed on that
- * object as normal.
- *
- * @warning If you block only key/mouse up events with this API, we won't
- *          guarantee the state of the object, that only had key/mouse down
- *          events, will be.
- *
- * @see evas_object_freeze_events_get()
- * @see evas_object_pass_events_set()
- * @see evas_object_repeat_events_set()
- * @see evas_object_propagate_events_set()
- * @since 1.1
- */
-EAPI void      evas_object_freeze_events_set(Evas_Object *obj, Eina_Bool freeze) EINA_ARG_NONNULL(1);
-
-/**
- * Determine whether an object is set to freeze (discard) events.
- *
- * @param obj the Evas object to get information from.
- * @return freeze whether @p obj is set to freeze events (@c EINA_TRUE) or
- * not (@c EINA_FALSE)
- *
- * @see evas_object_freeze_events_set()
- * @see evas_object_pass_events_get()
- * @see evas_object_repeat_events_get()
- * @see evas_object_propagate_events_get()
- * @since 1.1
- */
-EAPI Eina_Bool evas_object_freeze_events_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-/**
- * @}
- */
-
-/**
- * @ingroup Evas_Object_Group_Map
+ * @ingroup Evas_Object_Group_Map
  *
  * @{
  */
 
 /**
- * Enable or disable the map that is set.
- *
- * Enable or disable the use of map for the object @p obj.
- * On enable, the object geometry will be saved, and the new geometry will
- * change (position and size) to reflect the map geometry set.
- *
- * If the object doesn't have a map set (with evas_object_map_set()), the
- * initial geometry will be undefined. It is advised to always set a map
- * to the object first, and then call this function to enable its use.
- *
- * @param obj object to enable the map on
- * @param enabled enabled state
- */
-EAPI void            evas_object_map_enable_set(Evas_Object *obj, Eina_Bool enabled);
-
-/**
- * Get the map enabled state
- *
- * This returns the currently enabled state of the map on the object indicated.
- * The default map enable state is off. You can enable and disable it with
- * evas_object_map_enable_set().
- *
- * @param obj object to get the map enabled state from
- * @return the map enabled state
- */
-EAPI Eina_Bool       evas_object_map_enable_get(const Evas_Object *obj);
-
-/**
- * Set current object transformation map.
- *
- * This sets the map on a given object. It is copied from the @p map pointer,
- * so there is no need to keep the @p map object if you don't need it anymore.
- *
- * A map is a set of 4 points which have canvas x, y coordinates per point,
- * with an optional z point value as a hint for perspective correction, if it
- * is available. As well each point has u and v coordinates. These are like
- * "texture coordinates" in OpenGL in that they define a point in the source
- * image that is mapped to that map vertex/point. The u corresponds to the x
- * coordinate of this mapped point and v, the y coordinate. Note that these
- * coordinates describe a bounding region to sample. If you have a 200x100
- * source image and want to display it at 200x100 with proper pixel
- * precision, then do:
- *
- * @code
- * Evas_Map *m = evas_map_new(4);
- * evas_map_point_coord_set(m, 0,   0,   0, 0);
- * evas_map_point_coord_set(m, 1, 200,   0, 0);
- * evas_map_point_coord_set(m, 2, 200, 100, 0);
- * evas_map_point_coord_set(m, 3,   0, 100, 0);
- * evas_map_point_image_uv_set(m, 0,   0,   0);
- * evas_map_point_image_uv_set(m, 1, 200,   0);
- * evas_map_point_image_uv_set(m, 2, 200, 100);
- * evas_map_point_image_uv_set(m, 3,   0, 100);
- * evas_object_map_set(obj, m);
- * evas_map_free(m);
- * @endcode
- *
- * Note that the map points a uv coordinates match the image geometry. If
- * the @p map parameter is NULL, the stored map will be freed and geometry
- * prior to enabling/setting a map will be restored.
- *
- * @param obj object to change transformation map
- * @param map new map to use
- *
- * @see evas_map_new()
- */
-EAPI void            evas_object_map_set(Evas_Object *obj, const Evas_Map *map);
-
-/**
- * Get current object transformation map.
- *
- * This returns the current internal map set on the indicated object. It is
- * intended for read-only access and is only valid as long as the object is
- * not deleted or the map on the object is not changed. If you wish to modify
- * the map and set it back do the following:
- *
- * @code
- * const Evas_Map *m = evas_object_map_get(obj);
- * Evas_Map *m2 = evas_map_dup(m);
- * evas_map_util_rotate(m2, 30.0, 0, 0);
- * evas_object_map_set(obj, m2);
- * evas_map_free(m2);
- * @endcode
- *
- * @param obj object to query transformation map.
- * @return map reference to map in use. This is an internal data structure, so
- * do not modify it.
- *
- * @see evas_object_map_set()
- */
-EAPI const Evas_Map *evas_object_map_get(const Evas_Object *obj);
-/**
  * @}
  */
 
@@ -2844,413 +2046,8 @@ EAPI const Evas_Map *evas_object_map_get(const Evas_Object *obj);
  * @{
  */
 
-/**
- * Retrieves the hints for an object's minimum size.
- *
- * @param obj The given Evas object to query hints from.
- * @param w Pointer to an integer in which to store the minimum width.
- * @param h Pointer to an integer in which to store the minimum height.
- *
- * These are hints on the minimum sizes @p obj should have. This is
- * not a size enforcement in any way, it's just a hint that should be
- * used whenever appropriate.
- *
- * @note Use @c NULL pointers on the hint components you're not
- * interested in: they'll be ignored by the function.
- *
- * @see evas_object_size_hint_min_set() for an example
- */
-EAPI void evas_object_size_hint_min_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
-
-/**
- * Sets the hints for an object's minimum size.
- *
- * @param obj The given Evas object to query hints from.
- * @param w Integer to use as the minimum width hint.
- * @param h Integer to use as the minimum height hint.
- *
- * This is not a size enforcement in any way, it's just a hint that
- * should be used whenever appropriate.
- *
- * Values @c 0 will be treated as unset hint components, when queried
- * by managers.
- *
- * Example:
- * @dontinclude evas-hints.c
- * @skip evas_object_size_hint_min_set
- * @until return
- *
- * In this example the minimum size hints change the behavior of an
- * Evas box when layouting its children. See the full @ref
- * Example_Evas_Size_Hints "example".
- *
- * @see evas_object_size_hint_min_get()
- */
-EAPI void evas_object_size_hint_min_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves the hints for an object's maximum size.
- *
- * @param obj The given Evas object to query hints from.
- * @param w Pointer to an integer in which to store the maximum width.
- * @param h Pointer to an integer in which to store the maximum height.
- *
- * These are hints on the maximum sizes @p obj should have. This is
- * not a size enforcement in any way, it's just a hint that should be
- * used whenever appropriate.
- *
- * @note Use @c NULL pointers on the hint components you're not
- * interested in: they'll be ignored by the function.
- *
- * @see evas_object_size_hint_max_set()
- */
-EAPI void evas_object_size_hint_max_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
-
-/**
- * Sets the hints for an object's maximum size.
- *
- * @param obj The given Evas object to query hints from.
- * @param w Integer to use as the maximum width hint.
- * @param h Integer to use as the maximum height hint.
- *
- * This is not a size enforcement in any way, it's just a hint that
- * should be used whenever appropriate.
- *
- * Values @c -1 will be treated as unset hint components, when queried
- * by managers.
- *
- * Example:
- * @dontinclude evas-hints.c
- * @skip evas_object_size_hint_max_set
- * @until return
- *
- * In this example the maximum size hints change the behavior of an
- * Evas box when layouting its children. See the full @ref
- * Example_Evas_Size_Hints "example".
- *
- * @see evas_object_size_hint_max_get()
- */
-EAPI void evas_object_size_hint_max_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves the hints for an object's display mode
- *
- * @param obj The given Evas object to query hints from.
- *
- * These are hints on the display mode @p obj. This is
- * not a size enforcement in any way, it's just a hint that can be
- * used whenever appropriate.
- * This mode can be used object's display mode like commpress or expand
- *
- * @see evas_object_size_hint_display_mode_set()
- */
-EAPI Evas_Display_Mode evas_object_size_hint_display_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
-
-/**
- * Sets the hints for an object's disply mode
- *
- * @param obj The given Evas object to query hints from.
- * @param dispmode to use as the display mode hint.
- *
- * This is not a size enforcement in any way, it's just a hint that
- * can be used whenever appropriate.
- *
- * @see evas_object_size_hint_display_mode_get()
- */
-EAPI void evas_object_size_hint_display_mode_set(Evas_Object *obj, Evas_Display_Mode dispmode) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves the hints for an object's optimum size.
- *
- * @param obj The given Evas object to query hints from.
- * @param w Pointer to an integer in which to store the requested width.
- * @param h Pointer to an integer in which to store the requested height.
- *
- * These are hints on the optimum sizes @p obj should have. This is
- * not a size enforcement in any way, it's just a hint that should be
- * used whenever appropriate.
- *
- * @note Use @c NULL pointers on the hint components you're not
- * interested in: they'll be ignored by the function.
- *
- * @see evas_object_size_hint_request_set()
- */
-EAPI void evas_object_size_hint_request_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
-
-/**
- * Sets the hints for an object's optimum size.
- *
- * @param obj The given Evas object to query hints from.
- * @param w Integer to use as the preferred width hint.
- * @param h Integer to use as the preferred height hint.
- *
- * This is not a size enforcement in any way, it's just a hint that
- * should be used whenever appropriate.
- *
- * Values @c 0 will be treated as unset hint components, when queried
- * by managers.
- *
- * @see evas_object_size_hint_request_get()
- */
-EAPI void evas_object_size_hint_request_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves the hints for an object's aspect ratio.
- *
- * @param obj The given Evas object to query hints from.
- * @param aspect Returns the policy/type of aspect ratio applied to @p obj.
- * @param w Pointer to an integer in which to store the aspect's width
- * ratio term.
- * @param h Pointer to an integer in which to store the aspect's
- * height ratio term.
- *
- * The different aspect ratio policies are documented in the
- * #Evas_Aspect_Control type. A container respecting these size hints
- * would @b resize its children accordingly to those policies.
- *
- * For any policy, if any of the given aspect ratio terms are @c 0,
- * the object's container should ignore the aspect and scale @p obj to
- * occupy the whole available area. If they are both positive
- * integers, that proportion will be respected, under each scaling
- * policy.
- *
- * These images illustrate some of the #Evas_Aspect_Control policies:
- *
- * @image html any-policy.png
- * @image rtf any-policy.png
- * @image latex any-policy.eps
- *
- * @image html aspect-control-none-neither.png
- * @image rtf aspect-control-none-neither.png
- * @image latex aspect-control-none-neither.eps
- *
- * @image html aspect-control-both.png
- * @image rtf aspect-control-both.png
- * @image latex aspect-control-both.eps
- *
- * @image html aspect-control-horizontal.png
- * @image rtf aspect-control-horizontal.png
- * @image latex aspect-control-horizontal.eps
- *
- * This is not a size enforcement in any way, it's just a hint that
- * should be used whenever appropriate.
- *
- * @note Use @c NULL pointers on the hint components you're not
- * interested in: they'll be ignored by the function.
- *
- * Example:
- * @dontinclude evas-aspect-hints.c
- * @skip if (strcmp(ev->key, "c") == 0)
- * @until }
- *
- * See the full @ref Example_Evas_Aspect_Hints "example".
- *
- * @see evas_object_size_hint_aspect_set()
- */
-EAPI void evas_object_size_hint_aspect_get(const Evas_Object *obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
-
-/**
- * Sets the hints for an object's aspect ratio.
- *
- * @param obj The given Evas object to query hints from.
- * @param aspect The policy/type of aspect ratio to apply to @p obj.
- * @param w Integer to use as aspect width ratio term.
- * @param h Integer to use as aspect height ratio term.
- *
- * This is not a size enforcement in any way, it's just a hint that should
- * be used whenever appropriate.
- *
- * If any of the given aspect ratio terms are @c 0,
- * the object's container will ignore the aspect and scale @p obj to
- * occupy the whole available area, for any given policy.
- *
- * @see evas_object_size_hint_aspect_get() for more information.
- */
-EAPI void evas_object_size_hint_aspect_set(Evas_Object *obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves the hints for on object's alignment.
- *
- * @param obj The given Evas object to query hints from.
- * @param x Pointer to a double in which to store the horizontal
- * alignment hint.
- * @param y Pointer to a double in which to store the vertical
- * alignment hint.
- *
- * This is not a size enforcement in any way, it's just a hint that
- * should be used whenever appropriate.
- *
- * @note Use @c NULL pointers on the hint components you're not
- * interested in: they'll be ignored by the function.
- * @note If @c obj is invalid, then the hint components will be set with 0.5
- *
- * @see evas_object_size_hint_align_set() for more information
- */
-EAPI void evas_object_size_hint_align_get(const Evas_Object *obj, double *x, double *y) EINA_ARG_NONNULL(1);
 
 /**
- * Sets the hints for an object's alignment.
- *
- * @param obj The given Evas object to query hints from.
- * @param x Double, ranging from @c 0.0 to @c 1.0 or with the
- * special value #EVAS_HINT_FILL, to use as horizontal alignment hint.
- * @param y Double, ranging from @c 0.0 to @c 1.0 or with the
- * special value #EVAS_HINT_FILL, to use as vertical alignment hint.
- *
- * These are hints on how to align an object <b>inside the boundaries
- * of a container/manager</b>. Accepted values are in the @c 0.0 to @c
- * 1.0 range, with the special value #EVAS_HINT_FILL used to specify
- * "justify" or "fill" by some users. In this case, maximum size hints
- * should be enforced with higher priority, if they are set. Also, any
- * padding hint set on objects should add up to the alignment space on
- * the final scene composition.
- *
- * See documentation of possible users: in Evas, they are the @ref
- * Evas_Object_Box "box" and @ref Evas_Object_Table "table" smart
- * objects.
- *
- * For the horizontal component, @c 0.0 means to the left, @c 1.0
- * means to the right. Analogously, for the vertical component, @c 0.0
- * to the top, @c 1.0 means to the bottom.
- *
- * See the following figure:
- *
- * @image html alignment-hints.png
- * @image rtf alignment-hints.png
- * @image latex alignment-hints.eps
- *
- * This is not a size enforcement in any way, it's just a hint that
- * should be used whenever appropriate.
- *
- * @note Default alignment hint values are 0.5, for both axis.
- *
- * Example:
- * @dontinclude evas-hints.c
- * @skip evas_object_size_hint_align_set
- * @until return
- *
- * In this example the alignment hints change the behavior of an Evas
- * box when layouting its children. See the full @ref
- * Example_Evas_Size_Hints "example".
- *
- * @see evas_object_size_hint_align_get()
- * @see evas_object_size_hint_max_set()
- * @see evas_object_size_hint_padding_set()
- */
-EAPI void evas_object_size_hint_align_set(Evas_Object *obj, double x, double y) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves the hints for an object's weight.
- *
- * @param obj The given Evas object to query hints from.
- * @param x Pointer to a double in which to store the horizontal weight.
- * @param y Pointer to a double in which to store the vertical weight.
- *
- * Accepted values are zero or positive values. Some users might use
- * this hint as a boolean, but some might consider it as a @b
- * proportion, see documentation of possible users, which in Evas are
- * the @ref Evas_Object_Box "box" and @ref Evas_Object_Table "table"
- * smart objects.
- *
- * This is not a size enforcement in any way, it's just a hint that
- * should be used whenever appropriate.
- *
- * @note Use @c NULL pointers on the hint components you're not
- * interested in: they'll be ignored by the function.
- * @note If @c obj is invalid, then the hint components will be set with 0.0
- *
- * @see evas_object_size_hint_weight_set() for an example
- */
-EAPI void evas_object_size_hint_weight_get(const Evas_Object *obj, double *x, double *y) EINA_ARG_NONNULL(1);
-
-/**
- * Sets the hints for an object's weight.
- *
- * @param obj The given Evas object to query hints from.
- * @param x Nonnegative double value to use as horizontal weight hint.
- * @param y Nonnegative double value to use as vertical weight hint.
- *
- * This is not a size enforcement in any way, it's just a hint that
- * should be used whenever appropriate.
- *
- * This is a hint on how a container object should @b resize a given
- * child within its area. Containers may adhere to the simpler logic
- * of just expanding the child object's dimensions to fit its own (see
- * the #EVAS_HINT_EXPAND helper weight macro) or the complete one of
- * taking each child's weight hint as real @b weights to how much of
- * its size to allocate for them in each axis. A container is supposed
- * to, after @b normalizing the weights of its children (with weight
- * hints), distribute the space it has to layout them by those factors
- * -- most weighted children get larger in this process than the least
- * ones.
- *
- * Example:
- * @dontinclude evas-hints.c
- * @skip evas_object_size_hint_weight_set
- * @until return
- *
- * In this example the weight hints change the behavior of an Evas box
- * when layouting its children. See the full @ref
- * Example_Evas_Size_Hints "example".
- *
- * @note Default weight hint values are 0.0, for both axis.
- *
- * @see evas_object_size_hint_weight_get() for more information
- */
-EAPI void evas_object_size_hint_weight_set(Evas_Object *obj, double x, double y) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves the hints for an object's padding space.
- *
- * @param obj The given Evas object to query hints from.
- * @param l Pointer to an integer in which to store left padding.
- * @param r Pointer to an integer in which to store right padding.
- * @param t Pointer to an integer in which to store top padding.
- * @param b Pointer to an integer in which to store bottom padding.
- *
- * Padding is extra space an object takes on each of its delimiting
- * rectangle sides, in canvas units. This space will be rendered
- * transparent, naturally, as in the following figure:
- *
- * @image html padding-hints.png
- * @image rtf padding-hints.png
- * @image latex padding-hints.eps
- *
- * This is not a size enforcement in any way, it's just a hint that
- * should be used whenever appropriate.
- *
- * @note Use @c NULL pointers on the hint components you're not
- * interested in: they'll be ignored by the function.
- *
- * Example:
- * @dontinclude evas-hints.c
- * @skip evas_object_size_hint_padding_set
- * @until return
- *
- * In this example the padding hints change the behavior of an Evas box
- * when layouting its children. See the full @ref
- * Example_Evas_Size_Hints "example".
- *
- * @see evas_object_size_hint_padding_set()
- */
-EAPI void evas_object_size_hint_padding_get(const Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) EINA_ARG_NONNULL(1);
-
-/**
- * Sets the hints for an object's padding space.
- *
- * @param obj The given Evas object to query hints from.
- * @param l Integer to specify left padding.
- * @param r Integer to specify right padding.
- * @param t Integer to specify top padding.
- * @param b Integer to specify bottom padding.
- *
- * This is not a size enforcement in any way, it's just a hint that
- * should be used whenever appropriate.
- *
- * @see evas_object_size_hint_padding_get() for more information
- */
-EAPI void evas_object_size_hint_padding_set(Evas_Object *obj, Evas_Coord l, Evas_Coord r, Evas_Coord t, Evas_Coord b) EINA_ARG_NONNULL(1);
-/**
  * @}
  */
 
@@ -3261,268 +2058,98 @@ EAPI void evas_object_size_hint_padding_set(Evas_Object *obj, Evas_Coord l, Evas
  */
 
 /**
- * Set an attached data pointer to an object with a given string key.
- *
- * @param obj The object to attach the data pointer to
- * @param key The string key for the data to access it
- * @param data The pointer to the data to be attached
- *
- * This attaches the pointer @p data to the object @p obj, given the
- * access string @p key. This pointer will stay "hooked" to the object
- * until a new pointer with the same string key is attached with
- * evas_object_data_set() or it is deleted with
- * evas_object_data_del(). On deletion of the object @p obj, the
- * pointers will not be accessible from the object anymore.
- *
- * You can find the pointer attached under a string key using
- * evas_object_data_get(). It is the job of the calling application to
- * free any data pointed to by @p data when it is no longer required.
- *
- * If @p data is @c NULL, the old value stored at @p key will be
- * removed but no new value will be stored. This is synonymous with
- * calling evas_object_data_del() with @p obj and @p key.
- *
- * @note This function is very handy when you have data associated
- * specifically to an Evas object, being of use only when dealing with
- * it. Than you don't have the burden to a pointer to it elsewhere,
- * using this family of functions.
- *
- * Example:
- *
- * @code
- * int *my_data;
- * extern Evas_Object *obj;
- *
- * my_data = malloc(500);
- * evas_object_data_set(obj, "name_of_data", my_data);
- * printf("The data that was attached was %p\n", evas_object_data_get(obj, "name_of_data"));
- * @endcode
- */
-EAPI void                     evas_object_data_set(Evas_Object *obj, const char *key, const void *data) EINA_ARG_NONNULL(1, 2);
-
-/**
- * Return an attached data pointer on an Evas object by its given
- * string key.
- *
- * @param obj The object to which the data was attached
- * @param key The string key the data was stored under
- * @return The data pointer stored, or @c NULL if none was stored
- *
- * This function will return the data pointer attached to the object
- * @p obj, stored using the string key @p key. If the object is valid
- * and a data pointer was stored under the given key, that pointer
- * will be returned. If this is not the case, @c NULL will be
- * returned, signifying an invalid object or a non-existent key. It is
- * possible that a @c NULL pointer was stored given that key, but this
- * situation is non-sensical and thus can be considered an error as
- * well. @c NULL pointers are never stored as this is the return value
- * if an error occurs.
- *
- * Example:
- *
- * @code
- * int *my_data;
- * extern Evas_Object *obj;
- *
- * my_data = evas_object_data_get(obj, "name_of_my_data");
- * if (my_data) printf("Data stored was %p\n", my_data);
- * else printf("No data was stored on the object\n");
- * @endcode
- */
-EAPI void                    *evas_object_data_get(const Evas_Object *obj, const char *key) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2);
-
-/**
- * Delete an attached data pointer from an object.
- *
- * @param obj The object to delete the data pointer from
- * @param key The string key the data was stored under
- * @return The original data pointer stored at @p key on @p obj
- *
- * This will remove the stored data pointer from @p obj stored under
- * @p key and return this same pointer, if actually there was data
- * there, or @c NULL, if nothing was stored under that key.
- *
- * Example:
- *
- * @code
- * int *my_data;
- * extern Evas_Object *obj;
- *
- * my_data = evas_object_data_del(obj, "name_of_my_data");
- * @endcode
- */
-EAPI void                    *evas_object_data_del(Evas_Object *obj, const char *key) EINA_ARG_NONNULL(1, 2);
-
-/**
- * Set pointer behavior.
- *
- * @param obj
- * @param setting desired behavior.
- *
- * This function has direct effect on event callbacks related to
- * mouse.
- *
- * If @p setting is EVAS_OBJECT_POINTER_MODE_AUTOGRAB, then when mouse
- * is down at this object, events will be restricted to it as source,
- * mouse moves, for example, will be emitted even if outside this
- * object area.
- *
- * If @p setting is EVAS_OBJECT_POINTER_MODE_NOGRAB, then events will
- * be emitted just when inside this object area.
- *
- * The default value is EVAS_OBJECT_POINTER_MODE_AUTOGRAB.
- *
- * @ingroup Evas_Object_Group_Extras
- */
-EAPI void                     evas_object_pointer_mode_set(Evas_Object *obj, Evas_Object_Pointer_Mode setting) EINA_ARG_NONNULL(1);
-
-/**
- * Determine how pointer will behave.
- * @param obj
- * @return pointer behavior.
- * @ingroup Evas_Object_Group_Extras
- */
-EAPI Evas_Object_Pointer_Mode evas_object_pointer_mode_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Sets whether or not the given Evas object is to be drawn anti-aliased.
- *
- * @param   obj The given Evas object.
- * @param   antialias 1 if the object is to be anti_aliased, 0 otherwise.
- * @ingroup Evas_Object_Group_Extras
- */
-EAPI void                     evas_object_anti_alias_set(Evas_Object *obj, Eina_Bool antialias) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves whether or not the given Evas object is to be drawn anti_aliased.
- * @param   obj The given Evas object.
- * @return  @c 1 if the object is to be anti_aliased.  @c 0 otherwise.
- * @ingroup Evas_Object_Group_Extras
- */
-EAPI Eina_Bool                evas_object_anti_alias_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Sets the scaling factor for an Evas object. Does not affect all
- * objects.
- *
- * @param obj The given Evas object.
- * @param scale The scaling factor. <c>1.0</c> means no scaling,
- *        default size.
- *
- * This will multiply the object's dimension by the given factor, thus
- * altering its geometry (width and height). Useful when you want
- * scalable UI elements, possibly at run time.
- *
- * @note Only text and textblock objects have scaling change
- * handlers. Other objects won't change visually on this call.
- *
- * @see evas_object_scale_get()
- *
- * @ingroup Evas_Object_Group_Extras
- */
-EAPI void                     evas_object_scale_set(Evas_Object *obj, double scale) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves the scaling factor for the given Evas object.
- *
- * @param   obj The given Evas object.
- * @return  The scaling factor.
- *
- * @ingroup Evas_Object_Group_Extras
- *
- * @see evas_object_scale_set()
- */
-EAPI double                   evas_object_scale_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Sets the render_op to be used for rendering the Evas object.
- * @param   obj The given Evas object.
- * @param   op one of the Evas_Render_Op values.
- * @ingroup Evas_Object_Group_Extras
- */
-EAPI void                     evas_object_render_op_set(Evas_Object *obj, Evas_Render_Op op) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves the current value of the operation used for rendering the Evas object.
- * @param   obj The given Evas object.
- * @return  one of the enumerated values in Evas_Render_Op.
- * @ingroup Evas_Object_Group_Extras
- */
-EAPI Evas_Render_Op           evas_object_render_op_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Set whether to use precise (usually expensive) point collision
- * detection for a given Evas object.
- *
- * @param obj The given object.
- * @param precise Whether to use precise point collision detection or
- * not. The default value is false.
+ * Set an attached data pointer to an object with a given string key.
  *
- * Use this function to make Evas treat objects' transparent areas as
- * @b not belonging to it with regard to mouse pointer events. By
- * default, all of the object's boundary rectangle will be taken in
- * account for them.
+ * @param obj The object to attach the data pointer to
+ * @param key The string key for the data to access it
+ * @param data The pointer to the data to be attached
  *
- * @warning By using precise point collision detection you'll be
- * making Evas more resource intensive.
+ * This attaches the pointer @p data to the object @p obj, given the
+ * access string @p key. This pointer will stay "hooked" to the object
+ * until a new pointer with the same string key is attached with
+ * evas_object_data_set() or it is deleted with
+ * evas_object_data_del(). On deletion of the object @p obj, the
+ * pointers will not be accessible from the object anymore.
  *
- * Example code follows.
- * @dontinclude evas-events.c
- * @skip if (strcmp(ev->key, "p") == 0)
- * @until }
+ * You can find the pointer attached under a string key using
+ * evas_object_data_get(). It is the job of the calling application to
+ * free any data pointed to by @p data when it is no longer required.
  *
- * See the full example @ref Example_Evas_Events "here".
+ * If @p data is @c NULL, the old value stored at @p key will be
+ * removed but no new value will be stored. This is synonymous with
+ * calling evas_object_data_del() with @p obj and @p key.
  *
- * @see evas_object_precise_is_inside_get()
- * @ingroup Evas_Object_Group_Extras
- */
-EAPI void                     evas_object_precise_is_inside_set(Evas_Object *obj, Eina_Bool precise) EINA_ARG_NONNULL(1);
-
-/**
- * Determine whether an object is set to use precise point collision
- * detection.
+ * @note This function is very handy when you have data associated
+ * specifically to an Evas object, being of use only when dealing with
+ * it. Than you don't have the burden to a pointer to it elsewhere,
+ * using this family of functions.
  *
- * @param obj The given object.
- * @return whether @p obj is set to use precise point collision
- * detection or not The default value is false.
+ * Example:
  *
- * @see evas_object_precise_is_inside_set() for an example
+ * @code
+ * int *my_data;
+ * extern Evas_Object *obj;
  *
- * @ingroup Evas_Object_Group_Extras
+ * my_data = malloc(500);
+ * evas_object_data_set(obj, "name_of_data", my_data);
+ * printf("The data that was attached was %p\n", evas_object_data_get(obj, "name_of_data"));
+ * @endcode
  */
-EAPI Eina_Bool                evas_object_precise_is_inside_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+EAPI void                     evas_object_data_set(Evas_Object *obj, const char *key, const void *data) EINA_ARG_NONNULL(1, 2);
 
 /**
- * Set a hint flag on the given Evas object that it's used as a "static
- * clipper".
+ * Return an attached data pointer on an Evas object by its given
+ * string key.
+ *
+ * @param obj The object to which the data was attached
+ * @param key The string key the data was stored under
+ * @return The data pointer stored, or @c NULL if none was stored
  *
- * @param obj The given object.
- * @param is_static_clip @c EINA_TRUE if it's to be used as a static
- * clipper, @c EINA_FALSE otherwise.
+ * This function will return the data pointer attached to the object
+ * @p obj, stored using the string key @p key. If the object is valid
+ * and a data pointer was stored under the given key, that pointer
+ * will be returned. If this is not the case, @c NULL will be
+ * returned, signifying an invalid object or a non-existent key. It is
+ * possible that a @c NULL pointer was stored given that key, but this
+ * situation is non-sensical and thus can be considered an error as
+ * well. @c NULL pointers are never stored as this is the return value
+ * if an error occurs.
  *
- * This is a hint to Evas that this object is used as a big static
- * clipper and shouldn't be moved with children and otherwise
- * considered specially. The default value for new objects is
- * @c EINA_FALSE.
+ * Example:
  *
- * @see evas_object_static_clip_get()
+ * @code
+ * int *my_data;
+ * extern Evas_Object *obj;
  *
- * @ingroup Evas_Object_Group_Extras
+ * my_data = evas_object_data_get(obj, "name_of_my_data");
+ * if (my_data) printf("Data stored was %p\n", my_data);
+ * else printf("No data was stored on the object\n");
+ * @endcode
  */
-EAPI void                     evas_object_static_clip_set(Evas_Object *obj, Eina_Bool is_static_clip) EINA_ARG_NONNULL(1);
+EAPI void                    *evas_object_data_get(const Evas_Object *obj, const char *key) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2);
 
 /**
- * Get the "static clipper" hint flag for a given Evas object.
+ * Delete an attached data pointer from an object.
  *
- * @param obj The given object.
- * @return @c EINA_TRUE if it's set as a static clipper,
- * @c EINA_FALSE otherwise.
+ * @param obj The object to delete the data pointer from
+ * @param key The string key the data was stored under
+ * @return The original data pointer stored at @p key on @p obj
  *
- * @see evas_object_static_clip_set() for more details
+ * This will remove the stored data pointer from @p obj stored under
+ * @p key and return this same pointer, if actually there was data
+ * there, or @c NULL, if nothing was stored under that key.
  *
- * @ingroup Evas_Object_Group_Extras
+ * Example:
+ *
+ * @code
+ * int *my_data;
+ * extern Evas_Object *obj;
+ *
+ * my_data = evas_object_data_del(obj, "name_of_my_data");
+ * @endcode
  */
-EAPI Eina_Bool                evas_object_static_clip_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+EAPI void                    *evas_object_data_del(Evas_Object *obj, const char *key) EINA_ARG_NONNULL(1, 2);
+
 /**
  * @}
  */
@@ -5340,10 +3967,10 @@ EAPI Evas_Object *evas_object_polygon_add(Evas *e) EINA_WARN_UNUSED_RESULT EINA_
  */
 
 /* @since 1.2 */
-EAPI void         evas_object_is_frame_object_set(Evas_Object *obj, Eina_Bool is_frame);
+//EAPI void         evas_object_is_frame_object_set(Evas_Object *obj, Eina_Bool is_frame);
 
 /* @since 1.2 */
-EAPI Eina_Bool    evas_object_is_frame_object_get(const Evas_Object *obj);
+//EAPI Eina_Bool    evas_object_is_frame_object_get(const Evas_Object *obj);
 
 /**
  * @}
@@ -5419,134 +4046,6 @@ EAPI void         evas_object_smart_member_add(Evas_Object *obj, Evas_Object *sm
 EAPI void         evas_object_smart_member_del(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
 /**
- * Retrieves the list of the member objects of a given Evas smart
- * object
- *
- * @param obj the smart object to get members from
- * @return Returns the list of the member objects of @p obj.
- *
- * The returned list should be freed with @c eina_list_free() when you
- * no longer need it.
- *
- * @since 1.7 This function will return @c NULL when a non-smart object is passed.
- *
- * @see evas_object_smart_member_add()
- * @see evas_object_smart_member_del()
- * @see evas_object_smart_iterator_new()
- */
-//EAPI Eina_List   *evas_object_smart_members_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves an iterator of the member objects of a given Evas smart
- * object
- *
- * @param obj the smart object to get members from
- * @return Returns the iterator of the member objects of @p obj.
- *
- * @since 1.8
- *
- * @see evas_object_smart_member_add()
- * @see evas_object_smart_member_del()
- * @see evas_object_smart_members_get()
- */
-//EAPI Eina_Iterator   *evas_object_smart_iterator_new(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Gets the parent smart object of a given Evas object, if it has one.
- *
- * @param obj the Evas object you want to get the parent smart object
- * from
- * @return Returns the parent smart object of @a obj or @c NULL, if @a
- * obj is not a smart member of any
- *
- * @ingroup Evas_Smart_Object_Group
- */
-EAPI Evas_Object *evas_object_smart_parent_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Checks whether a given smart object or any of its smart object
- * parents is of a given smart class.
- *
- * @param obj An Evas smart object to check the type of
- * @param type The @b name (type) of the smart class to check for
- * @return @c EINA_TRUE, if @a obj or any of its parents is of type @a
- * type, @c EINA_FALSE otherwise
- *
- * If @p obj is not a smart object, this call will fail
- * immediately.
- *
- * This function supports Eo and legacy inheritance mechanisms. However,
- * it is recommended to use eo_isa instead if your object is using Eo from
- * top to bottom.
- *
- * The checks use smart classes names and <b>string
- * comparison</b>. There is a version of this same check using
- * <b>pointer comparison</b>, since a smart class' name is a single
- * string in Evas.
- *
- * @see evas_object_smart_type_check_ptr()
- * @see eo_isa
- *
- * @ingroup Evas_Smart_Object_Group
- */
-EAPI Eina_Bool    evas_object_smart_type_check(const Evas_Object *obj, const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2);
-
-/**
- * Checks whether a given smart object or any of its smart object
- * parents is of a given smart class, <b>using pointer comparison</b>.
- *
- * @param obj An Evas smart object to check the type of
- * @param type The type (name string) to check for. Must be the name
- * @return @c EINA_TRUE, if @a obj or any of its parents is of type @a
- * type, @c EINA_FALSE otherwise
- *
- * @see evas_object_smart_type_check() for more details
- * @see eo_isa
- *
- * @ingroup Evas_Smart_Object_Group
- */
-EAPI Eina_Bool    evas_object_smart_type_check_ptr(const Evas_Object *obj, const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2);
-
-/**
- * Get the #Evas_Smart from which @p obj smart object was created.
- *
- * @param obj a smart object
- * @return the #Evas_Smart handle or @c NULL, on errors
- *
- * @ingroup Evas_Smart_Object_Group
- */
-//EAPI Evas_Smart  *evas_object_smart_smart_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Retrieve user data stored on a given smart object.
- *
- * @param obj The smart object's handle
- * @return A pointer to data stored using
- *         evas_object_smart_data_set(), or @c NULL, if none has been
- *         set.
- *
- * @see evas_object_smart_data_set()
- *
- * @ingroup Evas_Smart_Object_Group
- */
-EAPI void        *evas_object_smart_data_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Store a pointer to user data for a given smart object.
- *
- * @param obj The smart object's handle
- * @param data A pointer to user data
- *
- * This data is stored @b independently of the one set by
- * evas_object_data_set(), naturally.
- *
- * @see evas_object_smart_data_get()
- *
- * @ingroup Evas_Smart_Object_Group
- */
-//EAPI void         evas_object_smart_data_set(Evas_Object *obj, void *data) EINA_ARG_NONNULL(1);
-
-/**
  * Add (register) a callback function to the smart event specified by
  * @p event on the smart object @p obj.
  *
@@ -5678,93 +4177,6 @@ EAPI void        *evas_object_smart_callback_del_full(Evas_Object *obj, const ch
 EAPI void         evas_object_smart_callback_call(Evas_Object *obj, const char *event, void *event_info) EINA_ARG_NONNULL(1, 2);
 
 /**
- * Set an smart object @b instance's smart callbacks descriptions.
- *
- * @param obj A smart object
- * @param descriptions @c NULL terminated array with
- * #Evas_Smart_Cb_Description descriptions. Array elements won't be
- * modified at run time, but references to them and their contents
- * will be made, so this array should be kept alive during the whole
- * object's lifetime.
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure.
- *
- * These descriptions are hints to be used by introspection and are
- * not enforced in any way.
- *
- * It will not be checked if instance callbacks descriptions have the
- * same name as respective possibly registered in the smart object
- * @b class. Both are kept in different arrays and users of
- * evas_object_smart_callbacks_descriptions_get() should handle this
- * case as they wish.
- *
- * @note Becase @p descriptions must be @c NULL terminated, and
- *        because a @c NULL name makes little sense, too,
- *        Evas_Smart_Cb_Description::name must @b not be @c NULL.
- *
- * @note While instance callbacks descriptions are possible, they are
- *       @b not recommended. Use @b class callbacks descriptions
- *       instead as they make you smart object user's life simpler and
- *       will use less memory, as descriptions and arrays will be
- *       shared among all instances.
- *
- * @ingroup Evas_Smart_Object_Group
- */
-//EAPI Eina_Bool    evas_object_smart_callbacks_descriptions_set(Evas_Object *obj, const Evas_Smart_Cb_Description *descriptions) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieve an smart object's know smart callback descriptions (both
- * instance and class ones).
- *
- * @param obj The smart object to get callback descriptions from.
- * @param class_descriptions Where to store class callbacks
- *        descriptions array, if any is known. If no descriptions are
- *        known, @c NULL is returned
- * @param class_count Returns how many class callbacks descriptions
- *        are known.
- * @param instance_descriptions Where to store instance callbacks
- *        descriptions array, if any is known. If no descriptions are
- *        known, @c NULL is returned.
- * @param instance_count Returns how many instance callbacks
- *        descriptions are known.
- *
- * This call searches for registered callback descriptions for both
- * instance and class of the given smart object. These arrays will be
- * sorted by Evas_Smart_Cb_Description::name and also @c NULL
- * terminated, so both @a class_count and @a instance_count can be
- * ignored, if the caller wishes so. The terminator @c NULL is not
- * counted in these values.
- *
- * @note If just class descriptions are of interest, try
- *       evas_smart_callbacks_descriptions_get() instead.
- *
- * @note Use @c NULL pointers on the descriptions/counters you're not
- * interested in: they'll be ignored by the function.
- *
- * @see evas_smart_callbacks_descriptions_get()
- *
- * @ingroup Evas_Smart_Object_Group
- */
-//EAPI void         evas_object_smart_callbacks_descriptions_get(const Evas_Object *obj, const Evas_Smart_Cb_Description ***class_descriptions, unsigned int *class_count, const Evas_Smart_Cb_Description ***instance_descriptions, unsigned int *instance_count) EINA_ARG_NONNULL(1);
-
-/**
- * Find callback description for callback called @a name.
- *
- * @param obj the smart object.
- * @param name name of desired callback, must @b not be @c NULL.  The
- *        search have a special case for @a name being the same
- *        pointer as registered with Evas_Smart_Cb_Description, one
- *        can use it to avoid excessive use of strcmp().
- * @param class_description pointer to return class description or
- *        @c NULL if not found. If parameter is @c NULL, no search will
- *        be done on class descriptions.
- * @param instance_description pointer to return instance description
- *        or @c NULL if not found. If parameter is @c NULL, no search
- *        will be done on instance descriptions.
- * @return reference to description if found, @c NULL if not found.
- */
-//EAPI void         evas_object_smart_callback_description_find(const Evas_Object *obj, const char *name, const Evas_Smart_Cb_Description **class_description, const Evas_Smart_Cb_Description **instance_description) EINA_ARG_NONNULL(1, 2);
-
-/**
  * Retrieve an Evas smart object's interface, by name string pointer.
  *
  * @param obj An Evas smart object.
@@ -5793,99 +4205,6 @@ EAPI const void       *evas_object_smart_interface_get(const Evas_Object *obj, c
 EAPI void             *evas_object_smart_interface_data_get(const Evas_Object *obj, const Evas_Smart_Interface *iface);
 
 /**
- * Mark smart object as changed, dirty.
- *
- * @param obj The given Evas smart object
- *
- * This will flag the given object as needing recalculation,
- * forcefully. As an effect, on the next rendering cycle its @b
- * calculate() (see #Evas_Smart_Class) smart function will be called.
- *
- * @see evas_object_smart_need_recalculate_set().
- * @see evas_object_smart_calculate().
- *
- * @ingroup Evas_Smart_Object_Group
- */
-//EAPI void         evas_object_smart_changed(Evas_Object *obj) EINA_ARG_NONNULL(1);
-
-/**
- * Set or unset the flag signalling that a given smart object needs to
- * get recalculated.
- *
- * @param obj the smart object
- * @param value whether one wants to set (@c EINA_TRUE) or to unset
- * (@c EINA_FALSE) the flag.
- *
- * If this flag is set, then the @c calculate() smart function of @p
- * obj will be called, if one is provided, during rendering phase of
- * Evas (see evas_render()), after which this flag will be
- * automatically unset.
- *
- * If that smart function is not provided for the given object, this
- * flag will be left unchanged.
- *
- * @note just setting this flag will not make the canvas' whole scene
- *       dirty, by itself, and evas_render() will have no effect. To
- *       force that, use evas_object_smart_changed(), that will also
- *       call this function automatically, with @c EINA_TRUE as parameter.
- *
- * @see evas_object_smart_need_recalculate_get()
- * @see evas_object_smart_calculate()
- * @see evas_smart_objects_calculate()
- *
- * @ingroup Evas_Smart_Object_Group
- */
-//EAPI void         evas_object_smart_need_recalculate_set(Evas_Object *obj, Eina_Bool value) EINA_ARG_NONNULL(1);
-
-/**
- * Get the value of the flag signalling that a given smart object needs to
- * get recalculated.
- *
- * @param obj the smart object
- * @return if flag is set or not.
- *
- * @note this flag will be unset during the rendering phase, when the
- *       @c calculate() smart function is called, if one is provided.
- *       If it's not provided, then the flag will be left unchanged
- *       after the rendering phase.
- *
- * @see evas_object_smart_need_recalculate_set(), for more details
- *
- * @ingroup Evas_Smart_Object_Group
- */
-//EAPI Eina_Bool    evas_object_smart_need_recalculate_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Call the @b calculate() smart function immediately on a given smart
- * object.
- *
- * @param obj the smart object's handle
- *
- * This will force immediate calculations (see #Evas_Smart_Class)
- * needed for renderization of this object and, besides, unset the
- * flag on it telling it needs recalculation for the next rendering
- * phase.
- *
- * @see evas_object_smart_need_recalculate_set()
- *
- * @ingroup Evas_Smart_Object_Group
- */
-//EAPI void         evas_object_smart_calculate(Evas_Object *obj) EINA_ARG_NONNULL(1);
-
-/**
- * Call user-provided @c calculate() smart functions and unset the
- * flag signalling that the object needs to get recalculated to @b all
- * smart objects in the canvas.
- *
- * @param e The canvas to calculate all smart objects in
- *
- * @see evas_object_smart_need_recalculate_set()
- *
- * @ingroup Evas_Smart_Object_Group
- */
-EAPI void         evas_smart_objects_calculate(Evas *e);
-
-/**
  * This gets the internal counter that counts the number of smart calculations
  *
  * @param e The canvas to get the calculate counter from
@@ -5903,24 +4222,6 @@ EAPI void         evas_smart_objects_calculate(Evas *e);
  */
 EAPI int          evas_smart_objects_calculate_count_get(const Evas *e);
 
-/**
- * Moves all children objects of a given smart object relative to a
- * given offset.
- *
- * @param obj the smart object.
- * @param dx horizontal offset (delta).
- * @param dy vertical offset (delta).
- *
- * This will make each of @p obj object's children to move, from where
- * they before, with those delta values (offsets) on both directions.
- *
- * @note This is most useful on custom smart @c move() functions.
- *
- * @note Clipped smart objects already make use of this function on
- * their @c move() smart function definition.
- */
-EAPI void         evas_object_smart_move_children_relative(Evas_Object *obj, Evas_Coord dx, Evas_Coord dy) EINA_ARG_NONNULL(1);
-
 #include "canvas/evas_smart.eo.legacy.h"
 /**
  * @}
@@ -7058,82 +5359,6 @@ EAPI void                 evas_key_lock_off(Evas *e, const char *keyname) EINA_A
 EAPI Evas_Modifier_Mask   evas_key_modifier_mask_get(const Evas *e, const char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2);
 
 /**
- * Requests @p keyname key events be directed to @p obj.
- *
- * @param obj the object to direct @p keyname events to.
- * @param keyname the key to request events for.
- * @param modifiers a mask of modifiers that must be present to
- * trigger the event.
- * @param not_modifiers a mask of modifiers that must @b not be present
- * to trigger the event.
- * @param exclusive request that the @p obj is the only object
- * receiving the @p keyname events.
- * @return @c EINA_TRUE, if the call succeeded, @c EINA_FALSE otherwise.
- *
- * Key grabs allow one or more objects to receive key events for
- * specific key strokes even if other objects have focus. Whenever a
- * key is grabbed, only the objects grabbing it will get the events
- * for the given keys.
- *
- * @p keyname is a platform dependent symbolic name for the key
- * pressed (see @ref Evas_Keys for more information).
- *
- * @p modifiers and @p not_modifiers are bit masks of all the
- * modifiers that must and mustn't, respectively, be pressed along
- * with @p keyname key in order to trigger this new key
- * grab. Modifiers can be things such as Shift and Ctrl as well as
- * user defined types via evas_key_modifier_add(). Retrieve them with
- * evas_key_modifier_mask_get() or use @c 0 for empty masks.
- *
- * @p exclusive will make the given object the only one permitted to
- * grab the given key. If given @c EINA_TRUE, subsequent calls on this
- * function with different @p obj arguments will fail, unless the key
- * is ungrabbed again.
- *
- * Example code follows.
- * @dontinclude evas-events.c
- * @skip if (d.focus)
- * @until else
- *
- * See the full example @ref Example_Evas_Events "here".
- *
- * @warning Providing impossible modifier sets creates undefined behavior
- *
- * @see evas_object_key_ungrab
- * @see evas_object_focus_set
- * @see evas_object_focus_get
- * @see evas_focus_get
- * @see evas_key_modifier_add
- */
-EAPI Eina_Bool            evas_object_key_grab(Evas_Object *obj, const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers, Eina_Bool exclusive) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2);
-
-/**
- * Removes the grab on @p keyname key events by @p obj.
- *
- * @param obj the object that has an existing key grab.
- * @param keyname the key the grab is set for.
- * @param modifiers a mask of modifiers that must be present to
- * trigger the event.
- * @param not_modifiers a mask of modifiers that must not not be
- * present to trigger the event.
- *
- * Removes a key grab on @p obj if @p keyname, @p modifiers, and @p
- * not_modifiers match.
- *
- * Example code follows.
- * @dontinclude evas-events.c
- * @skip got here by key grabs
- * @until }
- *
- * See the full example @ref Example_Evas_Events "here".
- *
- * @see evas_object_key_grab
- * @see evas_object_focus_set
- * @see evas_object_focus_get
- * @see evas_focus_get
- */
-EAPI void                 evas_object_key_ungrab(Evas_Object *obj, const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers) EINA_ARG_NONNULL(1, 2);
-/**
  * @}
  */
 
index b7166ed..948f35a 100644 (file)
@@ -90,6 +90,7 @@ abstract Evas_Object (Eo_Base, Evas_Common_Interface)
       type {
          set {
             /*@ Sets the type of the given Evas object. */
+            legacy null;
          }
          get {
             /*@
@@ -221,6 +222,10 @@ abstract Evas_Object (Eo_Base, Evas_Common_Interface)
 
             If @p freeze is @c EINA_FALSE, events will be processed on that
             object as normal.
+            
+            @warning If you block only key/mouse up events with this API, we won't
+                     guarantee the state of the object, that only had key/mouse down
+                     events, will be.
 
             @see evas_object_freeze_events_get()
             @see evas_object_pass_events_set()
@@ -732,6 +737,7 @@ abstract Evas_Object (Eo_Base, Evas_Common_Interface)
          }
          get {
             /*@ Retrieves the (rectangular) size of the given Evas object. */
+            legacy null;
          }
          values {
             Evas_Coord w; /*@ in */
@@ -1017,6 +1023,7 @@ abstract Evas_Object (Eo_Base, Evas_Common_Interface)
          }
          get {
             /*@ Retrieves the position of the given Evas object. */
+            legacy null;
          }
          values {
             Evas_Coord x; /*@ in */