From edd4f14f003078da48ff9dd0475791c65c1c2bd5 Mon Sep 17 00:00:00 2001 From: Yossi Kantor Date: Thu, 3 Apr 2014 18:15:14 +0300 Subject: [PATCH] Eolian: Legacy integration of Evas class --- src/Makefile_Evas.am | 5 +- src/lib/evas/Evas_Legacy.h | 1792 +----------------------------------- 2 files changed, 29 insertions(+), 1768 deletions(-) diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am index 69e274be08..3617f4cfe7 100644 --- a/src/Makefile_Evas.am +++ b/src/Makefile_Evas.am @@ -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 \ diff --git a/src/lib/evas/Evas_Legacy.h b/src/lib/evas/Evas_Legacy.h index 822a772eda..deb0a61b04 100644 --- a/src/lib/evas/Evas_Legacy.h +++ b/src/lib/evas/Evas_Legacy.h @@ -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 must not 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 very low level function, 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 very low level function, 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 very low level function, 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); - +#include "canvas/evas.eo.legacy.h" /** * @} */ -/** - * @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); - -/** - * @} - */ - /** * @ingroup Evas_Canvas_Events * @@ -951,33 +258,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. * @@ -1060,428 +340,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(). * @@ -1492,57 +356,12 @@ 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. * @@ -1951,7 +770,29 @@ EAPI void evas_object_event_callback_add(Evas_Object *obj, Evas_Callback_Ty /** * Add (register) a callback function to a given Evas object event with a - * non-default priority set. Except for thg + * 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 - * - * @{ - */ - - /** * @} */ @@ -2138,107 +957,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 key events 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 @@ -2257,104 +975,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" + /** * @} */ @@ -3239,354 +1847,6 @@ EAPI Evas_Object *evas_object_grid_add(Evas *evas) EINA_WARN_UNUSED_RESULT EIN #include "canvas/evas_grid.eo.legacy.h" -/** - * @} - */ - -/** - * @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); - /** * @} */