Eolian: Legacy integration of Evas class
authorYossi Kantor <yossi.kantor@samsung.com>
Thu, 3 Apr 2014 15:15:14 +0000 (18: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

index 69e274b..3617f4c 100644 (file)
@@ -39,6 +39,7 @@ BUILT_SOURCES += \
                  lib/evas/canvas/evas_object.eo.legacy.h \
                  lib/evas/canvas/evas.eo.c \
                  lib/evas/canvas/evas.eo.h \
+                 lib/evas/canvas/evas.eo.legacy.h \
                  lib/evas/canvas/evas_grid.eo.c \
                  lib/evas/canvas/evas_grid.eo.h \
                  lib/evas/canvas/evas_grid.eo.legacy.h \
@@ -135,13 +136,13 @@ nodist_installed_evascanvasheaders_DATA = \
                                         lib/evas/canvas/evas_table.eo.legacy.h \
                                         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_object.eo.legacy.h \
                                         lib/evas/canvas/evas_grid.eo.legacy.h \
                                         lib/evas/canvas/evas_image.eo.legacy.h \
                                         lib/evas/canvas/evas_out.eo.legacy.h \
-                                        lib/evas/canvas/evas_box.eo.legacy.h
+                                        lib/evas/canvas/evas_box.eo.legacy.h \
+                                        lib/evas/canvas/evas.eo.legacy.h
 
 noinst_HEADERS = \
 lib/evas/include/evas_inline.x \
index 822a772..deb0a61 100644 (file)
@@ -44,706 +44,13 @@ EAPI Evas             *evas_new(void) EINA_WARN_UNUSED_RESULT EINA_MALLOC;
  */
 EAPI void              evas_free(Evas *e)  EINA_ARG_NONNULL(1);
 
-/**
- * Inform to the evas that it got the focus.
- *
- * @param e The evas to change information.
- * @ingroup Evas_Canvas
- */
-EAPI void              evas_focus_in(Evas *e);
-
-/**
- * Inform to the evas that it lost the focus.
- *
- * @param e The evas to change information.
- * @ingroup Evas_Canvas
- */
-EAPI void              evas_focus_out(Evas *e);
-
-/**
- * Get the focus state known by the given evas
- *
- * @param e The evas to query information.
- * @return @c EINA_TRUE if it got the focus, @c EINA_FALSE otherwise.
- * @ingroup Evas_Canvas
- */
-EAPI Eina_Bool         evas_focus_state_get(const Evas *e);
-
-/**
- * Push the nochange flag up 1
- *
- * This tells evas, that while the nochange flag is greater than 0, do not
- * mark objects as "changed" when making changes.
- *
- * @param e The evas to change information.
- * @ingroup Evas_Canvas
- */
-EAPI void              evas_nochange_push(Evas *e);
-
-/**
- * Pop the nochange flag down 1
- *
- * This tells evas, that while the nochange flag is greater than 0, do not
- * mark objects as "changed" when making changes.
- *
- * @param e The evas to change information.
- * @ingroup Evas_Canvas
- */
-EAPI void              evas_nochange_pop(Evas *e);
-
-/**
- * Attaches a specific pointer to the evas for fetching later
- *
- * @param e The canvas to attach the pointer to
- * @param data The pointer to attach
- * @ingroup Evas_Canvas
- */
-EAPI void              evas_data_attach_set(Evas *e, void *data) EINA_ARG_NONNULL(1);
-
-/**
- * Returns the pointer attached by evas_data_attach_set()
- *
- * @param e The canvas to attach the pointer to
- * @return The pointer attached
- * @ingroup Evas_Canvas
- */
-EAPI void             *evas_data_attach_get(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Add a damage rectangle.
- *
- * @param e The given canvas pointer.
- * @param x The rectangle's left position.
- * @param y The rectangle's top position.
- * @param w The rectangle's width.
- * @param h The rectangle's height.
- *
- * This is the function by which one tells evas that a part of the
- * canvas has to be repainted.
- *
- * @note All newly created Evas rectangles get the default color values of 255 255 255 255 (opaque white).
- *
- * @ingroup Evas_Canvas
- */
-EAPI void              evas_damage_rectangle_add(Evas *e, int x, int y, int w, int h) EINA_ARG_NONNULL(1);
-
-/**
- * Add an "obscured region" to an Evas canvas.
- *
- * @param e The given canvas pointer.
- * @param x The rectangle's top left corner's horizontal coordinate.
- * @param y The rectangle's top left corner's vertical coordinate
- * @param w The rectangle's width.
- * @param h The rectangle's height.
- *
- * This is the function by which one tells an Evas canvas that a part
- * of it <b>must not</b> be repainted. The region must be
- * rectangular and its coordinates inside the canvas viewport are
- * passed in the call. After this call, the region specified won't
- * participate in any form in Evas' calculations and actions during
- * its rendering updates, having its displaying content frozen as it
- * was just after this function took place.
- *
- * We call it "obscured region" because the most common use case for
- * this rendering (partial) freeze is something else (most probably
- * other canvas) being on top of the specified rectangular region,
- * thus shading it completely from the user's final scene in a
- * display. To avoid unnecessary processing, one should indicate to the
- * obscured canvas not to bother about the non-important area.
- *
- * The majority of users won't have to worry about this function, as
- * they'll be using just one canvas in their applications, with
- * nothing inset or on top of it in any form.
- *
- * To make this region one that @b has to be repainted again, call the
- * function evas_obscured_clear().
- *
- * @note This is a <b>very low level function</b>, which most of
- * Evas' users wouldn't care about.
- *
- * @note This function does @b not flag the canvas as having its state
- * changed. If you want to re-render it afterwards expecting new
- * contents, you have to add "damage" regions yourself (see
- * evas_damage_rectangle_add()).
- *
- * @see evas_obscured_clear()
- * @see evas_render_updates()
- *
- * Example code follows.
- * @dontinclude evas-events.c
- * @skip add an obscured
- * @until evas_obscured_clear(evas);
- *
- * In that example, pressing the "Ctrl" and "o" keys will impose or
- * remove an obscured region in the middle of the canvas. You'll get
- * the same contents at the time the key was pressed, if toggling it
- * on, until you toggle it off again (make sure the animation is
- * running on to get the idea better). See the full @ref
- * Example_Evas_Events "example".
- *
- * @ingroup Evas_Canvas
- */
-EAPI void              evas_obscured_rectangle_add(Evas *e, int x, int y, int w, int h) EINA_ARG_NONNULL(1);
-
-/**
- * Remove all "obscured regions" from an Evas canvas.
- *
- * @param e The given canvas pointer.
- *
- * This function removes all the rectangles from the obscured regions
- * list of the canvas @p e. It takes obscured areas added with
- * evas_obscured_rectangle_add() and make them again a regions that @b
- * have to be repainted on rendering updates.
- *
- * @note This is a <b>very low level function</b>, which most of
- * Evas' users wouldn't care about.
- *
- * @note This function does @b not flag the canvas as having its state
- * changed. If you want to re-render it afterwards expecting new
- * contents, you have to add "damage" regions yourself (see
- * evas_damage_rectangle_add()).
- *
- * @see evas_obscured_rectangle_add() for an example
- * @see evas_render_updates()
- *
- * @ingroup Evas_Canvas
- */
-EAPI void              evas_obscured_clear(Evas *e) EINA_ARG_NONNULL(1);
-
-/**
- * Render the given Evas canvas asynchronously.
- *
- * @param e The canvas to render.
- * @param func Optional function to call with the list of updated areas.
- * @param data User data to pass to @p func.
- *
- * @return EINA_TRUE if the canvas will render, EINA_FALSE otherwise.
- *
- * This function only returns EINA_TRUE when a frame will be rendered. If the
- * previous frame is still rendering, EINA_FALSE will be returned so the users
- * know not to wait for the updates callback and just return to their main
- * loop.
- *
- * If a @p func callback is given, a list of updated areas will be generated
- * and the function will be called from the main thread after the rendered
- * frame is flushed to the screen. The resulting list should be freed with
- * @f evas_render_updates_free().
- * The list is given in the @p event_info parameter of the callback function.
- *
- * @ingroup Evas_Canvas
- * @since 1.8
- */
-EAPI Eina_Bool         evas_render_async(Evas *e) EINA_ARG_NONNULL(1);
-
-/**
- * Force immediate renderization of the given Evas canvas.
- *
- * @param e The given canvas pointer.
- * @return A newly allocated list of updated rectangles of the canvas
- *        (@c Eina_Rectangle structs). Free this list with
- *        evas_render_updates_free().
- *
- * This function forces an immediate renderization update of the given
- * canvas @p e.
- *
- * @note This is a <b>very low level function</b>, which most of
- * Evas' users wouldn't care about. One would use it, for example, to
- * grab an Evas' canvas update regions and paint them back, using the
- * canvas' pixmap, on a displaying system working below Evas.
- *
- * @note Evas is a stateful canvas. If no operations changing its
- * state took place since the last rendering action, you won't see no
- * changes and this call will be a no-op.
- *
- * Example code follows.
- * @dontinclude evas-events.c
- * @skip add an obscured
- * @until d.obscured = !d.obscured;
- *
- * See the full @ref Example_Evas_Events "example".
- *
- * @ingroup Evas_Canvas
- */
-EAPI Eina_List        *evas_render_updates(Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Force renderization of the given canvas.
- *
- * @param e The given canvas pointer.
- *
- * @ingroup Evas_Canvas
- */
-EAPI void              evas_render(Evas *e) EINA_ARG_NONNULL(1);
-
-/**
- * Update the canvas internal objects but not triggering immediate
- * renderization.
- *
- * @param e The given canvas pointer.
- *
- * This function updates the canvas internal objects not triggering
- * renderization. To force renderization function evas_render() should
- * be used.
- *
- * @see evas_render.
- *
- * @ingroup Evas_Canvas
- */
-EAPI void              evas_norender(Evas *e) EINA_ARG_NONNULL(1);
-
-/**
- * Make the canvas discard internally cached data used for rendering.
- *
- * @param e The given canvas pointer.
- *
- * This function flushes the arrays of delete, active and render objects.
- * Other things it may also discard are: shared memory segments,
- * temporary scratch buffers, cached data to avoid re-compute of that data etc.
- *
- * @ingroup Evas_Canvas
- */
-EAPI void              evas_render_idle_flush(Evas *e) EINA_ARG_NONNULL(1);
-
-/**
- * Make the canvas discard as much data as possible used by the engine at
- * runtime.
- *
- * @param e The given canvas pointer.
- *
- * This function will unload images, delete textures and much more, where
- * possible. You may also want to call evas_render_idle_flush() immediately
- * prior to this to perhaps discard a little more, though evas_render_dump()
- * should implicitly delete most of what evas_render_idle_flush() might
- * discard too.
- *
- * @ingroup Evas_Canvas
- */
-EAPI void              evas_render_dump(Evas *e) EINA_ARG_NONNULL(1);
-
-
-/**
- * @}
- */
-
-
-/**
- * @ingroup Evas_Output_Method
- *
- * @{
- */
-
-/**
- * Sets the output engine for the given evas.
- *
- * Once the output engine for an evas is set, any attempt to change it
- * will be ignored.  The value for @p render_method can be found using
- * @ref evas_render_method_lookup .
- *
- * @param   e             The given evas.
- * @param   render_method The numeric engine value to use.
- *
- * @attention it is mandatory that one calls evas_init() before
- *       setting the output method.
- *
- * @ingroup Evas_Output_Method
- */
-EAPI void              evas_output_method_set(Evas *e, int render_method) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves the number of the output engine used for the given evas.
- * @param   e The given evas.
- * @return  The ID number of the output engine being used.  @c 0 is
- *          returned if there is an error.
- * @ingroup Evas_Output_Method
- */
-EAPI int               evas_output_method_get(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves the current render engine info struct from the given evas.
- *
- * The returned structure is publicly modifiable.  The contents are
- * valid until either @ref evas_engine_info_set or @ref evas_render
- * are called.
- *
- * This structure does not need to be freed by the caller.
- *
- * @param   e The given evas.
- * @return  A pointer to the Engine Info structure.  @c NULL is returned if
- *          an engine has not yet been assigned.
- * @ingroup Evas_Output_Method
- */
-EAPI Evas_Engine_Info *evas_engine_info_get(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Applies the engine settings for the given evas from the given @c
- * Evas_Engine_Info structure.
- *
- * To get the Evas_Engine_Info structure to use, call @ref
- * evas_engine_info_get .  Do not try to obtain a pointer to an
- * @c Evas_Engine_Info structure in any other way.
- *
- * You will need to call this function at least once before you can
- * create objects on an evas or render that evas.  Some engines allow
- * their settings to be changed more than once.
- *
- * Once called, the @p info pointer should be considered invalid.
- *
- * @param   e    The pointer to the Evas Canvas
- * @param   info The pointer to the Engine Info to use
- * @return  @c EINA_TRUE if no error occurred, @c EINA_FALSE otherwise.
- * @ingroup Evas_Output_Method
- */
-EAPI Eina_Bool         evas_engine_info_set(Evas *e, Evas_Engine_Info *info) EINA_ARG_NONNULL(1);
-/**
- * @}
- */
-
-/**
- * @ingroup Evas_Output_Size
- *
- * @{
- */
-/**
- * Sets the output size of the render engine of the given evas.
- *
- * The evas will render to a rectangle of the given size once this
- * function is called.  The output size is independent of the viewport
- * size.  The viewport will be stretched to fill the given rectangle.
- *
- * The units used for @p w and @p h depend on the engine used by the
- * evas.
- *
- * @param   e The given evas.
- * @param   w The width in output units, usually pixels.
- * @param   h The height in output units, usually pixels.
- * @ingroup Evas_Output_Size
- */
-EAPI void              evas_output_size_set(Evas *e, int w, int h) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieve the output size of the render engine of the given evas.
- *
- * The output size is given in whatever the output units are for the
- * engine.
- *
- * If either @p w or @p h is @c NULL, then it is ignored.  If @p e is
- * invalid, the returned results are undefined.
- *
- * @param   e The given evas.
- * @param   w The pointer to an integer to store the width in.
- * @param   h The pointer to an integer to store the height in.
- * @ingroup Evas_Output_Size
- */
-EAPI void              evas_output_size_get(const Evas *e, int *w, int *h) EINA_ARG_NONNULL(1);
-
-/**
- * Sets the output viewport of the given evas in evas units.
- *
- * The output viewport is the area of the evas that will be visible to
- * the viewer.  The viewport will be stretched to fit the output
- * target of the evas when rendering is performed.
- *
- * @note The coordinate values do not have to map 1-to-1 with the output
- *       target.  However, it is generally advised that it is done for ease
- *       of use.
- *
- * @param   e The given evas.
- * @param   x The top-left corner x value of the viewport.
- * @param   y The top-left corner y value of the viewport.
- * @param   w The width of the viewport.  Must be greater than 0.
- * @param   h The height of the viewport.  Must be greater than 0.
- * @ingroup Evas_Output_Size
- */
-EAPI void              evas_output_viewport_set(Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
-
-/**
- * Get the render engine's output viewport co-ordinates in canvas units.
- * @param e The pointer to the Evas Canvas
- * @param x The pointer to a x variable to be filled in
- * @param y The pointer to a y variable to be filled in
- * @param w The pointer to a width variable to be filled in
- * @param h The pointer to a height variable to be filled in
- * @ingroup Evas_Output_Size
- *
- * Calling this function writes the current canvas output viewport
- * size and location values into the variables pointed to by @p x, @p
- * y, @p w and @p h.  On success the variables have the output
- * location and size values written to them in canvas units. Any of @p
- * x, @p y, @p w or @p h that are @c NULL will not be written to. If @p e
- * is invalid, the results are undefined.
- *
- * Example:
- * @code
- * extern Evas *evas;
- * Evas_Coord x, y, width, height;
- *
- * evas_output_viewport_get(evas, &x, &y, &w, &h);
- * @endcode
- */
-EAPI void              evas_output_viewport_get(const Evas *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
-
-/**
- * Sets the output framespace size of the render engine of the given evas.
- *
- * The framespace size is used in the Wayland engines to denote space where
- * the output is not drawn. This is mainly used in ecore_evas to draw borders
- *
- * The units used for @p w and @p h depend on the engine used by the
- * evas.
- *
- * @param   e The given evas.
- * @param   x The left coordinate in output units, usually pixels.
- * @param   y The top coordinate in output units, usually pixels.
- * @param   w The width in output units, usually pixels.
- * @param   h The height in output units, usually pixels.
- * @ingroup Evas_Output_Size
- * @since 1.1
- */
-EAPI void              evas_output_framespace_set(Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
-
-/**
- * Get the render engine's output framespace co-ordinates in canvas units.
- *
- * @param e The pointer to the Evas Canvas
- * @param x The pointer to a x variable to be filled in
- * @param y The pointer to a y variable to be filled in
- * @param w The pointer to a width variable to be filled in
- * @param h The pointer to a height variable to be filled in
- * @ingroup Evas_Output_Size
- * @since 1.1
- */
-EAPI void              evas_output_framespace_get(const Evas *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
-/**
- * @}
- */
-
-/**
- * Convert/scale an output screen co-ordinate into canvas co-ordinates
- *
- * @param e The pointer to the Evas Canvas
- * @param x The screen/output x co-ordinate
- * @return The screen co-ordinate translated to canvas unit co-ordinates
- * @ingroup Evas_Coord_Mapping_Group
- *
- * This function takes in a horizontal co-ordinate as the @p x
- * parameter and converts it into canvas units, accounting for output
- * size, viewport size and location, returning it as the function
- * return value. If @p e is invalid, the results are undefined.
- *
- * Example:
- * @code
- * extern Evas *evas;
- * extern int screen_x;
- * Evas_Coord canvas_x;
- *
- * canvas_x = evas_coord_screen_x_to_world(evas, screen_x);
- * @endcode
- */
-EAPI Evas_Coord        evas_coord_screen_x_to_world(const Evas *e, int x) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Convert/scale an output screen co-ordinate into canvas co-ordinates
- *
- * @param e The pointer to the Evas Canvas
- * @param y The screen/output y co-ordinate
- * @return The screen co-ordinate translated to canvas unit co-ordinates
- * @ingroup Evas_Coord_Mapping_Group
- *
- * This function takes in a vertical co-ordinate as the @p y parameter
- * and converts it into canvas units, accounting for output size,
- * viewport size and location, returning it as the function return
- * value. If @p e is invalid, the results are undefined.
- *
- * Example:
- * @code
- * extern Evas *evas;
- * extern int screen_y;
- * Evas_Coord canvas_y;
- *
- * canvas_y = evas_coord_screen_y_to_world(evas, screen_y);
- * @endcode
- */
-EAPI Evas_Coord        evas_coord_screen_y_to_world(const Evas *e, int y) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Convert/scale a canvas co-ordinate into output screen co-ordinates
- *
- * @param e The pointer to the Evas Canvas
- * @param x The canvas x co-ordinate
- * @return The output/screen co-ordinate translated to output co-ordinates
- * @ingroup Evas_Coord_Mapping_Group
- *
- * This function takes in a horizontal co-ordinate as the @p x
- * parameter and converts it into output units, accounting for output
- * size, viewport size and location, returning it as the function
- * return value. If @p e is invalid, the results are undefined.
- *
- * Example:
- * @code
- * extern Evas *evas;
- * int screen_x;
- * extern Evas_Coord canvas_x;
- *
- * screen_x = evas_coord_world_x_to_screen(evas, canvas_x);
- * @endcode
- */
-EAPI int               evas_coord_world_x_to_screen(const Evas *e, Evas_Coord x) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Convert/scale a canvas co-ordinate into output screen co-ordinates
- *
- * @param e The pointer to the Evas Canvas
- * @param y The canvas y co-ordinate
- * @return The output/screen co-ordinate translated to output co-ordinates
- * @ingroup Evas_Coord_Mapping_Group
- *
- * This function takes in a vertical co-ordinate as the @p x parameter
- * and converts it into output units, accounting for output size,
- * viewport size and location, returning it as the function return
- * value. If @p e is invalid, the results are undefined.
- *
- * Example:
- * @code
- * extern Evas *evas;
- * int screen_y;
- * extern Evas_Coord canvas_y;
- *
- * screen_y = evas_coord_world_y_to_screen(evas, canvas_y);
- * @endcode
- */
-EAPI int               evas_coord_world_y_to_screen(const Evas *e, Evas_Coord y) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * @defgroup Evas_Pointer_Group Pointer (Mouse) Functions
- *
- * Functions that deal with the status of the pointer (mouse cursor).
- *
- * @ingroup Evas_Canvas
- */
-
-/**
- * This function returns the current known pointer co-ordinates
- *
- * @param e The pointer to the Evas Canvas
- * @param x The pointer to an integer to be filled in
- * @param y The pointer to an integer to be filled in
- * @ingroup Evas_Pointer_Group
- *
- * This function returns the current known screen/output co-ordinates
- * of the mouse pointer and sets the contents of the integers pointed
- * to by @p x and @p y to contain these co-ordinates. If @p e is not a
- * valid canvas the results of this function are undefined.
- *
- * Example:
- * @code
- * extern Evas *evas;
- * int mouse_x, mouse_y;
- *
- * evas_pointer_output_xy_get(evas, &mouse_x, &mouse_y);
- * printf("Mouse is at screen position %i, %i\n", mouse_x, mouse_y);
- * @endcode
- */
-EAPI void              evas_pointer_output_xy_get(const Evas *e, int *x, int *y) EINA_ARG_NONNULL(1);
-
-/**
- * This function returns the current known pointer co-ordinates
- *
- * @param e The pointer to the Evas Canvas
- * @param x The pointer to a Evas_Coord to be filled in
- * @param y The pointer to a Evas_Coord to be filled in
- * @ingroup Evas_Pointer_Group
- *
- * This function returns the current known canvas unit co-ordinates of
- * the mouse pointer and sets the contents of the Evas_Coords pointed
- * to by @p x and @p y to contain these co-ordinates. If @p e is not a
- * valid canvas the results of this function are undefined.
- *
- * Example:
- * @code
- * extern Evas *evas;
- * Evas_Coord mouse_x, mouse_y;
- *
- * evas_pointer_output_xy_get(evas, &mouse_x, &mouse_y);
- * printf("Mouse is at canvas position %d, %d\n", mouse_x, mouse_y);
- * @endcode
- */
-EAPI void              evas_pointer_canvas_xy_get(const Evas *e, Evas_Coord *x, Evas_Coord *y) EINA_ARG_NONNULL(1);
-
-/**
- * Returns a bitmask with the mouse buttons currently pressed, set to 1
- *
- * @param e The pointer to the Evas Canvas
- * @return A bitmask of the currently depressed buttons on the canvas
- * @ingroup Evas_Pointer_Group
- *
- * Calling this function will return a 32-bit integer with the
- * appropriate bits set to 1 that correspond to a mouse button being
- * depressed. This limits Evas to a mouse devices with a maximum of 32
- * buttons, but that is generally in excess of any host system's
- * pointing device abilities.
- *
- * A canvas by default begins with no mouse buttons being pressed and
- * only calls to evas_event_feed_mouse_down(),
- * evas_event_feed_mouse_down_data(), evas_event_feed_mouse_up() and
- * evas_event_feed_mouse_up_data() will alter that.
- *
- * The least significant bit corresponds to the first mouse button
- * (button 1) and the most significant bit corresponds to the last
- * mouse button (button 32).
- *
- * If @p e is not a valid canvas, the return value is undefined.
- *
- * Example:
- * @code
- * extern Evas *evas;
- * int button_mask, i;
- *
- * button_mask = evas_pointer_button_down_mask_get(evas);
- * printf("Buttons currently pressed:\n");
- * for (i = 0; i < 32; i++)
- *   {
- *     if ((button_mask & (1 << i)) != 0) printf("Button %i\n", i + 1);
- *   }
- * @endcode
- */
-EAPI int               evas_pointer_button_down_mask_get(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Returns whether the mouse pointer is logically inside the canvas
- *
- * @param e The pointer to the Evas Canvas
- * @return An integer that is 1 if the mouse is inside the canvas, 0 otherwise
- * @ingroup Evas_Pointer_Group
- *
- * When this function is called it will return a value of either 0 or
- * 1, depending on if evas_event_feed_mouse_in(),
- * evas_event_feed_mouse_in_data(), or evas_event_feed_mouse_out(),
- * evas_event_feed_mouse_out_data() have been called to feed in a
- * mouse enter event into the canvas.
- *
- * A return value of 1 indicates the mouse is logically inside the
- * canvas, and 0 implies it is logically outside the canvas.
- *
- * A canvas begins with the mouse being assumed outside (0).
- *
- * If @p e is not a valid canvas, the return value is undefined.
- *
- * Example:
- * @code
- * extern Evas *evas;
- *
- * if (evas_pointer_inside_get(evas)) printf("Mouse is in!\n");
- * else printf("Mouse is out!\n");
- * @endcode
- */
-EAPI Eina_Bool         evas_pointer_inside_get(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-EAPI void              evas_sync(Evas *e) EINA_ARG_NONNULL(1);
+#include "canvas/evas.eo.legacy.h"
 
 /**
  * @}
  */
 
+
 /**
  * @ingroup Evas_Canvas_Events
  *
@@ -952,33 +259,6 @@ EAPI void  evas_post_event_callback_remove_full(Evas *e, Evas_Object_Event_Post_
  */
 
 /**
- * Set the default set of flags an event begins with
- *
- * @param e The canvas to set the default event flags of
- * @param flags The default flags to use
- *
- * Events in evas can have an event_flags member. This starts out with
- * and initial value (no flags). This lets you set the default flags that
- * an event begins with to be @p flags
- *
- * @since 1.2
- */
-EAPI void             evas_event_default_flags_set(Evas *e, Evas_Event_Flags flags) EINA_ARG_NONNULL(1);
-
-/**
- * Get the default set of flags an event begins with
- *
- * @param e The canvas to get the default event flags from
- * @return The default event flags for that canvas
- *
- * This gets the default event flags events are produced with when fed in.
- *
- * @see evas_event_default_flags_set()
- * @since 1.2
- */
-EAPI Evas_Event_Flags evas_event_default_flags_get(const Evas *e) EINA_ARG_NONNULL(1);
-
-/**
  * Freeze all input events processing.
  *
  * @param e The canvas to freeze input events processing on.
@@ -1061,428 +341,12 @@ EAPI void             evas_event_thaw_eval(Evas *e) EINA_ARG_NONNULL(1);
  */
 
 /**
- * @ingroup Evas_Event_Feeding_Group
- *
- * @{
- */
-
-/**
- * Get the number of mouse or multi presses currently active
- *
- * @p e The given canvas pointer.
- * @return The number of presses (0 if none active).
- *
- * @since 1.2
- */
-EAPI int  evas_event_down_count_get(const Evas *e) EINA_ARG_NONNULL(1);
-
-/**
- * Mouse down event feed.
- *
- * @param e The given canvas pointer.
- * @param b The button number.
- * @param flags The evas button flags.
- * @param timestamp The timestamp of the mouse down event.
- * @param data The data for canvas.
- *
- * This function will set some evas properties that is necessary when
- * the mouse button is pressed. It prepares information to be treated
- * by the callback function.
- *
- */
-EAPI void evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
-
-/**
- * Mouse up event feed.
- *
- * @param e The given canvas pointer.
- * @param b The button number.
- * @param flags evas button flags.
- * @param timestamp The timestamp of the mouse up event.
- * @param data The data for canvas.
- *
- * This function will set some evas properties that is necessary when
- * the mouse button is released. It prepares information to be treated
- * by the callback function.
- *
- */
-EAPI void evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
-
-/**
- * Mouse move event feed from input.
- *
- * @param e The given canvas pointer.
- * @param x The horizontal position of the mouse pointer relative to the 0,0 of
- * the window/surface.
- * @param y The vertical position of the mouse pointer relative to the 0,0 of
- * the window/surface.
- * @param timestamp The timestamp of the mouse move event.
- * @param data The data for canvas.
- *
- * Similar to the evas_event_feed_mouse_move(), this function will inform Evas
- * about mouse move events which were received by the input system, relative to
- * the 0,0 of the window, not to the canvas 0,0. It will take care of doing any
- * special transformation like adding the framespace offset to the mouse event.
- *
- * @since 1.8
- * @see evas_event_feed_mouse_move
- */
-EAPI void evas_event_input_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
-
-/**
- * Mouse move event feed.
- *
- * @param e The given canvas pointer.
- * @param x The horizontal position of the mouse pointer.
- * @param y The vertical position of the mouse pointer.
- * @param timestamp The timestamp of the mouse up event.
- * @param data The data for canvas.
- *
- * This function will set some evas properties that is necessary when
- * the mouse is moved from its last position. It prepares information
- * to be treated by the callback function.
- *
- */
-EAPI void evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
-
-/**
- * Mouse in event feed.
- *
- * @param e The given canvas pointer.
- * @param timestamp The timestamp of the mouse up event.
- * @param data The data for canvas.
- *
- * This function will set some evas properties that is necessary when
- * the mouse in event happens. It prepares information to be treated
- * by the callback function.
- *
- */
-EAPI void evas_event_feed_mouse_in(Evas *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
-
-/**
- * Mouse out event feed.
- *
- * @param e The given canvas pointer.
- * @param timestamp Timestamp of the mouse up event.
- * @param data The data for canvas.
- *
- * This function will set some evas properties that is necessary when
- * the mouse out event happens. It prepares information to be treated
- * by the callback function.
- *
- */
-EAPI void evas_event_feed_mouse_out(Evas *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
-
-EAPI void evas_event_feed_multi_down(Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data);
-EAPI void evas_event_feed_multi_up(Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data);
-EAPI void evas_event_feed_multi_move(Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, unsigned int timestamp, const void *data);
-
-EAPI void evas_event_input_multi_down(Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data);
-EAPI void evas_event_input_multi_up(Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data);
-EAPI void evas_event_input_multi_move(Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, unsigned int timestamp, const void *data);
-/**
- * Mouse cancel event feed.
- *
- * @param e The given canvas pointer.
- * @param timestamp The timestamp of the mouse up event.
- * @param data The data for canvas.
- *
- * This function will call evas_event_feed_mouse_up() when a
- * mouse cancel event happens.
- *
- */
-EAPI void evas_event_feed_mouse_cancel(Evas *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
-
-/**
- * Mouse wheel event feed.
- *
- * @param e The given canvas pointer.
- * @param direction The wheel mouse direction.
- * @param z How much mouse wheel was scrolled up or down.
- * @param timestamp The timestamp of the mouse up event.
- * @param data The data for canvas.
- *
- * This function will set some evas properties that is necessary when
- * the mouse wheel is scrolled up or down. It prepares information to
- * be treated by the callback function.
- *
- */
-EAPI void evas_event_feed_mouse_wheel(Evas *e, int direction, int z, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
-
-/**
- * Key down event feed
- *
- * @param e The canvas to thaw out
- * @param keyname  Name of the key
- * @param key The key pressed.
- * @param string A String
- * @param compose The compose string
- * @param timestamp Timestamp of the mouse up event
- * @param data Data for canvas.
- *
- * This function will set some evas properties that is necessary when
- * a key is pressed. It prepares information to be treated by the
- * callback function.
- *
- */
-EAPI void evas_event_feed_key_down(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
-
-/**
- * Key up event feed
- *
- * @param e The canvas to thaw out
- * @param keyname  Name of the key
- * @param key The key released.
- * @param string string
- * @param compose compose
- * @param timestamp Timestamp of the mouse up event
- * @param data Data for canvas.
- *
- * This function will set some evas properties that is necessary when
- * a key is released. It prepares information to be treated by the
- * callback function.
- *
- */
-EAPI void evas_event_feed_key_up(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
-
-/**
- * Key down event feed with keycode
- *
- * @param e The canvas to thaw out
- * @param keyname  Name of the key
- * @param key The key pressed.
- * @param string A String
- * @param compose The compose string
- * @param timestamp Timestamp of the mouse up event
- * @param data Data for canvas.
- * @param keycode Key scan code numeric value for canvas.
- *
- * This function will set some evas properties that is necessary when
- * a key is pressed. It prepares information to be treated by the
- * callback function.
- *
- * @since 1.10
- */
-EAPI void evas_event_feed_key_down_with_keycode(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data, unsigned int keycode) EINA_ARG_NONNULL(1);
-
-/**
- * Key up event feed with keycode
- *
- * @param e The canvas to thaw out
- * @param keyname  Name of the key
- * @param key The key released.
- * @param string string
- * @param compose compose
- * @param timestamp Timestamp of the mouse up event
- * @param data Data for canvas.
- * @param keycode Key scan code numeric value for canvas.
- *
- * This function will set some evas properties that is necessary when
- * a key is released. It prepares information to be treated by the
- * callback function.
- *
- * @since 1.10
- */
-EAPI void evas_event_feed_key_up_with_keycode(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data, unsigned int keycode) EINA_ARG_NONNULL(1);
-
-/**
- * Hold event feed
- *
- * @param e The given canvas pointer.
- * @param hold The hold.
- * @param timestamp The timestamp of the mouse up event.
- * @param data The data for canvas.
- *
- * This function makes the object to stop sending events.
- *
- */
-EAPI void evas_event_feed_hold(Evas *e, int hold, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
-
-/**
- * Re feed event.
- *
- * @param e The given canvas pointer.
- * @param event_copy the event to refeed
- * @param event_type Event type
- *
- * This function re-feeds the event pointed by event_copy
- *
- * This function call evas_event_feed_* functions, so it can
- * cause havoc if not used wisely. Please use it responsibly.
- */
-EAPI void evas_event_refeed_event(Evas *e, void *event_copy, Evas_Callback_Type event_type) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieve a list of Evas objects lying over a given position in
- * a canvas.
- *
- * @param e A handle to the canvas.
- * @param stop An Evas Object where to stop searching.
- * @param x The horizontal coordinate of the position.
- * @param y The vertical coordinate of the position.
- *
- * This function will traverse all the layers of the given canvas,
- * from top to bottom, querying for objects with areas covering the
- * given position. It will enter the smart objects.
- * It will not append to the list pass events as hidden objects.
- * Call eina_list_free on the returned list after usage.
- *
- */
-EAPI Eina_List *evas_tree_objects_at_xy_get(Evas *e, Evas_Object *stop, int x, int y) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * @}
- */
-
-/**
- * @ingroup Evas_Image_Group
- *
- * @{
- */
-
-/**
- * Flush the image cache of the canvas.
- *
- * @param e The given evas pointer.
- *
- * This function flushes image cache of canvas.
- *
- */
-EAPI void      evas_image_cache_flush(Evas *e) EINA_ARG_NONNULL(1);
-
-/**
- * Reload the image cache
- *
- * @param e The given evas pointer.
- *
- * This function reloads the image cache of canvas.
- *
- */
-EAPI void      evas_image_cache_reload(Evas *e) EINA_ARG_NONNULL(1);
-
-/**
- * Set the image cache.
- *
- * @param e The given evas pointer.
- * @param size The cache size.
- *
- * This function sets the image cache of canvas in bytes.
- *
- */
-EAPI void      evas_image_cache_set(Evas *e, int size) EINA_ARG_NONNULL(1);
-
-/**
- * Get the image cache
- *
- * @param e The given evas pointer.
- *
- * This function returns the image cache size of canvas in bytes.
- *
- */
-EAPI int       evas_image_cache_get(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Get the maximum image size evas can possibly handle
- *
- * @param e The given evas pointer.
- * @param maxw Pointer to hold the return value in pixels of the maximum width
- * @param maxh Pointer to hold the return value in pixels of the maximum height
- *
- * This function returns the larges image or surface size that evas can handle
- * in pixels, and if there is one, returns @c EINA_TRUE. It returns
- * @c EINA_FALSE if no extra constraint on maximum image size exists. You still
- * should check the return values of @p maxw and @p maxh as there may still be
- * a limit, just a much higher one.
- *
- * @since 1.1
- */
-EAPI Eina_Bool evas_image_max_size_get(const Evas *e, int *maxw, int *maxh) EINA_ARG_NONNULL(1);
-/**
- * @}
- */
-
-/**
  * @ingroup Evas_Font_Group
  *
  * @{
  */
 
 /**
- * Changes the font hinting for the given evas.
- *
- * @param e The given evas.
- * @param hinting The hinting to use, one of #EVAS_FONT_HINTING_NONE,
- *        #EVAS_FONT_HINTING_AUTO, #EVAS_FONT_HINTING_BYTECODE.
- * @ingroup Evas_Font_Group
- */
-EAPI void                    evas_font_hinting_set(Evas *e, Evas_Font_Hinting_Flags hinting) EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves the font hinting used by the given evas.
- *
- * @param e The given evas to query.
- * @return The hinting in use, one of #EVAS_FONT_HINTING_NONE,
- *         #EVAS_FONT_HINTING_AUTO, #EVAS_FONT_HINTING_BYTECODE.
- * @ingroup Evas_Font_Group
- */
-EAPI Evas_Font_Hinting_Flags evas_font_hinting_get(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Checks if the font hinting is supported by the given evas.
- *
- * @param e The given evas to query.
- * @param hinting The hinting to use, one of #EVAS_FONT_HINTING_NONE,
- *        #EVAS_FONT_HINTING_AUTO, #EVAS_FONT_HINTING_BYTECODE.
- * @return @c EINA_TRUE if it is supported, @c EINA_FALSE otherwise.
- * @ingroup Evas_Font_Group
- */
-EAPI Eina_Bool               evas_font_hinting_can_hint(const Evas *e, Evas_Font_Hinting_Flags hinting) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Force the given evas and associated engine to flush its font cache.
- *
- * @param e The given evas to flush font cache.
- * @ingroup Evas_Font_Group
- */
-EAPI void                    evas_font_cache_flush(Evas *e) EINA_ARG_NONNULL(1);
-
-/**
- * Changes the size of font cache of the given evas.
- *
- * @param e The given evas to flush font cache.
- * @param size The size, in bytes.
- *
- * @ingroup Evas_Font_Group
- */
-EAPI void                    evas_font_cache_set(Evas *e, int size) EINA_ARG_NONNULL(1);
-
-/**
- * Changes the size of font cache of the given evas.
- *
- * @param e The given evas to flush font cache.
- * @return The size, in bytes.
- *
- * @ingroup Evas_Font_Group
- */
-EAPI int                     evas_font_cache_get(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * List of available font descriptions known or found by this evas.
- *
- * The list depends on Evas compile time configuration, such as
- * fontconfig support, and the paths provided at runtime as explained
- * in @ref Evas_Font_Path_Group.
- *
- * @param e The evas instance to query.
- * @return a newly allocated list of strings. Do not change the
- *         strings.  Be sure to call evas_font_available_list_free()
- *         after you're done.
- *
- * @ingroup Evas_Font_Group
- */
-EAPI Eina_List              *evas_font_available_list(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
  * Free list of font descriptions returned by evas_font_dir_available_list().
  *
  * @param e The evas instance that returned such list.
@@ -1493,56 +357,11 @@ EAPI Eina_List              *evas_font_available_list(const Evas *e) EINA_WARN_U
 EAPI void                    evas_font_available_list_free(Evas *e, Eina_List *available) EINA_ARG_NONNULL(1);
 
 /**
- * @defgroup Evas_Font_Path_Group Font Path Functions
- *
- * Functions that edit the paths being used to load fonts.
- *
- * @ingroup Evas_Font_Group
- */
-
-/**
- * Removes all font paths loaded into memory for the given evas.
- * @param   e The given evas.
- * @ingroup Evas_Font_Path_Group
- */
-EAPI void                    evas_font_path_clear(Evas *e) EINA_ARG_NONNULL(1);
-
-/**
- * Appends a font path to the list of font paths used by the given evas.
- * @param   e    The given evas.
- * @param   path The new font path.
- * @ingroup Evas_Font_Path_Group
- */
-EAPI void                    evas_font_path_append(Evas *e, const char *path) EINA_ARG_NONNULL(1, 2);
-
-/**
- * Prepends a font path to the list of font paths used by the given evas.
- * @param   e The given evas.
- * @param   path The new font path.
- * @ingroup Evas_Font_Path_Group
- */
-EAPI void                    evas_font_path_prepend(Evas *e, const char *path) EINA_ARG_NONNULL(1, 2);
-
-/**
- * Retrieves the list of font paths used by the given evas.
- * @param   e The given evas.
- * @return  The list of font paths used.
- * @ingroup Evas_Font_Path_Group
- */
-EAPI const Eina_List        *evas_font_path_list(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-/**
- * @}
- */
-
-/**
  * @ingroup Evas_Object_Group_Basic
  *
  * @{
  */
 
-
-
-
 /**
  * Increments object reference count to defer its deletion.
  *
@@ -1950,8 +769,30 @@ EAPI void             evas_object_hide(Evas_Object *obj) EINA_ARG_NONNULL(1);
 EAPI void      evas_object_event_callback_add(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data) EINA_ARG_NONNULL(1, 3);
 
 /**
- * Add (register) a callback function to a given Evas object event with a
- * non-default priority set. Except for thg
+ * Add (register) a callback function to a given Evas object event with a
+ * non-default priority set. Except for the priority field, it's exactly the
+ * same as @ref evas_object_event_callback_add
+ *
+ * @param obj Object to attach a callback to
+ * @param type The type of event that will trigger the callback
+ * @param priority The priority of the callback, lower values called first.
+ * @param func The function to be called when the event is triggered
+ * @param data The data pointer to be passed to @p func
+ *
+ * @see evas_object_event_callback_add
+ * @since 1.1
+ */
+EAPI void      evas_object_event_callback_priority_add(Evas_Object *obj, Evas_Callback_Type type, Evas_Callback_Priority priority, Evas_Object_Event_Cb func, const void *data) EINA_ARG_NONNULL(1, 4);
+
+/**
+ * Delete a callback function from an object
+ *
+ * @param obj Object to remove a callback from
+ * @param type The type of event that was triggering the callback
+ * @param func The function that was to be called when the event was triggered
+ * @return The data pointer that was to be passed to the callback
+ *
+ * This function removes the most recently added callback from the
  * object @p obj which was triggered by the event type @p type and was
  * calling the function @p func when triggered. If the removal is
  * successful it will also return the data pointer that was passed to
@@ -2003,28 +844,6 @@ 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);
 
-
-/**
- * @}
- */
-
-/**
- * @ingroup Evas_Object_Group_Map
- *
- * @{
- */
-
-/**
- * @}
- */
-
-/**
- * @ingroup Evas_Object_Group_Size_Hints
- *
- * @{
- */
-
-
 /**
  * @}
  */
@@ -2139,107 +958,6 @@ EAPI void                    *evas_object_data_del(Evas_Object *obj, const char
  */
 
 /**
- * Retrieve the object that currently has focus.
- *
- * @param e The Evas canvas to query for focused object on.
- * @return The object that has focus or @c NULL if there is not one.
- *
- * Evas can have (at most) one of its objects focused at a time.
- * Focused objects will be the ones having <b>key events</b> delivered
- * to, which the programmer can act upon by means of
- * evas_object_event_callback_add() usage.
- *
- * @note Most users wouldn't be dealing directly with Evas' focused
- * objects. Instead, they would be using a higher level library for
- * that (like a toolkit, as Elementary) to handle focus and who's
- * receiving input for them.
- *
- * This call returns the object that currently has focus on the canvas
- * @p e or @c NULL, if none.
- *
- * @see evas_object_focus_set
- * @see evas_object_focus_get
- * @see evas_object_key_grab
- * @see evas_object_key_ungrab
- *
- * Example:
- * @dontinclude evas-events.c
- * @skip evas_event_callback_add(d.canvas, EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN,
- * @until evas_object_focus_set(d.bg, EINA_TRUE);
- * @dontinclude evas-events.c
- * @skip called when our rectangle gets focus
- * @until }
- *
- * In this example the @c event_info is exactly a pointer to that
- * focused rectangle. See the full @ref Example_Evas_Events "example".
- *
- * @ingroup Evas_Object_Group_Find
- */
-EAPI Evas_Object *evas_focus_get(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves the object on the given evas with the given name.
- * @param   e    The given evas.
- * @param   name The given name.
- * @return  If successful, the Evas object with the given name.  Otherwise,
- *          @c NULL.
- *
- * This looks for the evas object given a name by evas_object_name_set(). If
- * the name is not unique canvas-wide, then which one of the many objects
- * with that name is returned is undefined, so only use this if you can ensure
- * the object name is unique.
- *
- * @ingroup Evas_Object_Group_Find
- */
-EAPI Evas_Object *evas_object_name_find(const Evas *e, const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Retrieves the object from children of the given object with the given name.
- * @param   obj  The parent (smart) object whose children to search.
- * @param   name The given name.
- * @param   recurse Set to the number of child levels to recurse (0 == don't recurse, 1 == only look at the children of @p obj or their immediate children, but no further etc.).
- * @return  If successful, the Evas object with the given name.  Otherwise,
- *          @c NULL.
- *
- * This looks for the evas object given a name by evas_object_name_set(), but
- * it ONLY looks at the children of the object *p obj, and will only recurse
- * into those children if @p recurse is greater than 0. If the name is not
- * unique within immediate children (or the whole child tree) then it is not
- * defined which child object will be returned. If @p recurse is set to -1 then
- * it will recurse without limit.
- *
- * @since 1.2
- *
- * @ingroup Evas_Object_Group_Find
- */
-EAPI Evas_Object *evas_object_name_child_find(const Evas_Object *obj, const char *name, int recurse) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Retrieve the Evas object stacked at the top of a given position in
- * a canvas
- *
- * @param   e A handle to the canvas.
- * @param   x The horizontal coordinate of the position
- * @param   y The vertical coordinate of the position
- * @param   include_pass_events_objects Boolean flag to include or not
- * objects which pass events in this calculation
- * @param   include_hidden_objects Boolean flag to include or not hidden
- * objects in this calculation
- * @return  The Evas object that is over all other objects at the given
- * position.
- *
- * This function will traverse all the layers of the given canvas,
- * from top to bottom, querying for objects with areas covering the
- * given position. The user can remove from the query
- * objects which are hidden and/or which are set to pass events.
- *
- * @warning This function will @b skip objects parented by smart
- * objects, acting only on the ones at the "top level", with regard to
- * object parenting.
- */
-EAPI Evas_Object *evas_object_top_at_xy_get(const Evas *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
  * Retrieve the Evas object stacked at the top at the position of the
  * mouse cursor, over a given canvas
  *
@@ -2258,104 +976,6 @@ EAPI Evas_Object *evas_object_top_at_xy_get(const Evas *e, Evas_Coord x, Evas_Co
 EAPI Evas_Object *evas_object_top_at_pointer_get(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
 
 /**
- * Retrieve the Evas object stacked at the top of a given rectangular
- * region in a canvas
- *
- * @param   e A handle to the canvas.
- * @param   x The top left corner's horizontal coordinate for the
- * rectangular region
- * @param   y The top left corner's vertical coordinate for the
- * rectangular region
- * @param   w The width of the rectangular region
- * @param   h The height of the rectangular region
- * @param   include_pass_events_objects Boolean flag to include or not
- * objects which pass events in this calculation
- * @param   include_hidden_objects Boolean flag to include or not hidden
- * objects in this calculation
- * @return  The Evas object that is over all other objects at the given
- * rectangular region.
- *
- * This function will traverse all the layers of the given canvas,
- * from top to bottom, querying for objects with areas overlapping
- * with the given rectangular region inside @p e. The user can remove
- * from the query objects which are hidden and/or which are set to
- * pass events.
- *
- * @warning This function will @b skip objects parented by smart
- * objects, acting only on the ones at the "top level", with regard to
- * object parenting.
- */
-EAPI Evas_Object *evas_object_top_in_rectangle_get(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Retrieve a list of Evas objects lying over a given position in
- * a canvas
- *
- * @param   e A handle to the canvas.
- * @param   x The horizontal coordinate of the position
- * @param   y The vertical coordinate of the position
- * @param   include_pass_events_objects Boolean flag to include or not
- * objects which pass events in this calculation
- * @param   include_hidden_objects Boolean flag to include or not hidden
- * objects in this calculation
- * @return  The list of Evas objects that are over the given position
- * in @p e
- *
- * This function will traverse all the layers of the given canvas,
- * from top to bottom, querying for objects with areas covering the
- * given position. The user can remove from query
- * objects which are hidden and/or which are set to pass events.
- *
- * @warning This function will @b skip objects parented by smart
- * objects, acting only on the ones at the "top level", with regard to
- * object parenting.
- */
-EAPI Eina_List   *evas_objects_at_xy_get(const Evas *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-EAPI Eina_List   *evas_objects_in_rectangle_get(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Get the lowest (stacked) Evas object on the canvas @p e.
- *
- * @param e a valid canvas pointer
- * @return a pointer to the lowest object on it, if any, or @c NULL,
- * otherwise
- *
- * This function will take all populated layers in the canvas into
- * account, getting the lowest object for the lowest layer, naturally.
- *
- * @see evas_object_layer_get()
- * @see evas_object_layer_set()
- * @see evas_object_below_get()
- * @see evas_object_above_get()
- *
- * @warning This function will @b skip objects parented by smart
- * objects, acting only on the ones at the "top level", with regard to
- * object parenting.
- */
-EAPI Evas_Object *evas_object_bottom_get(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Get the highest (stacked) Evas object on the canvas @p e.
- *
- * @param e a valid canvas pointer
- * @return a pointer to the highest object on it, if any, or @c NULL,
- * otherwise
- *
- * This function will take all populated layers in the canvas into
- * account, getting the highest object for the highest layer,
- * naturally.
- *
- * @see evas_object_layer_get()
- * @see evas_object_layer_set()
- * @see evas_object_below_get()
- * @see evas_object_above_get()
- *
- * @warning This function will @b skip objects parented by smart
- * objects, acting only on the ones at the "top level", with regard to
- * object parenting.
- */
-EAPI Evas_Object *evas_object_top_get(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-/**
  * @}
  */
 
@@ -2777,25 +1397,11 @@ 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);
-
-/* @since 1.2 */
-//EAPI Eina_Bool    evas_object_is_frame_object_get(const Evas_Object *obj);
 
 /**
  * @}
  */
 
-/**
- * @ingroup Evas_Group_Smart
- *
- * @{
- */
-
-/**
- * @}
- */
 
 /**
  * @ingroup Evas_Smart_Object_Group
@@ -3034,6 +1640,7 @@ EAPI void             *evas_object_smart_interface_data_get(const Evas_Object *o
 EAPI int          evas_smart_objects_calculate_count_get(const Evas *e);
 
 #include "canvas/evas_smart.eo.legacy.h"
+
 /**
  * @}
  */
@@ -3058,6 +1665,7 @@ EAPI int          evas_smart_objects_calculate_count_get(const Evas *e);
 EAPI Evas_Object            *evas_object_smart_clipped_clipper_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
 
 #include "canvas/evas_smart_clipped.eo.legacy.h"
+
 /**
  * @}
  */
@@ -3244,354 +1852,6 @@ EAPI Evas_Object   *evas_object_grid_add(Evas *evas) EINA_WARN_UNUSED_RESULT EIN
  */
 
 /**
- * @ingroup Evas_Keys
- *
- * @{
- */
-/**
- * Returns a handle to the list of modifier keys registered in the
- * canvas @p e. This is required to check for which modifiers are set
- * at a given time with the evas_key_modifier_is_set() function.
- *
- * @param e The pointer to the Evas canvas
- *
- * @see evas_key_modifier_add
- * @see evas_key_modifier_del
- * @see evas_key_modifier_on
- * @see evas_key_modifier_off
- * @see evas_key_modifier_is_set
- *
- * @return An ::Evas_Modifier handle to query Evas' keys subsystem
- *     with evas_key_modifier_is_set(), or @c NULL on error.
- */
-EAPI const Evas_Modifier *evas_key_modifier_get(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Returns a handle to the list of lock keys registered in the canvas
- * @p e. This is required to check for which locks are set at a given
- * time with the evas_key_lock_is_set() function.
- *
- * @param e The pointer to the Evas canvas
- *
- * @see evas_key_lock_add
- * @see evas_key_lock_del
- * @see evas_key_lock_on
- * @see evas_key_lock_off
- * @see evas_key_lock_is_set
- *
- * @return An ::Evas_Lock handle to query Evas' keys subsystem with
- *     evas_key_lock_is_set(), or @c NULL on error.
- */
-EAPI const Evas_Lock     *evas_key_lock_get(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Adds the @p keyname key to the current list of modifier keys.
- *
- * @param e The pointer to the Evas canvas
- * @param keyname The name of the modifier key to add to the list of
- *        Evas modifiers.
- *
- * Modifiers are keys like shift, alt and ctrl, i.e., keys which are
- * meant to be pressed together with others, altering the behavior of
- * the secondly pressed keys somehow. Evas is so that these keys can
- * be user defined.
- *
- * This call allows custom modifiers to be added to the Evas system at
- * run time. It is then possible to set and unset modifier keys
- * programmatically for other parts of the program to check and act
- * on. Programmers using Evas would check for modifier keys on key
- * event callbacks using evas_key_modifier_is_set().
- *
- * @see evas_key_modifier_del
- * @see evas_key_modifier_get
- * @see evas_key_modifier_on
- * @see evas_key_modifier_off
- * @see evas_key_modifier_is_set
- *
- * @note If the programmer instantiates the canvas by means of the
- *       ecore_evas_new() family of helper functions, Ecore will take
- *       care of registering on it all standard modifiers: "Shift",
- *       "Control", "Alt", "Meta", "Hyper", "Super".
- */
-EAPI void                 evas_key_modifier_add(Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
-
-/**
- * Removes the @p keyname key from the current list of modifier keys
- * on canvas @p e.
- *
- * @param e The pointer to the Evas canvas
- * @param keyname The name of the key to remove from the modifiers list.
- *
- * @see evas_key_modifier_add
- * @see evas_key_modifier_get
- * @see evas_key_modifier_on
- * @see evas_key_modifier_off
- * @see evas_key_modifier_is_set
- */
-EAPI void                 evas_key_modifier_del(Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
-
-/**
- * Adds the @p keyname key to the current list of lock keys.
- *
- * @param e The pointer to the Evas canvas
- * @param keyname The name of the key to add to the locks list.
- *
- * Locks are keys like caps lock, num lock or scroll lock, i.e., keys
- * which are meant to be pressed once -- toggling a binary state which
- * is bound to it -- and thus altering the behavior of all
- * subsequently pressed keys somehow, depending on its state. Evas is
- * so that these keys can be defined by the user.
- *
- * This allows custom locks to be added to the evas system at run
- * time. It is then possible to set and unset lock keys
- * programmatically for other parts of the program to check and act
- * on. Programmers using Evas would check for lock keys on key event
- * callbacks using evas_key_lock_is_set().
- *
- * @see evas_key_lock_get
- * @see evas_key_lock_del
- * @see evas_key_lock_on
- * @see evas_key_lock_off
- * @see evas_key_lock_is_set
- *
- * @note If the programmer instantiates the canvas by means of the
- *       ecore_evas_new() family of helper functions, Ecore will take
- *       care of registering on it all standard lock keys: "Caps_Lock",
- *       "Num_Lock", "Scroll_Lock".
- */
-EAPI void                 evas_key_lock_add(Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
-
-/**
- * Removes the @p keyname key from the current list of lock keys on
- * canvas @p e.
- *
- * @param e The pointer to the Evas canvas
- * @param keyname The name of the key to remove from the locks list.
- *
- * @see evas_key_lock_get
- * @see evas_key_lock_add
- * @see evas_key_lock_on
- * @see evas_key_lock_off
- */
-EAPI void                 evas_key_lock_del(Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
-
-/**
- * Enables or turns on programmatically the modifier key with name @p
- * keyname.
- *
- * @param e The pointer to the Evas canvas
- * @param keyname The name of the modifier to enable.
- *
- * The effect will be as if the key was pressed for the whole time
- * between this call and a matching evas_key_modifier_off().
- *
- * @see evas_key_modifier_add
- * @see evas_key_modifier_get
- * @see evas_key_modifier_off
- * @see evas_key_modifier_is_set
- */
-EAPI void                 evas_key_modifier_on(Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
-
-/**
- * Disables or turns off programmatically the modifier key with name
- * @p keyname.
- *
- * @param e The pointer to the Evas canvas
- * @param keyname The name of the modifier to disable.
- *
- * @see evas_key_modifier_add
- * @see evas_key_modifier_get
- * @see evas_key_modifier_on
- * @see evas_key_modifier_is_set
- */
-EAPI void                 evas_key_modifier_off(Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
-
-/**
- * Enables or turns on programmatically the lock key with name @p
- * keyname.
- *
- * @param e The pointer to the Evas canvas
- * @param keyname The name of the lock to enable.
- *
- * The effect will be as if the key was put on its active state after
- * this call.
- *
- * @see evas_key_lock_get
- * @see evas_key_lock_add
- * @see evas_key_lock_del
- * @see evas_key_lock_off
- */
-EAPI void                 evas_key_lock_on(Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
-
-/**
- * Disables or turns off programmatically the lock key with name @p
- * keyname.
- *
- * @param e The pointer to the Evas canvas
- * @param keyname The name of the lock to disable.
- *
- * The effect will be as if the key was put on its inactive state
- * after this call.
- *
- * @see evas_key_lock_get
- * @see evas_key_lock_add
- * @see evas_key_lock_del
- * @see evas_key_lock_on
- */
-EAPI void                 evas_key_lock_off(Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
-
-/**
- * Creates a bit mask from the @p keyname @b modifier key. Values
- * returned from different calls to it may be ORed together,
- * naturally.
- *
- * @param e The canvas whom to query the bit mask from.
- * @param keyname The name of the modifier key to create the mask for.
- *
- * @returns the bit mask or 0 if the @p keyname key wasn't registered as a
- *          modifier for canvas @p e.
- *
- * This function is meant to be using in conjunction with
- * evas_object_key_grab()/evas_object_key_ungrab(). Go check their
- * documentation for more information.
- *
- * @see evas_key_modifier_add
- * @see evas_key_modifier_get
- * @see evas_key_modifier_on
- * @see evas_key_modifier_off
- * @see evas_key_modifier_is_set
- * @see evas_object_key_grab
- * @see evas_object_key_ungrab
- */
-EAPI Evas_Modifier_Mask   evas_key_modifier_mask_get(const Evas *e, const char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2);
-
-/**
- * @}
- */
-
-/**
- * @ingroup Evas_Touch_Point_List
- *
- * @{
- */
-/**
- * Get the number of touched point in the evas.
- *
- * @param e The pointer to the Evas canvas.
- * @return The number of touched point on the evas.
- *
- * New touched point is added to the list whenever touching the evas
- * and point is removed whenever removing touched point from the evas.
- *
- * Example:
- * @code
- * extern Evas *evas;
- * int count;
- *
- * count = evas_touch_point_list_count(evas);
- * printf("The count of touch points: %i\n", count);
- * @endcode
- *
- * @see evas_touch_point_list_nth_xy_get()
- * @see evas_touch_point_list_nth_id_get()
- * @see evas_touch_point_list_nth_state_get()
- */
-EAPI unsigned int           evas_touch_point_list_count(Evas *e) EINA_ARG_NONNULL(1);
-
-/**
- * This function returns the nth touch point's co-ordinates.
- *
- * @param e The pointer to the Evas canvas.
- * @param n The number of the touched point (0 being the first).
- * @param x The pointer to a Evas_Coord to be filled in.
- * @param y The pointer to a Evas_Coord to be filled in.
- *
- * Touch point's co-ordinates is updated whenever moving that point
- * on the canvas.
- *
- * Example:
- * @code
- * extern Evas *evas;
- * Evas_Coord x, y;
- *
- * if (evas_touch_point_list_count(evas))
- *   {
- *      evas_touch_point_nth_xy_get(evas, 0, &x, &y);
- *      printf("The first touch point's co-ordinate: (%i, %i)\n", x, y);
- *   }
- * @endcode
- *
- * @see evas_touch_point_list_count()
- * @see evas_touch_point_list_nth_id_get()
- * @see evas_touch_point_list_nth_state_get()
- */
-EAPI void                   evas_touch_point_list_nth_xy_get(Evas *e, unsigned int n, Evas_Coord *x, Evas_Coord *y) EINA_ARG_NONNULL(1);
-
-/**
- * This function returns the @p id of nth touch point.
- *
- * @param e The pointer to the Evas canvas.
- * @param n The number of the touched point (0 being the first).
- * @return id of nth touch point, if the call succeeded, -1 otherwise.
- *
- * The point which comes from Mouse Event has @p id 0 and The point
- * which comes from Multi Event has @p id that is same as Multi
- * Event's device id.
- *
- * Example:
- * @code
- * extern Evas *evas;
- * int id;
- *
- * if (evas_touch_point_list_count(evas))
- *   {
- *      id = evas_touch_point_nth_id_get(evas, 0);
- *      printf("The first touch point's id: %i\n", id);
- *   }
- * @endcode
- *
- * @see evas_touch_point_list_count()
- * @see evas_touch_point_list_nth_xy_get()
- * @see evas_touch_point_list_nth_state_get()
- */
-EAPI int                    evas_touch_point_list_nth_id_get(Evas *e, unsigned int n) EINA_ARG_NONNULL(1);
-
-/**
- * This function returns the @p state of nth touch point.
- *
- * @param e The pointer to the Evas canvas.
- * @param n The number of the touched point (0 being the first).
- * @return @p state of nth touch point, if the call succeeded,
- *         EVAS_TOUCH_POINT_CANCEL otherwise.
- *
- * The point's @p state is EVAS_TOUCH_POINT_DOWN when pressed,
- * EVAS_TOUCH_POINT_STILL when the point is not moved after pressed,
- * EVAS_TOUCH_POINT_MOVE when moved at least once after pressed and
- * EVAS_TOUCH_POINT_UP when released.
- *
- * Example:
- * @code
- * extern Evas *evas;
- * Evas_Touch_Point_State state;
- *
- * if (evas_touch_point_list_count(evas))
- *   {
- *      state = evas_touch_point_nth_state_get(evas, 0);
- *      printf("The first touch point's state: %i\n", state);
- *   }
- * @endcode
- *
- * @see evas_touch_point_list_count()
- * @see evas_touch_point_list_nth_xy_get()
- * @see evas_touch_point_list_nth_id_get()
- */
-EAPI Evas_Touch_Point_State evas_touch_point_list_nth_state_get(Evas *e, unsigned int n) EINA_ARG_NONNULL(1);
-
-/**
- * @}
- */
-
-/**
  * @since 1.8
  *
  * Adds an output to the canvas