summaryrefslogtreecommitdiff
path: root/src/lib/evas
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/evas')
-rw-r--r--src/lib/evas/Efl_Canvas.h10
-rw-r--r--src/lib/evas/Evas.h2
-rw-r--r--src/lib/evas/Evas_Common.h123
-rw-r--r--src/lib/evas/Evas_Eo.h335
-rw-r--r--src/lib/evas/Evas_GL.h4
-rw-r--r--src/lib/evas/Evas_Legacy.h1086
-rw-r--r--src/lib/evas/cache/evas_cache.h2
-rw-r--r--src/lib/evas/cache/evas_cache_engine_image.c69
-rw-r--r--src/lib/evas/cache/evas_cache_image.c168
-rw-r--r--src/lib/evas/canvas/efl_canvas_image.c60
-rw-r--r--src/lib/evas/canvas/efl_canvas_image.eo2
-rw-r--r--src/lib/evas/canvas/efl_canvas_object.eo6
-rw-r--r--src/lib/evas/canvas/efl_canvas_scene3d.c310
-rw-r--r--src/lib/evas/canvas/efl_canvas_scene3d.eo20
-rw-r--r--src/lib/evas/canvas/efl_canvas_textblock.eo69
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_container.c4
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_container_eo.legacy.c6
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_container_eo.legacy.h32
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_gradient.c14
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_gradient_eo.legacy.h21
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_gradient_linear.c12
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_gradient_radial.c16
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_image.c1
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_node.c20
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_node_eo.legacy.c10
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_node_eo.legacy.h31
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_object.c35
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_object_eo.legacy.c12
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_object_eo.legacy.h29
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_shape.c84
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_shape_eo.legacy.h54
-rw-r--r--src/lib/evas/canvas/efl_gfx_mapping.c1
-rw-r--r--src/lib/evas/canvas/efl_gfx_vg_value_provider.c8
-rw-r--r--src/lib/evas/canvas/efl_gfx_vg_value_provider.eo2
-rw-r--r--src/lib/evas/canvas/efl_gfx_vg_value_provider.h2
-rw-r--r--src/lib/evas/canvas/efl_input_types.eot17
-rw-r--r--src/lib/evas/canvas/efl_text_cursor.eo21
-rw-r--r--src/lib/evas/canvas/efl_text_formatter.eo7
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_camera.c203
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_camera.eo89
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_eet.c211
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_light.c309
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_light.eo249
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_material.c206
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_material.eo116
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_mesh.c1172
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_mesh.eo421
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_node.c1695
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_node.eo368
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_node_callback.h36
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_object.c101
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_object.eo77
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_primitive.c152
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_primitive.eo130
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_scene.c839
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_scene.eo168
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_texture.c606
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_texture.eo159
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_types.eot293
-rw-r--r--src/lib/evas/canvas/evas_canvas_eo.h2
-rw-r--r--src/lib/evas/canvas/evas_canvas_eo.legacy.h15
-rw-r--r--src/lib/evas/canvas/evas_events.c44
-rw-r--r--src/lib/evas/canvas/evas_events_legacy.c9
-rw-r--r--src/lib/evas/canvas/evas_grid_eo.c2
-rw-r--r--src/lib/evas/canvas/evas_image_eo.c2
-rw-r--r--src/lib/evas/canvas/evas_image_legacy.c35
-rw-r--r--src/lib/evas/canvas/evas_image_private.h8
-rw-r--r--src/lib/evas/canvas/evas_main.c25
-rw-r--r--src/lib/evas/canvas/evas_object_box.c4
-rw-r--r--src/lib/evas/canvas/evas_object_grid.c23
-rw-r--r--src/lib/evas/canvas/evas_object_image.c53
-rw-r--r--src/lib/evas/canvas/evas_object_intercept.c25
-rw-r--r--src/lib/evas/canvas/evas_object_main.c43
-rw-r--r--src/lib/evas/canvas/evas_object_smart.c4
-rw-r--r--src/lib/evas/canvas/evas_object_text.c18
-rw-r--r--src/lib/evas/canvas/evas_object_textblock.c1181
-rw-r--r--src/lib/evas/canvas/evas_render.c102
-rw-r--r--src/lib/evas/canvas/evas_table_eo.c2
-rw-r--r--src/lib/evas/canvas/evas_textblock_legacy.h6
-rw-r--r--src/lib/evas/canvas/evas_vg_private.h1
-rw-r--r--src/lib/evas/canvas/meson.build24
-rw-r--r--src/lib/evas/common/evas_convert_gry_8.c4
-rw-r--r--src/lib/evas/common/evas_font_draw.c2
-rw-r--r--src/lib/evas/common/evas_image.h1
-rw-r--r--src/lib/evas/common/evas_image_main.c12
-rw-r--r--src/lib/evas/common3d/meson.build2
-rw-r--r--src/lib/evas/common3d/primitives/meson.build5
-rw-r--r--src/lib/evas/common3d/primitives/primitive_common.c203
-rw-r--r--src/lib/evas/common3d/primitives/primitive_common.h62
-rw-r--r--src/lib/evas/common3d/primitives/solids_of_revolution/cone.c140
-rw-r--r--src/lib/evas/common3d/primitives/solids_of_revolution/cylinder.c136
-rw-r--r--src/lib/evas/common3d/primitives/solids_of_revolution/meson.build6
-rw-r--r--src/lib/evas/common3d/primitives/solids_of_revolution/sphere.c189
-rw-r--r--src/lib/evas/common3d/primitives/solids_of_revolution/torus.c67
-rw-r--r--src/lib/evas/common3d/primitives/surfaces/meson.build4
-rw-r--r--src/lib/evas/common3d/primitives/surfaces/surface.c91
-rw-r--r--src/lib/evas/common3d/primitives/surfaces/terrain.c86
-rw-r--r--src/lib/evas/common3d/primitives/tabulated_primitives/cube.c57
-rw-r--r--src/lib/evas/common3d/primitives/tabulated_primitives/meson.build4
-rw-r--r--src/lib/evas/common3d/primitives/tabulated_primitives/square.c18
-rw-r--r--src/lib/evas/common3d/save_load/evas_model_load.c82
-rw-r--r--src/lib/evas/common3d/save_load/evas_model_load_save_common.c230
-rw-r--r--src/lib/evas/common3d/save_load/evas_model_load_save_common.h62
-rw-r--r--src/lib/evas/common3d/save_load/evas_model_save.c34
-rw-r--r--src/lib/evas/common3d/save_load/meson.build6
-rw-r--r--src/lib/evas/filters/evas_filter.c2
-rw-r--r--src/lib/evas/filters/evas_filter_parser.c46
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture.c23
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture.eo17
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_custom.c25
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_custom.eo32
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_double_tap.c13
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_double_tap.eo3
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_events.eo13
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_flick.c13
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_flick.eo3
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_long_press.c5
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_long_press.eo11
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_long_tap.c23
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_long_tap.eo15
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_manager.c592
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_manager.eo25
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_momentum.c13
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_momentum.eo3
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_private.h111
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer.c139
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer.eo37
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_custom.c37
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_custom.eo28
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_double_tap.c175
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_double_tap.eo14
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_flick.c289
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_flick.eo2
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_long_press.c143
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_long_press.eo13
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_long_tap.c176
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_long_tap.eo26
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_momentum.c273
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_momentum.eo2
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_rotate.c269
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_rotate.eo12
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_tap.c92
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_tap.eo2
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_triple_tap.c174
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_triple_tap.eo14
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_zoom.c255
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_zoom.eo2
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_rotate.c17
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_rotate.eo28
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_tap.c13
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_tap.eo3
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_touch.c110
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_touch.eo35
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_triple_tap.c13
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_triple_tap.eo3
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_types.eot51
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_zoom.c18
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_zoom.eo4
-rw-r--r--src/lib/evas/gesture/meson.build16
-rw-r--r--src/lib/evas/include/evas_3d_utils.h1698
-rw-r--r--src/lib/evas/include/evas_common_private.h3
-rw-r--r--src/lib/evas/include/evas_inline.x2
-rw-r--r--src/lib/evas/include/evas_private.h513
-rw-r--r--src/lib/evas/meson.build25
-rw-r--r--src/lib/evas/vg/evas_vg_cache.c10
165 files changed, 4275 insertions, 14885 deletions
diff --git a/src/lib/evas/Efl_Canvas.h b/src/lib/evas/Efl_Canvas.h
index fe18f75353..55534b17dc 100644
--- a/src/lib/evas/Efl_Canvas.h
+++ b/src/lib/evas/Efl_Canvas.h
@@ -58,11 +58,11 @@ extern "C" {
58#include "canvas/efl_input_focus.eo.h" 58#include "canvas/efl_input_focus.eo.h"
59#include "canvas/efl_input_clickable.eo.h" 59#include "canvas/efl_input_clickable.eo.h"
60 60
61#include <canvas/efl_canvas_object.eo.h>
61#include <gesture/efl_canvas_gesture.eo.h> 62#include <gesture/efl_canvas_gesture.eo.h>
62#include <gesture/efl_canvas_gesture_touch.eo.h> 63#include <gesture/efl_canvas_gesture_touch.eo.h>
63#include <gesture/efl_canvas_gesture_recognizer.eo.h> 64#include <gesture/efl_canvas_gesture_recognizer.eo.h>
64#include <gesture/efl_canvas_gesture_manager.eo.h> 65#include <gesture/efl_canvas_gesture_manager.eo.h>
65#include <canvas/efl_canvas_object.eo.h>
66 66
67#include <canvas/efl_canvas_alpha_animation.eo.h> 67#include <canvas/efl_canvas_alpha_animation.eo.h>
68#include <canvas/efl_canvas_animation.eo.h> 68#include <canvas/efl_canvas_animation.eo.h>
@@ -109,18 +109,22 @@ extern "C" {
109 109
110#include <gesture/efl_canvas_gesture_double_tap.eo.h> 110#include <gesture/efl_canvas_gesture_double_tap.eo.h>
111#include <gesture/efl_canvas_gesture_flick.eo.h> 111#include <gesture/efl_canvas_gesture_flick.eo.h>
112#include <gesture/efl_canvas_gesture_long_tap.eo.h> 112#include <gesture/efl_canvas_gesture_long_press.eo.h>
113#include <gesture/efl_canvas_gesture_momentum.eo.h> 113#include <gesture/efl_canvas_gesture_momentum.eo.h>
114#include <gesture/efl_canvas_gesture_recognizer_double_tap.eo.h> 114#include <gesture/efl_canvas_gesture_recognizer_double_tap.eo.h>
115#include <gesture/efl_canvas_gesture_recognizer_flick.eo.h> 115#include <gesture/efl_canvas_gesture_recognizer_flick.eo.h>
116#include <gesture/efl_canvas_gesture_recognizer_long_tap.eo.h> 116#include <gesture/efl_canvas_gesture_recognizer_long_press.eo.h>
117#include <gesture/efl_canvas_gesture_recognizer_momentum.eo.h> 117#include <gesture/efl_canvas_gesture_recognizer_momentum.eo.h>
118#include <gesture/efl_canvas_gesture_recognizer_tap.eo.h> 118#include <gesture/efl_canvas_gesture_recognizer_tap.eo.h>
119#include <gesture/efl_canvas_gesture_recognizer_triple_tap.eo.h> 119#include <gesture/efl_canvas_gesture_recognizer_triple_tap.eo.h>
120#include <gesture/efl_canvas_gesture_recognizer_rotate.eo.h>
120#include <gesture/efl_canvas_gesture_recognizer_zoom.eo.h> 121#include <gesture/efl_canvas_gesture_recognizer_zoom.eo.h>
122#include <gesture/efl_canvas_gesture_recognizer_custom.eo.h>
121#include <gesture/efl_canvas_gesture_tap.eo.h> 123#include <gesture/efl_canvas_gesture_tap.eo.h>
122#include <gesture/efl_canvas_gesture_triple_tap.eo.h> 124#include <gesture/efl_canvas_gesture_triple_tap.eo.h>
125#include <gesture/efl_canvas_gesture_rotate.eo.h>
123#include <gesture/efl_canvas_gesture_zoom.eo.h> 126#include <gesture/efl_canvas_gesture_zoom.eo.h>
127#include <gesture/efl_canvas_gesture_custom.eo.h>
124#include <gesture/efl_canvas_gesture_events.eo.h> 128#include <gesture/efl_canvas_gesture_events.eo.h>
125 129
126 130
diff --git a/src/lib/evas/Evas.h b/src/lib/evas/Evas.h
index e00d1b3916..b382ca4907 100644
--- a/src/lib/evas/Evas.h
+++ b/src/lib/evas/Evas.h
@@ -3,7 +3,7 @@
3 3
4 @date 2000 (created) 4 @date 2000 (created)
5 5
6 @section toc Table of Contents 6 @section evas_toc Table of Contents
7 7
8 @li @ref evas_main_intro 8 @li @ref evas_main_intro
9 @li @ref evas_main_work 9 @li @ref evas_main_work
diff --git a/src/lib/evas/Evas_Common.h b/src/lib/evas/Evas_Common.h
index b1cecf11ba..c70b183a2a 100644
--- a/src/lib/evas/Evas_Common.h
+++ b/src/lib/evas/Evas_Common.h
@@ -302,7 +302,12 @@ typedef enum _Evas_Engine_Render_Mode
302 EVAS_RENDER_MODE_NONBLOCKING = 1, /**< The rendering is non blocking mode*/ 302 EVAS_RENDER_MODE_NONBLOCKING = 1, /**< The rendering is non blocking mode*/
303} Evas_Engine_Render_Mode; /**< behaviour of the renderer*/ 303} Evas_Engine_Render_Mode; /**< behaviour of the renderer*/
304 304
305typedef Efl_Gfx_Event_Render_Post Evas_Event_Render_Post; /**< Event info sent after a frame was rendered. @since 1.18 */ 305typedef struct _Evas_Event_Render_Post Evas_Event_Render_Post; /**< Event info sent after a frame was rendered. @since 1.18 */
306struct _Evas_Event_Render_Post
307{
308 Eina_List *updated_area; /**< A list of rectangles that were updated in the
309 * canvas. */
310};
306 311
307typedef enum _Evas_Device_Class 312typedef enum _Evas_Device_Class
308{ 313{
@@ -3360,122 +3365,6 @@ EAPI const Eina_List *evas_font_path_global_list(void) EINA_WARN_UNUSED_R
3360 */ 3365 */
3361EAPI void evas_font_reinit(void); 3366EAPI void evas_font_reinit(void);
3362 3367
3363
3364/* this is now public, non-beta api forever because someone didn't add a beta
3365 api guard.
3366 */
3367#ifndef _EFL_ANIMATION_EO_CLASS_TYPE
3368#define _EFL_ANIMATION_EO_CLASS_TYPE
3369
3370typedef Eo Efl_Animation;
3371
3372#endif
3373
3374#ifndef _EFL_ALPHA_ANIMATION_EO_CLASS_TYPE
3375#define _EFL_ALPHA_ANIMATION_EO_CLASS_TYPE
3376
3377typedef Eo Efl_Alpha_Animation;
3378
3379#endif
3380
3381#ifndef _EFL_ROTATE_ANIMATION_EO_CLASS_TYPE
3382#define _EFL_ROTATE_ANIMATION_EO_CLASS_TYPE
3383
3384typedef Eo Efl_Rotate_Animation;
3385
3386#endif
3387
3388#ifndef _EFL_SCALE_ANIMATION_EO_CLASS_TYPE
3389#define _EFL_SCALE_ANIMATION_EO_CLASS_TYPE
3390
3391typedef Eo Efl_Scale_Animation;
3392
3393#endif
3394
3395#ifndef _EFL_TRANSLATE_ANIMATION_EO_CLASS_TYPE
3396#define _EFL_TRANSLATE_ANIMATION_EO_CLASS_TYPE
3397
3398typedef Eo Efl_Translate_Animation;
3399
3400#endif
3401
3402#ifndef _EFL_GROUP_ANIMATION_EO_CLASS_TYPE
3403#define _EFL_GROUP_ANIMATION_EO_CLASS_TYPE
3404
3405typedef Eo Efl_Group_Animation;
3406
3407#endif
3408
3409#ifndef _EFL_PARALLEL_GROUP_ANIMATION_EO_CLASS_TYPE
3410#define _EFL_PARALLEL_GROUP_ANIMATION_EO_CLASS_TYPE
3411
3412typedef Eo Efl_Parallel_Group_Animation;
3413
3414#endif
3415
3416#ifndef _EFL_SEQUENTIAL_GROUP_ANIMATION_EO_CLASS_TYPE
3417#define _EFL_SEQUENTIAL_GROUP_ANIMATION_EO_CLASS_TYPE
3418
3419typedef Eo Efl_Sequential_Group_Animation;
3420
3421#endif
3422
3423#ifndef _EFL_ANIMATION_PLAYER_EO_CLASS_TYPE
3424#define _EFL_ANIMATION_PLAYER_EO_CLASS_TYPE
3425
3426typedef Eo Efl_Animation_Player;
3427
3428#endif
3429
3430#ifndef _EFL_ANIMATION_PLAYER_ALPHA_EO_CLASS_TYPE
3431#define _EFL_ANIMATION_PLAYER_ALPHA_EO_CLASS_TYPE
3432
3433typedef Eo Efl_Animation_Player_Alpha;
3434
3435#endif
3436
3437#ifndef _EFL_ANIMATION_PLAYER_ROTATE_EO_CLASS_TYPE
3438#define _EFL_ANIMATION_PLAYER_ROTATE_EO_CLASS_TYPE
3439
3440typedef Eo Efl_Animation_Player_Rotate;
3441
3442#endif
3443
3444#ifndef _EFL_ANIMATION_PLAYER_SCALE_EO_CLASS_TYPE
3445#define _EFL_ANIMATION_PLAYER_SCALE_EO_CLASS_TYPE
3446
3447typedef Eo Efl_Animation_Player_Scale;
3448
3449#endif
3450
3451#ifndef _EFL_ANIMATION_PLAYER_TRANSLATE_EO_CLASS_TYPE
3452#define _EFL_ANIMATION_PLAYER_TRANSLATE_EO_CLASS_TYPE
3453
3454typedef Eo Efl_Animation_Player_Translate;
3455
3456#endif
3457
3458#ifndef _EFL_ANIMATION_PLAYER_GROUP_EO_CLASS_TYPE
3459#define _EFL_ANIMATION_PLAYER_GROUP_EO_CLASS_TYPE
3460
3461typedef Eo Efl_Animation_Player_Group;
3462
3463#endif
3464
3465#ifndef _EFL_PARALLEL_GROUP_ANIMATION_EO_CLASS_TYPE
3466#define _EFL_PARALLEL_GROUP_ANIMATION_EO_CLASS_TYPE
3467
3468typedef Eo Efl_Parallel_Group_Animation;
3469
3470#endif
3471
3472#ifndef _EFL_SEQUENTIAL_GROUP_ANIMATION_EO_CLASS_TYPE
3473#define _EFL_SEQUENTIAL_GROUP_ANIMATION_EO_CLASS_TYPE
3474
3475typedef Eo Efl_Sequential_Group_Animation;
3476
3477#endif
3478
3479// The below type are necessary for legacy API and need to be manually kept in sync with .eo file. 3368// The below type are necessary for legacy API and need to be manually kept in sync with .eo file.
3480#ifndef _EFL_INPUT_DEVICE_EO_CLASS_TYPE 3369#ifndef _EFL_INPUT_DEVICE_EO_CLASS_TYPE
3481#define _EFL_INPUT_DEVICE_EO_CLASS_TYPE 3370#define _EFL_INPUT_DEVICE_EO_CLASS_TYPE
diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h
index 356a8fcc53..aefbe144f7 100644
--- a/src/lib/evas/Evas_Eo.h
+++ b/src/lib/evas/Evas_Eo.h
@@ -9,119 +9,6 @@ typedef Eo Efl_Canvas_Vg_Node;
9 9
10#endif 10#endif
11 11
12
13#ifndef _EFL_CANVAS_ANIMATION_EO_CLASS_TYPE
14#define _EFL_CANVAS_ANIMATION_EO_CLASS_TYPE
15
16typedef Eo Efl_Canvas_Animation;
17
18#endif
19
20#ifndef _EFL_CANVAS_ALPHA_ANIMATION_EO_CLASS_TYPE
21#define _EFL_CANVAS_ALPHA_ANIMATION_EO_CLASS_TYPE
22
23typedef Eo Efl_Canvas_Alpha_Animation;
24
25#endif
26
27#ifndef _EFL_CANVAS_ROTATE_ANIMATION_EO_CLASS_TYPE
28#define _EFL_CANVAS_ROTATE_ANIMATION_EO_CLASS_TYPE
29
30typedef Eo Efl_Canvas_Rotate_Animation;
31
32#endif
33
34#ifndef _EFL_CANVAS_SCALE_ANIMATION_EO_CLASS_TYPE
35#define _EFL_CANVAS_SCALE_ANIMATION_EO_CLASS_TYPE
36
37typedef Eo Efl_Canvas_Scale_Animation;
38
39#endif
40
41#ifndef _EFL_CANVAS_TRANSLATE_ANIMATION_EO_CLASS_TYPE
42#define _EFL_CANVAS_TRANSLATE_ANIMATION_EO_CLASS_TYPE
43
44typedef Eo Efl_Canvas_Translate_Animation;
45
46#endif
47
48#ifndef _EFL_CANVAS_GROUP_ANIMATION_EO_CLASS_TYPE
49#define _EFL_CANVAS_GROUP_ANIMATION_EO_CLASS_TYPE
50
51typedef Eo Efl_Canvas_Group_Animation;
52
53#endif
54
55#ifndef _EFL_CANVAS_PARALLEL_GROUP_ANIMATION_EO_CLASS_TYPE
56#define _EFL_CANVAS_PARALLEL_GROUP_ANIMATION_EO_CLASS_TYPE
57
58typedef Eo Efl_Canvas_Parallel_Group_Animation;
59
60#endif
61
62#ifndef _EFL_CANVAS_SEQUENTIAL_GROUP_ANIMATION_EO_CLASS_TYPE
63#define _EFL_CANVAS_SEQUENTIAL_GROUP_ANIMATION_EO_CLASS_TYPE
64
65typedef Eo Efl_Canvas_Sequential_Group_Animation;
66
67#endif
68
69#ifndef _EFL_CANVAS_ANIMATION_PLAYER_EO_CLASS_TYPE
70#define _EFL_CANVAS_ANIMATION_PLAYER_EO_CLASS_TYPE
71
72typedef Eo Efl_Canvas_Animation_Player;
73
74#endif
75
76#ifndef _EFL_CANVAS_ANIMATION_PLAYER_ALPHA_EO_CLASS_TYPE
77#define _EFL_CANVAS_ANIMATION_PLAYER_ALPHA_EO_CLASS_TYPE
78
79typedef Eo Efl_Canvas_Animation_Player_Alpha;
80
81#endif
82
83#ifndef _EFL_CANVAS_ANIMATION_PLAYER_ROTATE_EO_CLASS_TYPE
84#define _EFL_CANVAS_ANIMATION_PLAYER_ROTATE_EO_CLASS_TYPE
85
86typedef Eo Efl_Canvas_Animation_Player_Rotate;
87
88#endif
89
90#ifndef _EFL_CANVAS_ANIMATION_PLAYER_SCALE_EO_CLASS_TYPE
91#define _EFL_CANVAS_ANIMATION_PLAYER_SCALE_EO_CLASS_TYPE
92
93typedef Eo Efl_Canvas_Animation_Player_Scale;
94
95#endif
96
97#ifndef _EFL_CANVAS_ANIMATION_PLAYER_TRANSLATE_EO_CLASS_TYPE
98#define _EFL_CANVAS_ANIMATION_PLAYER_TRANSLATE_EO_CLASS_TYPE
99
100typedef Eo Efl_Canvas_Animation_Player_Translate;
101
102#endif
103
104#ifndef _EFL_CANVAS_ANIMATION_PLAYER_GROUP_EO_CLASS_TYPE
105#define _EFL_CANVAS_ANIMATION_PLAYER_GROUP_EO_CLASS_TYPE
106
107typedef Eo Efl_Canvas_Animation_Player_Group;
108
109#endif
110
111#ifndef _EFL_CANVAS_PARALLEL_GROUP_ANIMATION_EO_CLASS_TYPE
112#define _EFL_CANVAS_PARALLEL_GROUP_ANIMATION_EO_CLASS_TYPE
113
114typedef Eo Efl_Canvas_Parallel_Group_Animation;
115
116#endif
117
118#ifndef _EFL_CANVAS_SEQUENTIAL_GROUP_ANIMATION_EO_CLASS_TYPE
119#define _EFL_CANVAS_SEQUENTIAL_GROUP_ANIMATION_EO_CLASS_TYPE
120
121typedef Eo Efl_Canvas_Sequential_Group_Animation;
122
123#endif
124
125struct _Efl_Canvas_Animation_Player_Event_Running 12struct _Efl_Canvas_Animation_Player_Event_Running
126{ 13{
127 double progress; 14 double progress;
@@ -199,25 +86,28 @@ struct _Efl_Canvas_Object_Animation_Event
199#include "gesture/efl_canvas_gesture_touch.eo.h" 86#include "gesture/efl_canvas_gesture_touch.eo.h"
200#include "gesture/efl_canvas_gesture.eo.h" 87#include "gesture/efl_canvas_gesture.eo.h"
201#include "gesture/efl_canvas_gesture_tap.eo.h" 88#include "gesture/efl_canvas_gesture_tap.eo.h"
202#include "gesture/efl_canvas_gesture_long_tap.eo.h" 89#include "gesture/efl_canvas_gesture_long_press.eo.h"
203#include "gesture/efl_canvas_gesture_double_tap.eo.h" 90#include "gesture/efl_canvas_gesture_double_tap.eo.h"
204#include "gesture/efl_canvas_gesture_triple_tap.eo.h" 91#include "gesture/efl_canvas_gesture_triple_tap.eo.h"
205#include "gesture/efl_canvas_gesture_momentum.eo.h" 92#include "gesture/efl_canvas_gesture_momentum.eo.h"
206#include "gesture/efl_canvas_gesture_flick.eo.h" 93#include "gesture/efl_canvas_gesture_flick.eo.h"
94#include "gesture/efl_canvas_gesture_rotate.eo.h"
207#include "gesture/efl_canvas_gesture_zoom.eo.h" 95#include "gesture/efl_canvas_gesture_zoom.eo.h"
96#include "gesture/efl_canvas_gesture_custom.eo.h"
208#include "gesture/efl_canvas_gesture_recognizer.eo.h" 97#include "gesture/efl_canvas_gesture_recognizer.eo.h"
209#include "gesture/efl_canvas_gesture_recognizer_tap.eo.h" 98#include "gesture/efl_canvas_gesture_recognizer_tap.eo.h"
210#include "gesture/efl_canvas_gesture_recognizer_long_tap.eo.h" 99#include "gesture/efl_canvas_gesture_recognizer_long_press.eo.h"
211#include "gesture/efl_canvas_gesture_recognizer_double_tap.eo.h" 100#include "gesture/efl_canvas_gesture_recognizer_double_tap.eo.h"
212#include "gesture/efl_canvas_gesture_recognizer_triple_tap.eo.h" 101#include "gesture/efl_canvas_gesture_recognizer_triple_tap.eo.h"
213#include "gesture/efl_canvas_gesture_recognizer_momentum.eo.h" 102#include "gesture/efl_canvas_gesture_recognizer_momentum.eo.h"
214#include "gesture/efl_canvas_gesture_recognizer_flick.eo.h" 103#include "gesture/efl_canvas_gesture_recognizer_flick.eo.h"
104#include "gesture/efl_canvas_gesture_recognizer_rotate.eo.h"
215#include "gesture/efl_canvas_gesture_recognizer_zoom.eo.h" 105#include "gesture/efl_canvas_gesture_recognizer_zoom.eo.h"
106#include "gesture/efl_canvas_gesture_recognizer_custom.eo.h"
216#include "gesture/efl_canvas_gesture_manager.eo.h" 107#include "gesture/efl_canvas_gesture_manager.eo.h"
217#include "gesture/efl_canvas_gesture_events.eo.h" 108#include "gesture/efl_canvas_gesture_events.eo.h"
218 109
219#include "canvas/efl_canvas_object.eo.h" 110#include "canvas/efl_canvas_object.eo.h"
220#include "canvas/efl_canvas_object_animation.eo.h"
221#include "canvas/efl_canvas_animation.eo.h" 111#include "canvas/efl_canvas_animation.eo.h"
222#include "canvas/efl_canvas_alpha_animation.eo.h" 112#include "canvas/efl_canvas_alpha_animation.eo.h"
223#include "canvas/efl_canvas_rotate_animation.eo.h" 113#include "canvas/efl_canvas_rotate_animation.eo.h"
@@ -226,220 +116,9 @@ struct _Efl_Canvas_Object_Animation_Event
226#include "canvas/efl_canvas_group_animation.eo.h" 116#include "canvas/efl_canvas_group_animation.eo.h"
227#include "canvas/efl_canvas_parallel_group_animation.eo.h" 117#include "canvas/efl_canvas_parallel_group_animation.eo.h"
228#include "canvas/efl_canvas_sequential_group_animation.eo.h" 118#include "canvas/efl_canvas_sequential_group_animation.eo.h"
119#include "canvas/efl_canvas_object_animation.eo.h"
229#include "canvas/efl_canvas_event_grabber.eo.h" 120#include "canvas/efl_canvas_event_grabber.eo.h"
230 121
231 /**
232 * @defgroup Evas_3D Evas 3D Extensions
233 *
234 * Evas extension to support 3D rendering.
235 *
236 * @ingroup Evas
237 */
238
239#include "canvas/evas_canvas3d_types.eot.h"
240
241/**
242 * @page evas_canvas3d_main Evas 3D
243 *
244 * @since 1.10
245 *
246 * @section toc Table of Contents
247 *
248 * @li @ref evas_canvas3d_intro
249 * @li @ref evas_canvas3d_example
250 *
251 * @section evas_canvas3d_intro Introduction
252 *
253 * Evas 3D is an extension to support 3D scene graph rendering into 2D Evas
254 * canvases, with tree-based scene graph manipulation and other typical 3D
255 * rendering techniques.
256 *
257 * 3D objects are used to describe three dimensional scenes and to provide
258 * interfaces to connect the scene to an Evas image object for rendering.
259 *
260 * Scenes are constructed by locating cameras and lights and selecting desired
261 * meshes, and organizing Node objects into hierarchical n-ary tree data structures.
262 * The scene is stacked on the canvas with existing Evas objects, which permits
263 * intermingling 3D rendered content in existing 2D application layouts.
264 *
265 * Rendering techniques supported by Evas 3D include flat and phong
266 * shading, normal and texture mapping, and triangle meshes. Existing
267 * Evas objects may also be used as textures inside the 3D scene,
268 * including EFL widgets and even application windows. This latter
269 * capability makes it possible to create a 3D version of an arbitrary
270 * EFL application with minimal code changes.
271 *
272 * @section evas_canvas3d_example Introductory Example
273 *
274 * @include evas-3d-cube.c
275 */
276
277/**
278 * @defgroup Evas_Canvas3D_Types Types & Enums
279 * @ingroup Evas_3D
280 *
281 * Primitive type definitions and enumerations.
282 */
283
284/**
285 * @defgroup Evas_Canvas3D_Object Generic 3D Object Descriptions
286 * @ingroup Evas_3D
287 *
288 * The Evas_Canvas3D_Object structure is an abstract base for other Evas
289 * 3D objects (scenes, nodes, lights, meshes, textures, and materials)
290 * with reference counting and propagation of modifications via
291 * reference tracking. This permits, for example, when a scene object
292 * is modified (marked dirty), a number of image objects rendering that
293 * object to be notified to update themselves, without needing to call
294 * update functions manually.
295 */
296
297/**
298 * @defgroup Evas_Canvas3D_Scene Scene Object
299 * @ingroup Evas_3D
300 *
301 * The Evas_Canvas3D_Scene structure represents a captured image of a
302 * scene graph through its viewing camera. A scene can be associated
303 * with an image object for canvas display via the
304 * evas_object_image_scene_set() function.
305 */
306
307/**
308 * @defgroup Evas_Canvas3D_Node Node Object
309 * @ingroup Evas_3D
310 *
311 * The Evas_Canvas3D_Node structure defines the position, orientation,
312 * and scale of canvas objects (cameras, lights, meshes, etc.) in a 3D
313 * space. These nodes can be organized into a hierarchical n-ary tree
314 * structure to construct a scene graph.
315 */
316
317/**
318 * @defgroup Evas_Canvas3D_Camera Camera Object
319 * @ingroup Evas_3D
320 *
321 * The Evas_Canvas3D_Camera structure defines properties used to
322 * generate 2D pictures of a given scene graph, similar in concept to
323 * focus length and film size for a real world camera.
324 *
325 * A given camera definition can be used to take multiple pictures of
326 * the scene by establishing multiple nodes for the
327 * Evas_Canvas3D_Camera, each of which are located at different
328 * positions and with different orientations. Convenience routines
329 * evas_canvas3d_node_position_set() and
330 * evas_canvas3d_node_look_at_set() are provided to adjust the position
331 * and viewing direction for these nodes.
332 */
333
334/**
335 * @defgroup Evas_Canvas3D_Light Light Object
336 * @ingroup Evas_3D
337 *
338 * The Evas_Canvas3D_Light structure defines various light source
339 * properties. Reflection models include: Ambient, diffuse, and
340 * specular. Light models include directional, point, and spot. The
341 * position and direction for the light is tracked by the node that
342 * contains the light.
343 */
344
345/**
346 * @defgroup Evas_Canvas3D_Mesh Mesh Object
347 * @ingroup Evas_3D
348 *
349 * The Evas_Canvas3D_Mesh structure manages key-frame based mesh
350 * animations for geometrical objects like character models, terrain,
351 * buildings, and other such visible objects. Each mesh frame can have
352 * its own material and geometric data. Blending functions, fog
353 * effects, level of detail boundaries, and shadow properties are also
354 * supported.
355 *
356 * Like other data objects, a mesh definition is located and oriented in
357 * the canvas with one or more nodes, with the mesh transformed from its
358 * modeling coordinate space to the node's coordinate space. The frame
359 * number is also tracked by the node, permitting creation of multiple
360 * nodes in the canvas each set to a different animation frame, for
361 * example.
362 *
363 * Unlike camera and light objects, multiple meshes can be contained in
364 * a single node.
365 */
366
367/**
368 * @defgroup Evas_Canvas3D_Primitive Primitive Object
369 * @ingroup Evas_3D
370 *
371 * The Evas_Canvas3D_Primitive structure defines the data for
372 * generating meshes for various types of primitive shapes such as
373 * cubes, cylinders, spheres, surfaces, terrain, etc. Use the
374 * evas_canvas3d_mesh_from_primitive_set() function to generate a
375 * mesh's frame of this primitive.
376 */
377
378/**
379 * @defgroup Evas_Canvas3D_Texture Texture Object
380 * @ingroup Evas_3D
381 *
382 * The Evas_Canvas3D_Texture structure associates a 2D bitmap image to a
383 * material for a surface. Image data for the texture can be loaded
384 * from memory, a file, or an Evas_Object. Use the
385 * evas_canvas3d_material_texture_set() function to add the texture to
386 * an Evas_Canvas3DMaterial's slot.
387 */
388
389/**
390 * @defgroup Evas_Canvas3D_Material Material Object
391 * @ingroup Evas_3D
392 *
393 * The Evas_Canvas3D_Material structure defines a set of material
394 * attributes used for determining the color of mesh surfaces. Each
395 * attribute is defined by a color value and texture map. The five
396 * attributes are: ambient, diffuse, specular, emission, and normal.
397 */
398
399/**
400 * @typedef Evas_Canvas3D_Surface_Func
401 *
402 * The Evas_Canvas3D_Surface_Func type of functions are used to
403 * create parametric surfaces as primitives. These compute the
404 * vertex x,y,z values for given v,u values.
405 *
406 * @param out_x The x component of the calculated value.
407 * @param out_y The y component of the calculated value.
408 * @param out_z The z component of the calculated value.
409 * @param a is the v value.
410 * @param b is the u value.
411
412 * @see Evas_Canvas3D_Primitive
413 *
414 * @since 1.15
415 * @ingroup Evas_Canvas3D_Primitive
416 */
417typedef void (Evas_Canvas3D_Surface_Func)(Evas_Real *out_x,
418 Evas_Real *out_y,
419 Evas_Real *out_z,
420 Evas_Real a,
421 Evas_Real b);
422
423#include "canvas/evas_canvas3d_object.eo.h"
424
425#include "canvas/evas_canvas3d_texture.eo.h"
426
427#include "canvas/evas_canvas3d_material.eo.h"
428
429#include "canvas/evas_canvas3d_light.eo.h"
430
431#include "canvas/evas_canvas3d_primitive.eo.h"
432
433#include "canvas/evas_canvas3d_mesh.eo.h"
434
435#include "canvas/evas_canvas3d_node.eo.h"
436
437#include "canvas/evas_canvas3d_camera.eo.h"
438
439#include "canvas/evas_canvas3d_scene.eo.h"
440
441#include "canvas/efl_canvas_scene3d.eo.h"
442
443#include "canvas/efl_canvas_image_internal.eo.h" 122#include "canvas/efl_canvas_image_internal.eo.h"
444#include "canvas/efl_canvas_image.eo.h" 123#include "canvas/efl_canvas_image.eo.h"
445#include "canvas/efl_canvas_snapshot.eo.h" 124#include "canvas/efl_canvas_snapshot.eo.h"
diff --git a/src/lib/evas/Evas_GL.h b/src/lib/evas/Evas_GL.h
index d06e88a053..0a96f7e13c 100644
--- a/src/lib/evas/Evas_GL.h
+++ b/src/lib/evas/Evas_GL.h
@@ -5990,7 +5990,7 @@ EvasGLImage *img = glapi->evasglCreateImageForContext
5990 void (*glWaitSync) (GLsync sync, GLbitfield flags, uint64_t timeout); 5990 void (*glWaitSync) (GLsync sync, GLbitfield flags, uint64_t timeout);
5991 /** @} */ 5991 /** @} */
5992 /** 5992 /**
5993 * @anchor gles3.1 5993 * @anchor gles3_1
5994 * @name OpenGL-ES 3.1. 5994 * @name OpenGL-ES 3.1.
5995 * 5995 *
5996 * Evas_GL_API version 5. 5996 * Evas_GL_API version 5.
@@ -6070,7 +6070,7 @@ EvasGLImage *img = glapi->evasglCreateImageForContext
6070 /** @} */ 6070 /** @} */
6071 6071
6072 /** 6072 /**
6073 * @anchor gles3.2 6073 * @anchor gles3_2
6074 * @name OpenGL-ES 3.2. 6074 * @name OpenGL-ES 3.2.
6075 * 6075 *
6076 * Evas_GL_API version 6. 6076 * Evas_GL_API version 6.
diff --git a/src/lib/evas/Evas_Legacy.h b/src/lib/evas/Evas_Legacy.h
index ff92ad8bbe..01a7babd6f 100644
--- a/src/lib/evas/Evas_Legacy.h
+++ b/src/lib/evas/Evas_Legacy.h
@@ -3531,34 +3531,32 @@ EAPI Evas_Object *evas_object_rectangle_add(Evas *e) EINA_WARN_UNUSED_RESULT EIN
3531 */ 3531 */
3532 3532
3533/** 3533/**
3534 * @defgroup Evas_Object_Vg 3534 * @defgroup Evas_Object_Vg Vector Graphics Object
3535 * @ingroup Evas 3535 * @ingroup Evas
3536 * 3536 *
3537 * Evas_Object_Vg is the scene graph for managing vector graphics objects. 3537 * Evas_Object_Vg is the scene graph for managing vector graphics objects.
3538 * User can create shape objects as well as fill objects and give it to the 3538 * User can create shape objects as well as fill objects and give them to the
3539 * Evas_Object_Vg for drawing on the screen as well as managing the lifecycle 3539 * Evas_Object_Vg for drawing on the screen as well as managing the lifecycle
3540 * of the objects. enabling reuse of shape objects. 3540 * of the objects, enabling reuse of shape objects.
3541 * 3541 *
3542 * As Evas_Object_Vg is a Evas_Object all the operation that applicable to 3542 * Since Evas_Object_Vg is an Evas_Object all operations applicable to
3543 * a Evas_Object can be performed on it(clipping , map, etc). 3543 * an Evas_Object can be performed on it (clipping, mapping, etc).
3544 * 3544 *
3545 * To create any complex vector graphics you can create a hirarchy of shape 3545 * To create complex vector graphics you can create a hierarchy of shape
3546 * and fill objects and give the hirarchy to Evas_Object which will be 3546 * and fill objects and give the hierarchy to Evas_Object which will be
3547 * responsible for drawing and showing on the screen. 3547 * responsible for drawing and showing on the screen.
3548 * 3548 *
3549 * As the shape object and fill object (linear and radial gradient) have 3549 * As the shape object and fill object (linear and radial gradients) have
3550 * retain mode API, you only have to create it once and set the properties 3550 * retain mode API, you only have to create it once and set the properties
3551 * and give it to evas_object_vg. 3551 * and give it to Evas_Object_Vg.
3552 * 3552 *
3553 * Any change in the property of shape/fill object will automaticaly notified 3553 * Any change in the properties of a shape or fill object are automatically
3554 * to the evas_object_vg which will trigger a redrawing to reflect the change. 3554 * notified to Evas_Object_Vg triggering a redraw to reflect the changes.
3555 * 3555 *
3556 * To create a vector path, you can give list of path commands to the shape 3556 * To create a vector path, you can give a list of path commands to the shape
3557 * object using efl_gfx_shape_path_set() API. 3557 * object using efl_gfx_shape_path_set() API.
3558 * 3558 *
3559 * Enabling graphical shapes to be constructed and reused. 3559 * Below are the list of features currently supported by Vector object.
3560 *
3561 * Below are the list of feature currently supported by Vector object.
3562 * 3560 *
3563 * @li Drawing SVG Path. 3561 * @li Drawing SVG Path.
3564 * You can construct a path by using api in efl_gfx_utils.h 3562 * You can construct a path by using api in efl_gfx_utils.h
@@ -3568,11 +3566,11 @@ EAPI Evas_Object *evas_object_rectangle_add(Evas *e) EINA_WARN_UNUSED_RESULT EIN
3568 * @see Evas_Vg_Gradient_Linear and Evas_Vg_Gradient_Radial 3566 * @see Evas_Vg_Gradient_Linear and Evas_Vg_Gradient_Radial
3569 * 3567 *
3570 * @li Transformation support for path and gradient fill. You can apply 3568 * @li Transformation support for path and gradient fill. You can apply
3571 affin transformation on path object. 3569 affine transforms to path objects.
3572 * @see Eina_Matrix. 3570 * @see Eina_Matrix.
3573 * 3571 *
3574 * @note Below are the list of interface, classes can be used to draw vector 3572 * @note Below are the list of interfaces and classes that can be used
3575 * graphics using vector object. 3573 * to draw vector graphics using vector objects.
3576 * 3574 *
3577 * @li Efl.Gfx.Shape 3575 * @li Efl.Gfx.Shape
3578 * @li Evas.VG_Shape 3576 * @li Evas.VG_Shape
@@ -3592,23 +3590,24 @@ EAPI Evas_Object *evas_object_rectangle_add(Evas *e) EINA_WARN_UNUSED_RESULT EIN
3592 * * evas_vg_node_origin_set(shape, 10, 10); 3590 * * evas_vg_node_origin_set(shape, 10, 10);
3593 * * efl_gfx_shape_stroke_width_set(shape, 1.0); 3591 * * efl_gfx_shape_stroke_width_set(shape, 1.0);
3594 * * evas_vg_node_color_set(shape, 128, 128, 128, 80); 3592 * * evas_vg_node_color_set(shape, 128, 128, 128, 80);
3595 * * efl_gfx_shape_path_set(shape, path_cmd, points); 3593 * * efl_gfx_shape_path_set(shape, path_cmd, points);
3596 * @endcode 3594 * @endcode
3597 * 3595 *
3598 * @since 1.14 3596 * @since 1.14
3599 */ 3597 */
3600 3598
3601/** 3599/**
3602 * Creates a new vector object on the given Evas @p e canvas. 3600 * @brief Creates a new vector object on the given Evas @p e canvas.
3603 *
3604 * @param e The given canvas.
3605 * @return The created vector object handle.
3606 * 3601 *
3607 * The shape object hierarchy can be added to the evas_object_vg by accessing 3602 * The shape object hierarchy can be added to the evas_object_vg by accessing
3608 * the root node of the vg canvas and adding the hierarchy as child to the root 3603 * the root node of the vg canvas and adding the hierarchy as child to the root
3609 * node. 3604 * node.
3610 * 3605 *
3606 * @param[in] e The given canvas.
3607 * @return The created vector object handle.
3608 *
3611 * @see evas_obj_vg_root_node_get() 3609 * @see evas_obj_vg_root_node_get()
3610 *
3612 * @since 1.14 3611 * @since 1.14
3613 */ 3612 */
3614EAPI Evas_Object *evas_object_vg_add(Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; 3613EAPI Evas_Object *evas_object_vg_add(Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
@@ -3692,47 +3691,173 @@ EAPI int evas_object_vg_animated_frame_get(const Evas_Object *obj) EINA_ARG_NONN
3692#include "canvas/efl_canvas_vg_node_eo.legacy.h" 3691#include "canvas/efl_canvas_vg_node_eo.legacy.h"
3693#include "canvas/efl_canvas_vg_object_eo.legacy.h" 3692#include "canvas/efl_canvas_vg_object_eo.legacy.h"
3694#include "canvas/efl_canvas_vg_container_eo.legacy.h" 3693#include "canvas/efl_canvas_vg_container_eo.legacy.h"
3694#include "canvas/efl_canvas_vg_shape_eo.legacy.h"
3695#include "canvas/efl_canvas_vg_gradient_eo.legacy.h"
3696
3697/**
3698 * @brief These values determine how the end of opened sub-paths are rendered in a
3699 * stroke. @ref evas_vg_shape_stroke_cap_set
3700 *
3701 * @since 1.24
3702 *
3703 * @ingroup Evas_Vg_Cap
3704 */
3705typedef enum Evas_Vg_Cap_Type
3706{
3707 EVAS_VG_CAP_BUTT = 0, /**< The end of lines is rendered as a full stop on the
3708 * last point itself */
3709 EVAS_VG_CAP_ROUND, /**< The end of lines is rendered as a half-circle
3710 * around */
3711 EVAS_VG_CAP_SQUARE, /**< The end of lines is rendered as a square around
3712 * the last point */
3713 EVAS_VG_CAP_LAST /**< Sentinel value to indicate last enum field during
3714 * iteration */
3715} Evas_Vg_Cap;
3716
3717
3695/** 3718/**
3696 * Creates a new vector shape object. 3719 * @brief These values determine how two joining lines are rendered in a stroker.
3720 * @ref evas_vg_shape_stroke_join_set
3721 *
3722 * @since 1.24
3697 * 3723 *
3698 * @param parent The given vector container object. 3724 * @ingroup Evas_Vg_Join
3725 */
3726typedef enum Evas_Vg_Join_Type
3727{
3728 EVAS_VG_JOIN_MITER = 0, /**< Used to render mitered line joins. The intersectioni
3729 * of the strokes is clipped at a line perpendicular to
3730 * the bisector of the angle between the strokes, at the
3731 * distance from the intersection of the segments equal
3732 * to the product of the miter limit value and the border
3733 * radius. This prevents long spikes being created */
3734 EVAS_VG_JOIN_ROUND, /**< Used to render rounded line joins. Circular arcs
3735 * are used to join two lines smoothly */
3736 EVAS_VG_JOIN_BEVEL, /**< Used to render beveled line joins. The outer corner
3737 * of the joined lines is filled by enclosing the
3738 * triangular region of the corner with a straight line
3739 * between the outer corners of each stroke */
3740 EVAS_VG_JOIN_LAST /**< Sentinel value to indicate last enum field during
3741 * teration */
3742} Evas_Vg_Join;
3743
3744/**
3745 * @brief These values determine how the points are interpreted in a stream of points.
3746 *
3747 * @since 1.24
3748 *
3749 * @ingroup Evas_Vg_Path_Command
3750 */
3751typedef enum Evas_Vg_Path_Command_Type
3752{
3753 EVAS_VG_PATH_COMMAND_END = 0, /**< The end of stream , no more points to process */
3754 EVAS_VG_PATH_COMMAND_MOVE_TO, /**< The next point is the start point of a sub path */
3755 EVAS_VG_PATH_COMMAND_LINE_TO, /**< The next point is used to draw a line from
3756 * current point */
3757 EVAS_VG_PATH_COMMAND_CUBIC_TO, /**< The next three point is used to draw
3758 * a cubic bezier curve from current point */
3759 EVAS_VG_PATH_COMMAND_CLOSE, /**< Close the current subpath by drawing a line
3760 * between current point and the first point of
3761 * current subpath */
3762 EVAS_VG_PATH_COMMAND_LAST /**< Sentinel value to indicate last enum field
3763 * during iteration */
3764} Evas_Vg_Path_Command;
3765
3766/**
3767 * @brief Type defining gradient stops. Describes the location and color of a
3768 * transition point in a gradient.
3769 *
3770 * @since 1.24
3771 *
3772 * @ingroup Evas_Vg_Gradient_Stop
3773 */
3774typedef struct _Evas_Vg_Gradient_Stop
3775{
3776 double offset; /**< The location of the gradient stop within the gradient
3777 * vector */
3778 int r; /**< The component R color of the gradient stop */
3779 int g; /**< The component G color of the gradient stop */
3780 int b; /**< The component B color of the gradient stop */
3781 int a; /**< The component A color of the gradient stop */
3782} Evas_Vg_Gradient_Stop;
3783
3784/**
3785 * @brief Specifies how the area outside the gradient area should be filled.
3786 * @ref evas_vg_gradient_spread_set
3787 *
3788 * @since 1.24
3789 *
3790 * @ingroup Evas_Vg_Gradient_Spread
3791 */
3792typedef enum Evas_Vg_Gradient_Spread_Type
3793{
3794 EVAS_VG_GRADIENT_SPREAD_PAD = 0, /**< The area is filled with the closest stop
3795 * color. This is the default */
3796 EVAS_VG_GRADIENT_SPREAD_REFLECT, /**< The gradient is reflected outside the
3797 * gradient area */
3798 EVAS_VG_GRADIENT_SPREAD_REPEAT, /**< The gradient is repeated outside the
3799 * gradient area */
3800 EVAS_VG_GRADIENT_SPREAD_LAST /**< Sentinel value to indicate last enum field
3801 * during iteration */
3802} Evas_Vg_Gradient_Spread;
3803
3804/**
3805 * @brief Type describing dash.
3806 * @ref evas_vg_shape_stroke_dash_set
3807 *
3808 * @since 1.24
3809 *
3810 * @ingroup Evas_Vg_Dash
3811 */
3812typedef struct _Evas_Vg_Dash
3813{
3814 double length; /**< Dash drawing length */
3815 double gap; /**< Distance between two dashes */
3816} Evas_Vg_Dash;
3817
3818/**
3819 * @brief Creates a new vector shape object.
3820 *
3821 * @param[in] parent The given vector container object.
3699 * @return The created vector shape object handle. 3822 * @return The created vector shape object handle.
3700 * 3823 *
3701 * @since 1.14 3824 * @since 1.14
3702 */ 3825 */
3703EAPI Efl_VG* evas_vg_shape_add(Efl_VG *parent); 3826EAPI Evas_Vg_Shape* evas_vg_shape_add(Evas_Vg_Container *parent);
3704 3827
3705/** 3828/**
3706 * Creates a new vector container object. 3829 * @brief Creates a new vector container object.
3707 * 3830 *
3708 * @param parent The given vector container object. 3831 * @param[in] parent The given vector container object.
3709 * @return The created vector container object handle. 3832 * @return The created vector container object handle.
3710 * 3833 *
3711 * @since 1.14 3834 * @since 1.14
3712 */ 3835 */
3713 3836
3714EAPI Efl_VG* evas_vg_container_add(Efl_VG *parent); 3837EAPI Evas_Vg_Container* evas_vg_container_add(Evas_Object *parent);
3715 3838
3716/** 3839/**
3840 * @brief Retrieves whether or not the given Evas_Vg_Node object is visible.
3717 * 3841 *
3718 * Retrieves whether or not the given Efl_Vg object is visible. 3842 * @param[in] obj The object.
3719 * 3843 * @return @c EINA_TRUE if the object is visible, @EINA_FALSE otherwise.
3720 * 3844 *
3845 * @since 1.24
3721 */ 3846 */
3722EAPI Eina_Bool evas_vg_node_visible_get(Eo *obj); 3847EAPI Eina_Bool evas_vg_node_visible_get(Evas_Vg_Node *obj);
3723 3848
3724/** 3849/**
3850 * @brief Makes the given Evas_Vg_Node object visible or invisible.
3725 * 3851 *
3726 * Makes the given Efl_Vg object visible or invisible. 3852 * @param[in] obj The object.
3727 * 3853 * @param[in] v @c EINA_TRUE if to make the object visible, @c EINA_FALSE otherwise.
3728 * @param[in] v @c EINA_TRUE if to make the object visible, @c EINA_FALSE otherwise
3729 * 3854 *
3855 * @since 1.24
3730 */ 3856 */
3731EAPI void evas_vg_node_visible_set(Eo *obj, Eina_Bool v); 3857EAPI void evas_vg_node_visible_set(Evas_Vg_Node *obj, Eina_Bool v);
3732 3858
3733/** 3859/**
3734 * 3860 * @brief Retrieves the general/main color of the given Evas_Vg_Node object.
3735 * Retrieves the general/main color of the given Efl_Vg object.
3736 * 3861 *
3737 * Retrieves the “main” color's RGB component (and alpha channel) 3862 * Retrieves the “main” color's RGB component (and alpha channel)
3738 * values, <b>which range from 0 to 255</b>. For the alpha channel, 3863 * values, <b>which range from 0 to 255</b>. For the alpha channel,
@@ -3744,17 +3869,18 @@ EAPI void evas_vg_node_visible_set(Eo *obj, Eina_Bool v);
3744 * @note Use @c NULL pointers on the components you're not interested 3869 * @note Use @c NULL pointers on the components you're not interested
3745 * in: they'll be ignored by the function. 3870 * in: they'll be ignored by the function.
3746 * 3871 *
3872 * @param[in] obj The object.
3747 * @param[out] r The red component of the given color. 3873 * @param[out] r The red component of the given color.
3748 * @param[out] g The green component of the given color. 3874 * @param[out] g The green component of the given color.
3749 * @param[out] b The blue component of the given color. 3875 * @param[out] b The blue component of the given color.
3750 * @param[out] a The alpha component of the given color. 3876 * @param[out] a The alpha component of the given color.
3751 * 3877 *
3878 * @since 1.24
3752 */ 3879 */
3753EAPI void evas_vg_node_color_get(Eo *obj, int *r, int *g, int *b, int *a); 3880EAPI void evas_vg_node_color_get(Evas_Vg_Node *obj, int *r, int *g, int *b, int *a);
3754 3881
3755/** 3882/**
3756 * 3883 * @brief Sets the general/main color of the given Evas_Vg_Node object to the given
3757 * Sets the general/main color of the given Efl_Vg object to the given
3758 * one. 3884 * one.
3759 * 3885 *
3760 * @see evas_vg_node_color_get() (for an example) 3886 * @see evas_vg_node_color_get() (for an example)
@@ -3762,41 +3888,44 @@ EAPI void evas_vg_node_color_get(Eo *obj, int *r, int *g, int *b, int *a);
3762 * 3888 *
3763 * @ingroup Evas_Object_Group_Basic 3889 * @ingroup Evas_Object_Group_Basic
3764 * 3890 *
3891 * @param[in] obj The object.
3765 * @param[in] r The red component of the given color. 3892 * @param[in] r The red component of the given color.
3766 * @param[in] g The green component of the given color. 3893 * @param[in] g The green component of the given color.
3767 * @param[in] b The blue component of the given color. 3894 * @param[in] b The blue component of the given color.
3768 * @param[in] a The alpha component of the given color. 3895 * @param[in] a The alpha component of the given color.
3769 * 3896 *
3897 * @since 1.24
3770 */ 3898 */
3771EAPI void evas_vg_node_color_set(Eo *obj, int r, int g, int b, int a); 3899EAPI void evas_vg_node_color_set(Evas_Vg_Node *obj, int r, int g, int b, int a);
3772 3900
3773/** 3901/**
3902 * @brief Retrieves the geometry of the given Evas_Vg_Node object.
3774 * 3903 *
3775 * Retrieves the geometry of the given Efl_Vg object. 3904 * @param[in] obj The object.
3776 * 3905 * @param[out] x The x geometry of the given object.
3777 * @param[out] x in 3906 * @param[out] y The y geometry of the given object.
3778 * @param[out] y in 3907 * @param[out] w The w geometry of the given object.
3779 * @param[out] w in 3908 * @param[out] h The h geometry of the given object.
3780 * @param[out] h in
3781 * 3909 *
3910 * @since 1.24
3782 */ 3911 */
3783EAPI void evas_vg_node_geometry_get(Eo *obj, int *x, int *y, int *w, int *h); 3912EAPI void evas_vg_node_geometry_get(Evas_Vg_Node *obj, int *x, int *y, int *w, int *h);
3784 3913
3785/** 3914/**
3915 * @brief Changes the geometry of the given Evas_Vg_Node object.
3786 * 3916 *
3787 * Changes the geometry of the given Efl_Vg object. 3917 * @param[in] obj The object.
3788 * 3918 * @param[in] x The x geometry of the given object.
3789 * @param[in] x in 3919 * @param[in] y The y geometry of the given object.
3790 * @param[in] y in 3920 * @param[in] w The w geometry of the given object.
3791 * @param[in] w in 3921 * @param[in] h The h geometry of the given object.
3792 * @param[in] h in
3793 * 3922 *
3923 * @since 1.24
3794 */ 3924 */
3795EAPI void evas_vg_node_geometry_set(Eo *obj, int x, int y, int w, int h); 3925EAPI void evas_vg_node_geometry_set(Evas_Vg_Node *obj, int x, int y, int w, int h);
3796 3926
3797/** 3927/**
3798 * 3928 * @brief Stack @p obj immediately below @p below.
3799 * Stack @p obj immediately below @p below
3800 * 3929 *
3801 * Objects, in a given canvas, are stacked in the order they get added 3930 * Objects, in a given canvas, are stacked in the order they get added
3802 * to it. This means that, if they overlap, the highest ones will 3931 * to it. This means that, if they overlap, the highest ones will
@@ -3817,16 +3946,16 @@ EAPI void evas_vg_node_geometry_set(Eo *obj, int x, int y, int w, int h);
3817 * @see evas_object_layer_get() 3946 * @see evas_object_layer_get()
3818 * @see evas_object_layer_set() 3947 * @see evas_object_layer_set()
3819 * @see evas_object_stack_below() 3948 * @see evas_object_stack_below()
3820 *
3821 * 3949 *
3822 * @param[in] below the object below which to stack 3950 * @param[in] obj The object.
3951 * @param[in] below The object below which to stack.
3823 * 3952 *
3953 * @since 1.24
3824 */ 3954 */
3825EAPI void evas_vg_node_stack_below(Eo *obj, Eo *below); 3955EAPI void evas_vg_node_stack_below(Evas_Vg_Node *obj, Evas_Vg_Node *below);
3826 3956
3827/** 3957/**
3828 * 3958 * @brief Stack @p obj immediately above @p above.
3829 * Stack @p obj immediately above @p above
3830 * 3959 *
3831 * Objects, in a given canvas, are stacked in the order they get added 3960 * Objects, in a given canvas, are stacked in the order they get added
3832 * to it. This means that, if they overlap, the highest ones will 3961 * to it. This means that, if they overlap, the highest ones will
@@ -3847,16 +3976,16 @@ EAPI void evas_vg_node_stack_below(Eo *obj, Eo *below);
3847 * @see evas_object_layer_get() 3976 * @see evas_object_layer_get()
3848 * @see evas_object_layer_set() 3977 * @see evas_object_layer_set()
3849 * @see evas_object_stack_below() 3978 * @see evas_object_stack_below()
3850 *
3851 * 3979 *
3852 * @param[in] above the object above which to stack 3980 * @param[in] obj The object.
3981 * @param[in] above The object above which to stack.
3853 * 3982 *
3983 * @since 1.24
3854 */ 3984 */
3855EAPI void evas_vg_node_stack_above(Eo *obj, Eo *above); 3985EAPI void evas_vg_node_stack_above(Evas_Vg_Node *obj, Evas_Vg_Node *above);
3856 3986
3857/** 3987/**
3858 * 3988 * @brief Raise @p obj to the top of its layer.
3859 * Raise @p obj to the top of its layer.
3860 * 3989 *
3861 * @p obj will, then, be the highest one in the layer it belongs 3990 * @p obj will, then, be the highest one in the layer it belongs
3862 * to. Object on other layers won't get touched. 3991 * to. Object on other layers won't get touched.
@@ -3864,13 +3993,15 @@ EAPI void evas_vg_node_stack_above(Eo *obj, Eo *above);
3864 * @see evas_object_stack_above() 3993 * @see evas_object_stack_above()
3865 * @see evas_object_stack_below() 3994 * @see evas_object_stack_below()
3866 * @see evas_object_lower() 3995 * @see evas_object_lower()
3867 * 3996 *
3997 * @param[in] obj The object.
3998 *
3999 * @since 1.24
3868 */ 4000 */
3869EAPI void evas_vg_node_raise(Eo *obj); 4001EAPI void evas_vg_node_raise(Evas_Vg_Node *obj);
3870 4002
3871/** 4003/**
3872 * 4004 * @brief Lower @p obj to the bottom of its layer.
3873 * Lower @p obj to the bottom of its layer.
3874 * 4005 *
3875 * @p obj will, then, be the lowest one in the layer it belongs 4006 * @p obj will, then, be the lowest one in the layer it belongs
3876 * to. Objects on other layers won't get touched. 4007 * to. Objects on other layers won't get touched.
@@ -3878,620 +4009,699 @@ EAPI void evas_vg_node_raise(Eo *obj);
3878 * @see evas_object_stack_above() 4009 * @see evas_object_stack_above()
3879 * @see evas_object_stack_below() 4010 * @see evas_object_stack_below()
3880 * @see evas_object_raise() 4011 * @see evas_object_raise()
3881 *
3882 * 4012 *
4013 * @param[in] obj The object.
3883 * 4014 *
4015 * @since 1.24
3884 */ 4016 */
3885EAPI void evas_vg_node_lower(Eo *obj); 4017EAPI void evas_vg_node_lower(Evas_Vg_Node *obj);
3886 4018
3887#include "canvas/efl_canvas_vg_node_eo.legacy.h" 4019#include "canvas/efl_canvas_vg_node_eo.legacy.h"
3888 4020
3889/** 4021/**
4022 * @brief Get the stroke scaling factor used for stroking this path.
3890 * 4023 *
3891 * Get the stroke scaling factor used for stroking this path. 4024 * @param[in] obj The object.
3892 * @since 1.14 4025 * @return The stroke scale of the given object.
3893 *
3894 * 4026 *
4027 * @since 1.14
3895 */ 4028 */
3896EAPI double evas_vg_shape_stroke_scale_get(Eo *obj); 4029EAPI double evas_vg_shape_stroke_scale_get(Evas_Vg_Shape *obj);
3897 4030
3898/** 4031/**
3899 * 4032 * @brief Sets the stroke scale to be used for stroking the path.
3900 * Sets the stroke scale to be used for stroking the path.
3901 * the scale property will be used along with stroke width property. 4033 * the scale property will be used along with stroke width property.
3902 * @since 1.14
3903 * 4034 *
3904 * @param[in] s stroke scale value 4035 * @param[in] obj The object.
4036 * @param[in] s The stroke scale value.
3905 * 4037 *
4038 * @since 1.14
3906 */ 4039 */
3907EAPI void evas_vg_shape_stroke_scale_set(Eo *obj, double s); 4040EAPI void evas_vg_shape_stroke_scale_set(Evas_Vg_Shape *obj, double s);
3908 4041
3909/** 4042/**
4043 * @brief Gets the color used for stroking the path.
3910 * 4044 *
3911 * Gets the color used for stroking the path. 4045 * @param[in] obj The object.
3912 * @since 1.14
3913 *
3914 * @param[out] r The red component of the given color. 4046 * @param[out] r The red component of the given color.
3915 * @param[out] g The green component of the given color. 4047 * @param[out] g The green component of the given color.
3916 * @param[out] b The blue component of the given color. 4048 * @param[out] b The blue component of the given color.
3917 * @param[out] a The alpha component of the given color. 4049 * @param[out] a The alpha component of the given color.
3918 * 4050 *
4051 * @since 1.14
3919 */ 4052 */
3920EAPI void evas_vg_shape_stroke_color_get(Eo *obj, int *r, int *g, int *b, int *a); 4053EAPI void evas_vg_shape_stroke_color_get(Evas_Vg_Shape *obj, int *r, int *g, int *b, int *a);
3921 4054
3922/** 4055/**
4056 * @brief Sets the color to be used for stroking the path.
3923 * 4057 *
3924 * Sets the color to be used for stroking the path. 4058 * @param[in] obj The object.
3925 * @since 1.14
3926 *
3927 * @param[in] r The red component of the given color. 4059 * @param[in] r The red component of the given color.
3928 * @param[in] g The green component of the given color. 4060 * @param[in] g The green component of the given color.
3929 * @param[in] b The blue component of the given color. 4061 * @param[in] b The blue component of the given color.
3930 * @param[in] a The alpha component of the given color. 4062 * @param[in] a The alpha component of the given color.
3931 * 4063 *
4064 * @since 1.14
3932 */ 4065 */
3933EAPI void evas_vg_shape_stroke_color_set(Eo *obj, int r, int g, int b, int a); 4066EAPI void evas_vg_shape_stroke_color_set(Evas_Vg_Shape *obj, int r, int g, int b, int a);
3934 4067
3935/** 4068/**
4069 * @brief Gets the stroke width to be used for stroking the path.
3936 * 4070 *
3937 * Gets the stroke width to be used for stroking the path. 4071 * @param[in] obj The object.
3938 * @since 1.14 4072 * @return The stroke width of the given object.
3939 *
3940 * 4073 *
4074 * @since 1.14
3941 */ 4075 */
3942EAPI double evas_vg_shape_stroke_width_get(Eo *obj); 4076EAPI double evas_vg_shape_stroke_width_get(Evas_Vg_Shape *obj);
3943 4077
3944/** 4078/**
4079 * @brief Sets the stroke width to be used for stroking the path.
3945 * 4080 *
3946 * Sets the stroke width to be used for stroking the path. 4081 * @param[in] obj The object.
3947 * @since 1.14 4082 * @param[in] w The stroke width to be used.
3948 *
3949 * @param[in] w stroke width to be used
3950 * 4083 *
4084 * @since 1.14
3951 */ 4085 */
3952EAPI void evas_vg_shape_stroke_width_set(Eo *obj, double w); 4086EAPI void evas_vg_shape_stroke_width_set(Evas_Vg_Shape *obj, double w);
3953 4087
3954/** 4088/**
4089 * @brief Gets the stroke location to be used for stroking the path.
3955 * 4090 *
3956 * Not Implemented 4091 * @param[in] obj The object.
3957 * 4092 * @return The stroke location.
3958 * 4093 *
4094 * @since 1.24
3959 */ 4095 */
3960EAPI double evas_vg_shape_stroke_location_get(Eo *obj); 4096EAPI double evas_vg_shape_stroke_location_get(Evas_Vg_Shape *obj);
3961 4097
3962/** 4098/**
4099 * @brief Sets the stroke location to be used for stroking the path.
3963 * 4100 *
3964 * Not Implemented 4101 * @param[in] obj The object.
3965 * 4102 * @param[in] centered The stroke location.
3966 * @param[in] centered
3967 * 4103 *
4104 * @since 1.24
3968 */ 4105 */
3969EAPI void evas_vg_shape_stroke_location_set(Eo *obj, double centered); 4106EAPI void evas_vg_shape_stroke_location_set(Evas_Vg_Shape *obj, double centered);
3970 4107
3971/** 4108/**
4109 * @brief Gets the stroke dash type used for stroking path.
3972 * 4110 *
3973 * Not Implemented 4111 * @param[in] obj The object.
3974 * 4112 * @param[out] dash The dash types.
3975 * @param[out] dash 4113 * @param[out] length The length of dash types.
3976 * @param[out] length
3977 * 4114 *
4115 * @since 1.24
3978 */ 4116 */
3979EAPI void evas_vg_shape_stroke_dash_get(Eo *obj, const Efl_Gfx_Dash **dash, unsigned int *length); 4117EAPI void evas_vg_shape_stroke_dash_get(Evas_Vg_Shape *obj, const Evas_Vg_Dash **dash, unsigned int *length);
3980 4118
3981/** 4119/**
4120 * @brief Sets the stroke dash type to be used for stroking the path.
3982 * 4121 *
3983 * Not Implemented 4122 * @param[in] obj The object.
3984 * 4123 * @param[in] dash The dash types.
3985 * @param[in] dash 4124 * @param[in] length The length of dash types.
3986 * @param[in] length
3987 * 4125 *
4126 * @since 1.24
3988 */ 4127 */
3989EAPI void evas_vg_shape_stroke_dash_set(Eo *obj, const Efl_Gfx_Dash *dash, unsigned int length); 4128EAPI void evas_vg_shape_stroke_dash_set(Evas_Vg_Shape *obj, const Evas_Vg_Dash *dash, unsigned int length);
3990 4129
3991/** 4130/**
4131 * @brief Gets the cap style used for stroking path.
3992 * 4132 *
3993 * Gets the cap style used for stroking path. 4133 * @param[in] obj The object.
3994 * @since 1.14 4134 * @return The cap style of the given object.
3995 *
3996 * 4135 *
4136 * @since 1.14
3997 */ 4137 */
3998EAPI Efl_Gfx_Cap evas_vg_shape_stroke_cap_get(Eo *obj); 4138EAPI Evas_Vg_Cap evas_vg_shape_stroke_cap_get(Evas_Vg_Shape *obj);
3999 4139
4000/** 4140/**
4141 * @brief Sets the cap style to be used for stroking the path.
4001 * 4142 *
4002 * Sets the cap style to be used for stroking the path. 4143 * The cap will be used for capping the end point of a
4003 * The cap will be used for capping the end point of a
4004 * open subpath. 4144 * open subpath.
4005 * 4145 *
4006 * @see Efl_Gfx_Cap 4146 * @see Evas_Vg_Cap
4007 * @since 1.14
4008 * 4147 *
4009 * @param[in] c cap style to use , default is EFL_GFX_CAP_BUTT 4148 * @param[in] obj The object.
4149 * @param[in] c The cap style to use , default is EVAS_VG_CAP_BUTT
4010 * 4150 *
4151 * @since 1.14
4011 */ 4152 */
4012EAPI void evas_vg_shape_stroke_cap_set(Eo *obj, Efl_Gfx_Cap c); 4153EAPI void evas_vg_shape_stroke_cap_set(Evas_Vg_Shape *obj, Evas_Vg_Cap c);
4013 4154
4014/** 4155/**
4156 * @brief Gets the join style used for stroking path.
4015 * 4157 *
4016 * Gets the join style used for stroking path. 4158 * @param[in] obj The object.
4017 * @since 1.14 4159 * @return The join style of the given object.
4018 *
4019 * 4160 *
4161 * @since 1.14
4020 */ 4162 */
4021EAPI Efl_Gfx_Join evas_vg_shape_stroke_join_get(Eo *obj); 4163EAPI Evas_Vg_Join evas_vg_shape_stroke_join_get(Evas_Vg_Shape *obj);
4022 4164
4023/** 4165/**
4166 * @brief Sets the join style to be used for stroking the path.
4024 * 4167 *
4025 * Sets the join style to be used for stroking the path.
4026 * The join style will be used for joining the two line segment 4168 * The join style will be used for joining the two line segment
4027 * while stroking the path. 4169 * while stroking the path.
4028 * 4170 *
4029 * @see Efl_Gfx_Join 4171 * @see Evas_Vg_Join
4030 * @since 1.14
4031 * 4172 *
4032 * @param[in] j join style to use , default is 4173 * @param[in] obj The object.
4033EFL_GFX_JOIN_MITER 4174 * @param[in] j The join style to use, default is EVAS_VG_JOIN_MITER.
4034 * 4175 *
4176 * @since 1.14
4035 */ 4177 */
4036EAPI void evas_vg_shape_stroke_join_set(Eo *obj, Efl_Gfx_Join j); 4178EAPI void evas_vg_shape_stroke_join_set(Evas_Vg_Shape *obj, Evas_Vg_Join j);
4037 4179
4038/** 4180/**
4039 * 4181 * @brief Set the list of commands and points to be used to create the
4040 * Set the list of commands and points to be used to create the
4041 * content of shape. 4182 * content of shape.
4042 * 4183 *
4043 * @note see efl_gfx_path interface for how to create a command list. 4184 * @see Evas_Vg_Path_Command
4044 * @see Efl_Gfx_Path_Command
4045 * @since 1.14
4046 * 4185 *
4047 * @param[in] op command list 4186 * @param[in] obj The object.
4048 * @param[in] points point list 4187 * @param[in] op The command list.
4188 * @param[in] points The point list.
4049 * 4189 *
4190 * @since 1.14
4050 */ 4191 */
4051EAPI void evas_vg_shape_path_set(Eo *obj, const Efl_Gfx_Path_Command *op, const double *points); 4192EAPI void evas_vg_shape_path_set(Evas_Vg_Shape *obj, const Evas_Vg_Path_Command *op, const double *points);
4052 4193
4053/** 4194/**
4195 * @brief Gets the command and points list.
4054 * 4196 *
4055 * Gets the command and points list 4197 * @param[in] obj The object.
4056 * @since 1.14 4198 * @param[out] op The command list.
4057 * 4199 * @param[out] points The point list.
4058 * @param[out] op command list
4059 * @param[out] points point list
4060 * 4200 *
4201 * @since 1.14
4061 */ 4202 */
4062 4203
4063EAPI void evas_vg_shape_path_get(Eo *obj, const Efl_Gfx_Path_Command **op, const double **points); 4204EAPI void evas_vg_shape_path_get(Evas_Vg_Shape *obj, const Evas_Vg_Path_Command **op, const double **points);
4064EAPI void evas_vg_shape_path_length_get(Eo *obj, unsigned int *commands, unsigned int *points);
4065EAPI void evas_vg_shape_current_get(Eo *obj, double *x, double *y);
4066EAPI void evas_vg_shape_current_ctrl_get(Eo *obj, double *x, double *y);
4067 4205
4068/** 4206/**
4207 * @brief Gets the command and points length.
4069 * 4208 *
4070 * Copy the shape data from the object specified . 4209 * @param[in] obj The object.
4210 * @param[out] commands The command length.
4211 * @param[out] points The points length.
4071 * 4212 *
4072 * @since 1.14 4213 * @since 1.14
4214 */
4215EAPI void evas_vg_shape_path_length_get(Evas_Vg_Shape *obj, unsigned int *commands, unsigned int *points);
4216
4217/**
4218 * @brief Gets the current points.
4073 * 4219 *
4220 * @param[in] obj The object.
4221 * @param[out] x The x co-ordinate of current point.
4222 * @param[out] y The y co-ordinate of current point.
4074 * 4223 *
4075 * @param[in] dup_from Shape object from where data will be copied. 4224 * @since 1.14
4076 *
4077 */ 4225 */
4078EAPI void evas_vg_shape_dup(Eo *obj, Eo *dup_from); 4226EAPI void evas_vg_shape_current_get(Evas_Vg_Shape *obj, double *x, double *y);
4079 4227
4080/** 4228/**
4229 * @brief Gets the current control points.
4081 * 4230 *
4082 * Reset the shape data of the shape object. 4231 * @param[in] obj The object.
4232 * @param[out] x The x co-ordinate of control point.
4233 * @param[out] y The y co-ordinate of control point.
4083 * 4234 *
4084 * @since 1.14 4235 * @since 1.14
4085 * 4236 */
4237EAPI void evas_vg_shape_current_ctrl_get(Evas_Vg_Shape *obj, double *x, double *y);
4238
4239/**
4240 * @brief Copy the shape data from the object specified.
4086 * 4241 *
4242 * @param[in] obj The object.
4243 * @param[in] dup_from The Shape object from where data will be copied.
4087 * 4244 *
4245 * @since 1.14
4088 */ 4246 */
4089EAPI void evas_vg_shape_reset(Eo *obj); 4247EAPI void evas_vg_shape_dup(Evas_Vg_Shape *obj, Evas_Vg_Shape *dup_from);
4090 4248
4091/** 4249/**
4250 * @brief Reset the shape data of the shape object.
4092 * 4251 *
4093 * Moves the current point to the given point, 4252 * @param[in] obj The object.
4094 * implicitly starting a new subpath and closing the previous one.
4095 * 4253 *
4096 * @see efl_gfx_path_append_close()
4097 * @since 1.14 4254 * @since 1.14
4255 */
4256EAPI void evas_vg_shape_reset(Evas_Vg_Shape *obj);
4257
4258/**
4259 * @brief Moves the current point to the given point,
4260 * implicitly starting a new subpath and closing the previous one.
4098 * 4261 *
4262 * @see evas_vg_shape_append_close()
4099 * 4263 *
4100 * @param[in] x X co-ordinate of the current point. 4264 * @param[in] obj The object.
4101 * @param[in] y Y co-ordinate of the current point. 4265 * @param[in] x The x co-ordinate of the current point.
4266 * @param[in] y The y co-ordinate of the current point.
4102 * 4267 *
4268 * @since 1.14
4103 */ 4269 */
4104EAPI void evas_vg_shape_append_move_to(Eo *obj, double x, double y); 4270EAPI void evas_vg_shape_append_move_to(Evas_Vg_Shape *obj, double x, double y);
4105 4271
4106/** 4272/**
4107 * 4273 * @brief Adds a straight line from the current position to the given endPoint.
4108 * Adds a straight line from the current position to the given endPoint.
4109 * After the line is drawn, the current position is updated to be at the end 4274 * After the line is drawn, the current position is updated to be at the end
4110 * point of the line. 4275 * point of the line.
4111 * 4276 *
4112 * @note if no current position present, it draws a line to itself, basically 4277 * @note if no current position present, it draws a line to itself, basically
4113 * a point. 4278 * a point.
4114 * 4279 *
4115 * @see efl_gfx_path_append_move_to() 4280 * @see evas_vg_shape_append_move_to()
4116 * @since 1.14
4117 *
4118 * 4281 *
4119 * @param[in] x X co-ordinate of end point of the line. 4282 * @param[in] obj The object.
4120 * @param[in] y Y co-ordinate of end point of the line. 4283 * @param[in] x The x co-ordinate of end point of the line.
4284 * @param[in] y The y co-ordinate of end point of the line.
4121 * 4285 *
4286 * @since 1.14
4122 */ 4287 */
4123EAPI void evas_vg_shape_append_line_to(Eo *obj, double x, double y); 4288EAPI void evas_vg_shape_append_line_to(Evas_Vg_Shape *obj, double x, double y);
4124 4289
4125/** 4290/**
4126 * 4291 * @brief Adds a quadratic Bezier curve between the current position and the
4127 * Adds a quadratic Bezier curve between the current position and the
4128 * given end point (x,y) using the control points specified by (ctrl_x, ctrl_y). 4292 * given end point (x,y) using the control points specified by (ctrl_x, ctrl_y).
4129 * After the path is drawn, the current position is updated to be at the end 4293 * After the path is drawn, the current position is updated to be at the end
4130 * point of the path. 4294 * point of the path.
4131 * 4295 *
4132 * @since 1.14 4296 * @param[in] obj The object.
4133 * 4297 * @param[in] x The x co-ordinate of end point of the line.
4134 * 4298 * @param[in] y The y co-ordinate of end point of the line.
4135 * @param[in] x X co-ordinate of end point of the line. 4299 * @param[in] ctrl_x The x co-ordinate of control point.
4136 * @param[in] y Y co-ordinate of end point of the line. 4300 * @param[in] ctrl_y The y co-ordinate of control point.
4137 * @param[in] ctrl_x X co-ordinate of control point.
4138 * @param[in] ctrl_y Y co-ordinate of control point.
4139 * 4301 *
4302 * @since 1.14
4140 */ 4303 */
4141EAPI void evas_vg_shape_append_quadratic_to(Eo *obj, double x, double y, double ctrl_x, double ctrl_y); 4304EAPI void evas_vg_shape_append_quadratic_to(Evas_Vg_Shape *obj, double x, double y, double ctrl_x, double ctrl_y);
4142 4305
4143/** 4306/**
4144 * 4307 * @brief Same as evas_vg_shape_append_quadratic_to() api only difference is that it
4145 * Same as efl_gfx_path_append_quadratic_to() api only difference is that it
4146 * uses the current control point to draw the bezier. 4308 * uses the current control point to draw the bezier.
4147 * 4309 *
4148 * @see efl_gfx_path_append_quadratic_to() 4310 * @see evas_vg_shape_append_quadratic_to()
4149 * @since 1.14
4150 * 4311 *
4312 * @param[in] obj The object.
4313 * @param[in] x The x co-ordinate of end point of the line.
4314 * @param[in] y The y co-ordinate of end point of the line.
4151 * 4315 *
4152 * @param[in] x X co-ordinate of end point of the line. 4316 * @since 1.14
4153 * @param[in] y Y co-ordinate of end point of the line.
4154 *
4155 */ 4317 */
4156EAPI void evas_vg_shape_append_squadratic_to(Eo *obj, double x, double y); 4318EAPI void evas_vg_shape_append_squadratic_to(Evas_Vg_Shape *obj, double x, double y);
4157 4319
4158/** 4320/**
4159 * 4321 * @brief Adds a cubic Bezier curve between the current position and the
4160 * Adds a cubic Bezier curve between the current position and the
4161 * given end point (x,y) using the control points specified by 4322 * given end point (x,y) using the control points specified by
4162 * (ctrl_x0, ctrl_y0), and (ctrl_x1, ctrl_y1). After the path is drawn, 4323 * (ctrl_x0, ctrl_y0), and (ctrl_x1, ctrl_y1). After the path is drawn,
4163 * the current position is updated to be at the end point of the path. 4324 * the current position is updated to be at the end point of the path.
4164 * 4325 *
4165 * @since 1.14 4326 * @param[in] obj The object.
4166 * 4327 * @param[in] x The x co-ordinate of end point of the line.
4167 * 4328 * @param[in] y The y co-ordinate of end point of the line.
4168 * @param[in] x X co-ordinate of end point of the line. 4329 * @param[in] ctrl_x0 The x co-ordinate of 1st control point.
4169 * @param[in] y Y co-ordinate of end point of the line. 4330 * @param[in] ctrl_y0 The y co-ordinate of 1st control point.
4170 * @param[in] ctrl_x0 X co-ordinate of 1st control point. 4331 * @param[in] ctrl_x1 The x co-ordinate of 2nd control point.
4171 * @param[in] ctrl_y0 Y co-ordinate of 1st control point. 4332 * @param[in] ctrl_y1 The y co-ordinate of 2nd control point.
4172 * @param[in] ctrl_x1 X co-ordinate of 2nd control point.
4173 * @param[in] ctrl_y1 Y co-ordinate of 2nd control point.
4174 * 4333 *
4334 * @since 1.14
4175 */ 4335 */
4176EAPI void evas_vg_shape_append_cubic_to(Eo *obj, double x, double y, double ctrl_x0, double ctrl_y0, double ctrl_x1, double ctrl_y1); 4336EAPI void evas_vg_shape_append_cubic_to(Evas_Vg_Shape *obj, double x, double y, double ctrl_x0, double ctrl_y0, double ctrl_x1, double ctrl_y1);
4177 4337
4178/** 4338/**
4179 * 4339 * @brief Same as evas_vg_shape_append_cubic_to() api only difference is that it uses
4180 * Same as efl_gfx_path_append_cubic_to() api only difference is that it uses
4181 * the current control point to draw the bezier. 4340 * the current control point to draw the bezier.
4182 * 4341 *
4183 * @see efl_gfx_path_append_cubic_to() 4342 * @see evas_vg_shape_append_cubic_to()
4184 *
4185 * @since 1.14
4186 *
4187 * 4343 *
4188 * @param[in] x X co-ordinate of end point of the line. 4344 * @param[in] obj The object.
4189 * @param[in] y Y co-ordinate of end point of the line. 4345 * @param[in] x The x co-ordinate of end point of the line.
4190 * @param[in] ctrl_x X co-ordinate of 2nd control point. 4346 * @param[in] y The x co-ordinate of end point of the line.
4191 * @param[in] ctrl_y Y co-ordinate of 2nd control point. 4347 * @param[in] ctrl_x The x co-ordinate of 2nd control point.
4348 * @param[in] ctrl_y The y co-ordinate of 2nd control point.
4192 * 4349 *
4350 * @since 1.14
4193 */ 4351 */
4194EAPI void evas_vg_shape_append_scubic_to(Eo *obj, double x, double y, double ctrl_x, double ctrl_y); 4352EAPI void evas_vg_shape_append_scubic_to(Evas_Vg_Shape *obj, double x, double y, double ctrl_x, double ctrl_y);
4195 4353
4196/** 4354/**
4197 * 4355 * @brief Append an arc that connects from the current point int the point list
4198 * Append an arc that connects from the current point int the point list 4356 * to the given point (x,y). The arc is defined by the given radius in
4199 * to the given point (x,y). The arc is defined by the given radius in 4357 * x-direction (rx) and radius in y direction (ry).
4200 * x-direction (rx) and radius in y direction (ry) .
4201 * 4358 *
4202 * @note Use this api if you know the end point's of the arc otherwise 4359 * @note Use this api if you know the end point's of the arc otherwise
4203 * use more convenient function efl_gfx_path_append_arc_to() 4360 * use more convenient function evas_vg_shape_append_arc_to()
4204 * 4361 *
4205 * @see efl_gfx_path_append_arc_to() 4362 * @see evas_vg_shape_append_arc_to()
4206 * @since 1.14
4207 * 4363 *
4208 * 4364 * @param[in] obj The object.
4209 * @param[in] x X co-ordinate of end point of the arc. 4365 * @param[in] x The x co-ordinate of end point of the arc.
4210 * @param[in] y Y co-ordinate of end point of the arc. 4366 * @param[in] y The y co-ordinate of end point of the arc.
4211 * @param[in] rx radius of arc in x direction. 4367 * @param[in] rx The radius of arc in x direction.
4212 * @param[in] ry radius of arc in y direction. 4368 * @param[in] ry The radius of arc in y direction.
4213 * @param[in] angle x-axis rotation , normally 0. 4369 * @param[in] angle The x-axis rotation , normally 0.
4214 * @param[in] large_arc Defines whether to draw the larger arc or smaller arc joining two point. 4370 * @param[in] large_arc Defines whether to draw the larger arc or smaller arc joining two point.
4215 * @param[in] sweep Defines whether the arc will be drawn counter-clockwise or clockwise from current point to the end point taking into account the large_arc property. 4371 * @param[in] sweep Defines whether the arc will be drawn counter-clockwise or clockwise from current point to the end point taking into account the large_arc property.
4216 * 4372 *
4373 * @since 1.14
4217 */ 4374 */
4218EAPI void evas_vg_shape_append_arc_to(Eo *obj, double x, double y, double rx, double ry, double angle, Eina_Bool large_arc, Eina_Bool sweep); 4375EAPI void evas_vg_shape_append_arc_to(Evas_Vg_Shape *obj, double x, double y, double rx, double ry, double angle, Eina_Bool large_arc, Eina_Bool sweep);
4219 4376
4220/** 4377/**
4221 * @brief Append an arc that enclosed in the given rectangle (x, y, w, h). The 4378 * @brief Append an arc that enclosed in the given rectangle (x, y, w, h). The
4222 * angle is defined in counter clock wise , use -ve angle for clockwise arc. 4379 * angle is defined in counter clock wise , use -ve angle for clockwise arc.
4223 * 4380 *
4224 * @param[in] y Y co-ordinate of the rect. 4381 * @param[in] obj The object.
4225 * @param[in] w width of the rect. 4382 * @param[in] y The x co-ordinate of the rect.
4226 * @param[in] h height of the rect. 4383 * @param[in] y The y co-ordinate of the rect.
4227 * @param[in] start_angle Angle at which the arc will start 4384 * @param[in] w The width of the rect.
4228 * @param[in] sweep_length @ Length of the arc. 4385 * @param[in] h The height of the rect.
4386 * @param[in] start_angle The angle at which the arc will start.
4387 * @param[in] sweep_length The length of the arc.
4229 * 4388 *
4230 * @since 1.18 4389 * @since 1.18
4231 * 4390 *
4232 * @ingroup Efl_Gfx_Shape 4391 * @ingroup Evas_Vg_Shape
4233 */ 4392 */
4234EAPI void evas_vg_shape_append_arc(Eo *obj, double x, double y, double w, double h, double start_angle, double sweep_length); 4393EAPI void evas_vg_shape_append_arc(Evas_Vg_Shape *obj, double x, double y, double w, double h, double start_angle, double sweep_length);
4235 4394
4236/** 4395/**
4237 * 4396 * @brief Closes the current subpath by drawing a line to the beginning of the subpath,
4238 * Closes the current subpath by drawing a line to the beginning of the subpath,
4239 * automatically starting a new path. The current point of the new path is 4397 * automatically starting a new path. The current point of the new path is
4240 * (0, 0). 4398 * (0, 0).
4241 * 4399 *
4242 * @note If the subpath does not contain any points, this function does nothing. 4400 * @note If the subpath does not contain any points, this function does nothing.
4243 * 4401 *
4244 * @since 1.14 4402 * @param[in] obj The object.
4245 *
4246 *
4247 * 4403 *
4404 * @since 1.14
4248 */ 4405 */
4249EAPI void evas_vg_shape_append_close(Eo *obj); 4406EAPI void evas_vg_shape_append_close(Evas_Vg_Shape *obj);
4250 4407
4251/** 4408/**
4409 * @brief Append a circle with given center and radius.
4252 * 4410 *
4253 * Append a circle with given center and radius. 4411 * @see evas_vg_shape_append_arc()
4254 *
4255 * @see efl_gfx_path_append_arc()
4256 * @since 1.14
4257 * 4412 *
4413 * @param[in] obj The object.
4414 * @param[in] x The x co-ordinate of the center of the circle.
4415 * @param[in] y The y co-ordinate of the center of the circle.
4416 * @param[in] radius The radius of the circle.
4258 * 4417 *
4259 * @param[in] x X co-ordinate of the center of the circle. 4418 * @since 1.14
4260 * @param[in] y Y co-ordinate of the center of the circle.
4261 * @param[in] radius radius of the circle.
4262 *
4263 */ 4419 */
4264EAPI void evas_vg_shape_append_circle(Eo *obj, double x, double y, double radius); 4420EAPI void evas_vg_shape_append_circle(Evas_Vg_Shape *obj, double x, double y, double radius);
4265 4421
4266/** 4422/**
4267 * 4423 * @brief Append the given rectangle with rounded corner to the path.
4268 * Append the given rectangle with rounded corner to the path.
4269 * 4424 *
4270 * The xr and yr arguments specify the radii of the ellipses defining the 4425 * The xr and yr arguments specify the radii of the ellipses defining the
4271 * corners of the rounded rectangle. 4426 * corners of the rounded rectangle.
4272 * 4427 *
4273 * @note xr and yr are specified in terms of width and height respectively. 4428 * @note xr and yr are specified in terms of width and height respectively.
4274 *
4275 * @note if xr and yr are 0, then it will draw a rectangle without rounded corner. 4429 * @note if xr and yr are 0, then it will draw a rectangle without rounded corner.
4276 * 4430 *
4431 * @param[in] obj The object.
4432 * @param[in] x The x co-ordinate of the rectangle.
4433 * @param[in] y The y co-ordinate of the rectangle.
4434 * @param[in] w The width of the rectangle.
4435 * @param[in] h The height of the rectangle.
4436 * @param[in] rx The x radius of the rounded corner and should be in range [0 to w/2].
4437 * @param[in] ry The y radius of the rounded corner and should be in range [0 to h/2].
4438 *
4277 * @since 1.14 4439 * @since 1.14
4440 */
4441EAPI void evas_vg_shape_append_rect(Evas_Vg_Shape *obj, double x, double y, double w, double h, double rx, double ry);
4442
4443/**
4444 * @brief Append the SVG path data.
4445 *
4446 * @param[in] obj The object.
4447 * @param[in] svg_path_data The svg path data to append.
4448 *
4449 * @since 1.24
4450 */
4451EAPI void evas_vg_shape_append_svg_path(Evas_Vg_Shape *obj, const char *svg_path_data);
4452
4453/**
4454 * @brief Creates intermediary path part-way between two paths
4278 * 4455 *
4456 * Sets the points of the @c obj as the linear interpolation of the points in
4457 * the @c from and @c to paths. The path's x,y position and control point
4458 * coordinates are likewise interpolated.
4279 * 4459 *
4280 * @param[in] x X co-ordinate of the rectangle. 4460 * The @c from and @c to paths must not already have equivalent points, and
4281 * @param[in] y Y co-ordinate of the rectangle. 4461 * @c to must contain at least as many points as @c from, else the function
4282 * @param[in] w Width of the rectangle. 4462 * returns @c false with no interpolation performed. If @c to has more points
4283 * @param[in] h Height of the rectangle. 4463 * than @c from, the excess points are ignored.
4284 * @param[in] rx The x radius of the rounded corner and should be in range [ 0 to w/2 ]
4285 * @param[in] ry The y radius of the rounded corner and should be in range [ 0 to h/2 ]
4286 * 4464 *
4465 * @param[in] obj The object.
4466 * @param[in] from The source path.
4467 * @param[in] to The destination path.
4468 * @param[in] pos_map The position map in range 0.0 to 1.0.
4469 *
4470 * @since 1.24
4287 */ 4471 */
4288EAPI void evas_vg_shape_append_rect(Eo *obj, double x, double y, double w, double h, double rx, double ry); 4472EAPI Eina_Bool evas_vg_shape_interpolate(Evas_Vg_Shape *obj, const Eo *from, const Eo *to, double pos_map);
4289 4473
4290EAPI void evas_vg_shape_append_svg_path(Eo *obj, const char *svg_path_data); 4474/**
4291EAPI Eina_Bool evas_vg_shape_interpolate(Eo *obj, const Eo *from, const Eo *to, double pos_map); 4475 * @brief Check if the given objects have equal commands.
4292EAPI Eina_Bool evas_vg_shape_equal_commands(Eo *obj, const Eo *with); 4476 *
4477 * @param[in] obj The object.
4478 * @param[in] with The target object.
4479 *
4480 * @return True on equal, @c false otherwise.
4481 *
4482 * @since 1.24
4483 */
4484EAPI Eina_Bool evas_vg_shape_equal_commands(Evas_Vg_Shape *obj, const Eo *with);
4293 4485
4294/** 4486/**
4295 * set a vg object as the fill property 4487 * @brief Set a vg object as the fill property.
4296 * 4488 *
4297 * @param obj The object whose fill property gets modified. 4489 * @param[in] obj The object whose fill property gets modified.
4298 * @param f The object content will be used for filling. 4490 * @param[in] The object content will be used for filling.
4299 * 4491 *
4492 * @since 1.24
4300 */ 4493 */
4301EAPI void evas_vg_shape_fill_set(Eo *obj, Efl_VG *f); 4494EAPI void evas_vg_shape_fill_set(Evas_Vg_Shape *obj, Evas_Vg_Node *f);
4302 4495
4303/** 4496/**
4304 * returns the object that is set for the fill property 4497 * @brief Returns the object that is set for the fill property.
4305 * 4498 *
4306 * @param obj The object whose fill property is inspected. 4499 * @param[in] obj The object whose fill property is inspected.
4307 * @return The object that is set as fill property. 4500 * @return The object that is set as fill property.
4308 * 4501 *
4502 * @since 1.24
4309 */ 4503 */
4310EAPI Efl_VG* evas_vg_shape_fill_get(const Eo *obj); 4504EAPI Evas_Vg_Node* evas_vg_shape_fill_get(const Evas_Vg_Shape *obj);
4311 4505
4312/** 4506/**
4313 * set a vg object as the stroke fill property 4507 * @brief Set a vg object as the stroke fill property.
4314 * 4508 *
4315 * @param obj The object whose stroke fill property gets modified. 4509 * @param[in] obj The object whose stroke fill property gets modified.
4316 * @param f The object content will be used for stroke filling. 4510 * @param[in] f The object content will be used for stroke filling.
4317 * 4511 *
4512 * @since 1.24
4318 */ 4513 */
4319EAPI void evas_vg_shape_stroke_fill_set(Eo *obj, Efl_VG *f); 4514EAPI void evas_vg_shape_stroke_fill_set(Evas_Vg_Shape *obj, Evas_Vg_Node *f);
4320 4515
4321/** 4516/**
4322 * returns the object that is set for the stroke fill property 4517 * @brief Returns the object that is set for the stroke fill property.
4323 * 4518 *
4324 * @param obj The object whose stroke fill property is inspected. 4519 * @param[in] obj The object whose stroke fill property is inspected.
4325 * @return The object that is set as stroke fill property. 4520 * @return The object that is set as stroke fill property.
4326 * 4521 *
4522 * @since 1.24
4327 */ 4523 */
4328EAPI Efl_VG* evas_vg_shape_stroke_fill_get(const Eo *obj); 4524EAPI Evas_Vg_Node* evas_vg_shape_stroke_fill_get(const Evas_Vg_Shape *obj);
4329 4525
4330#include "canvas/efl_canvas_vg_shape_eo.legacy.h" 4526#include "canvas/efl_canvas_vg_shape_eo.legacy.h"
4331 4527
4332/** 4528/**
4529 * @brief Set the list of color stops for the gradient.
4333 * 4530 *
4334 * Set the list of color stops for the gradient 4531 * @param[in] obj The object.
4335 * @since 1.14 4532 * @param[in] colors The color stops list.
4336 * 4533 * @param[in] length The length of the list.
4337 * @param[in] colors color stops list
4338 * @param[in] length length of the list
4339 * 4534 *
4535 * @since 1.14
4340 */ 4536 */
4341EAPI void evas_vg_gradient_stop_set(Eo *obj, const Efl_Gfx_Gradient_Stop *colors, unsigned int length); 4537EAPI void evas_vg_gradient_stop_set(Evas_Vg_Gradient *obj, const Evas_Vg_Gradient_Stop *colors, unsigned int length);
4342 4538
4343/** 4539/**
4540 * @brief Get the list of color stops.
4344 * 4541 *
4345 * get the list of color stops. 4542 * @param[in] obj The object.
4346 * @since 1.14 4543 * @param[out] colors The color stops list.
4347 * 4544 * @param[out] length The length of the list.
4348 * @param[out] colors color stops list
4349 * @param[out] length length of the list
4350 * 4545 *
4546 * @since 1.14
4351 */ 4547 */
4352EAPI void evas_vg_gradient_stop_get(Eo *obj, const Efl_Gfx_Gradient_Stop **colors, unsigned int *length); 4548EAPI void evas_vg_gradient_stop_get(Evas_Vg_Gradient *obj, const Evas_Vg_Gradient_Stop **colors, unsigned int *length);
4353 4549
4354/** 4550/**
4551 * @brief Specifies the spread method that should be used for this gradient.
4355 * 4552 *
4356 * Specifies the spread method that should be used for this gradient. 4553 * @param[in] obj The object.
4357 * @since 1.14 4554 * @param[in] s The spread type to be used.
4358 *
4359 * @param[in] s spread type to be used
4360 * 4555 *
4556 * @since 1.14
4361 */ 4557 */
4362EAPI void evas_vg_gradient_spread_set(Eo *obj, Efl_Gfx_Gradient_Spread s); 4558EAPI void evas_vg_gradient_spread_set(Evas_Vg_Gradient *obj, Evas_Vg_Gradient_Spread s);
4363 4559
4364/** 4560/**
4561 * @brief Returns the spread method use by this gradient. The default is
4562 * EVAS_VG_GRADIENT_SPREAD_PAD.
4365 * 4563 *
4366 * Returns the spread method use by this gradient. The default is 4564 * @param[in] obj The object.
4367 * EFL_GFX_GRADIENT_SPREAD_PAD. 4565 * @return The spread type of the given object.
4368 * @since 1.14
4369 *
4370 * 4566 *
4567 * @since 1.14
4371 */ 4568 */
4372EAPI Efl_Gfx_Gradient_Spread evas_vg_gradient_spread_get(Eo *obj); 4569EAPI Evas_Vg_Gradient_Spread evas_vg_gradient_spread_get(Evas_Vg_Gradient *obj);
4373 4570
4374/** 4571/**
4375 * Creates a new linear gradient object \. 4572 * @brief Creates a new linear gradient object.
4376 * 4573 *
4377 * @param parent The given vector container object. 4574 * @param[in] parent The given vector container object.
4378 * @return The created linear gradient object handle. 4575 * @return The created linear gradient object handle.
4379 * 4576 *
4577 * @since 1.24
4380 */ 4578 */
4381EAPI Efl_VG* evas_vg_gradient_linear_add(Efl_VG *parent); 4579EAPI Evas_Vg_Gradient_Linear* evas_vg_gradient_linear_add(Evas_Vg_Container *parent);
4382 4580
4383/** 4581/**
4582 * @brief Sets the start point of this linear gradient.
4384 * 4583 *
4385 * Sets the start point of this linear gradient. 4584 * @param[in] obj The object.
4386 * 4585 * @param[in] x The x co-ordinate of start point.
4387 * @param[in] x x co-ordinate of start point 4586 * @param[in] y The y co-ordinate of start point
4388 * @param[in] y y co-ordinate of start point
4389 * 4587 *
4588 * @since 1.24
4390 */ 4589 */
4391EAPI void evas_vg_gradient_linear_start_set(Eo *obj, double x, double y); 4590EAPI void evas_vg_gradient_linear_start_set(Evas_Vg_Gradient_Linear *obj, double x, double y);
4392 4591
4393/** 4592/**
4593 * @biref Gets the start point of this linear gradient.
4394 * 4594 *
4395 * Gets the start point of this linear gradient. 4595 * @param[in] obj The object.
4396 * 4596 * @param[out] x The x co-ordinate of start point.
4397 * @param[out] x x co-ordinate of start point 4597 * @param[out] y The y co-ordinate of start point.
4398 * @param[out] y y co-ordinate of start point
4399 * 4598 *
4599 * @since 1.24
4400 */ 4600 */
4401EAPI void evas_vg_gradient_linear_start_get(Eo *obj, double *x, double *y); 4601EAPI void evas_vg_gradient_linear_start_get(Evas_Vg_Gradient_Linear *obj, double *x, double *y);
4402 4602
4403/** 4603/**
4604 * @brief Sets the end point of this linear gradient.
4404 * 4605 *
4405 * Sets the end point of this linear gradient. 4606 * @param[in] obj The object.
4406 * 4607 * @param[in] x The x co-ordinate of end point.
4407 * @param[in] x x co-ordinate of end point 4608 * @param[in] y The y co-ordinate of end point.
4408 * @param[in] y y co-ordinate of end point
4409 * 4609 *
4610 * @since 1.24
4410 */ 4611 */
4411EAPI void evas_vg_gradient_linear_end_set(Eo *obj, double x, double y); 4612EAPI void evas_vg_gradient_linear_end_set(Evas_Vg_Gradient_Linear *obj, double x, double y);
4412 4613
4413/** 4614/**
4615 * @brief Gets the end point of this linear gradient.
4414 * 4616 *
4415 * Gets the end point of this linear gradient. 4617 * @param[in] obj The object.
4416 * 4618 * @param[out] x The x co-ordinate of end point.
4417 * @param[out] x x co-ordinate of end point 4619 * @param[out] y The y co-ordinate of end point.
4418 * @param[out] y y co-ordinate of end point
4419 * 4620 *
4621 * @since 1.24
4420 */ 4622 */
4421EAPI void evas_vg_gradient_linear_end_get(Eo *obj, double *x, double *y); 4623EAPI void evas_vg_gradient_linear_end_get(Evas_Vg_Gradient_Linear *obj, double *x, double *y);
4422 4624
4423/** 4625/**
4424 * Creates a new radial gradient object \. 4626 * @brief Creates a new radial gradient object.
4425 * 4627 *
4426 * @param parent The given vector container object. 4628 * @param[in] parent The given vector container object.
4427 * @return The created radial gradient object handle. 4629 * @return The created radial gradient object handle.
4428 * 4630 *
4631 * @since 1.24
4429 */ 4632 */
4430EAPI Efl_VG* evas_vg_gradient_radial_add(Efl_VG *parent); 4633EAPI Evas_Vg_Gradient_Radial* evas_vg_gradient_radial_add(Evas_Vg_Container *parent);
4431 4634
4432/** 4635/**
4636 * @brief Sets the center of this radial gradient.
4433 * 4637 *
4434 * Sets the center of this radial gradient. 4638 * @param[in] obj The object.
4435 * 4639 * @param[in] x The x co-ordinate of center point.
4436 * @param[in] x x co-ordinate of center point 4640 * @param[in] y The y co-ordinate of center point.
4437 * @param[in] y y co-ordinate of center point
4438 * 4641 *
4642 * @since 1.24
4439 */ 4643 */
4440EAPI void evas_vg_gradient_radial_center_set(Eo *obj, double x, double y); 4644EAPI void evas_vg_gradient_radial_center_set(Evas_Vg_Gradient_Radial *obj, double x, double y);
4441 4645
4442/** 4646/**
4647 * @brief Gets the center of this radial gradient.
4443 * 4648 *
4444 * Gets the center of this radial gradient. 4649 * @param[in] obj The object.
4445 * 4650 * @param[out] x The x co-ordinate of center point.
4446 * @param[out] x x co-ordinate of center point 4651 * @param[out] y The y co-ordinate of center point.
4447 * @param[out] y y co-ordinate of center point
4448 * 4652 *
4653 * @since 1.24
4449 */ 4654 */
4450EAPI void evas_vg_gradient_radial_center_get(Eo *obj, double *x, double *y); 4655EAPI void evas_vg_gradient_radial_center_get(Evas_Vg_Gradient_Radial *obj, double *x, double *y);
4451 4656
4452/** 4657/**
4658 * @brief Sets the center radius of this radial gradient.
4453 * 4659 *
4454 * Sets the center radius of this radial gradient. 4660 * @param[in] obj The object.
4455 * 4661 * @param[in] r The center radius.
4456 * @param[in] r center radius
4457 * 4662 *
4663 * @since 1.24
4458 */ 4664 */
4459EAPI void evas_vg_gradient_radial_radius_set(Eo *obj, double r); 4665EAPI void evas_vg_gradient_radial_radius_set(Evas_Vg_Gradient_Radial *obj, double r);
4460 4666
4461/** 4667/**
4668 * @brief Gets the center radius of this radial gradient.
4462 * 4669 *
4463 * Gets the center radius of this radial gradient. 4670 * @param[in] obj The object.
4464 * 4671 * @return The center radius of the given object.
4465 * 4672 *
4673 * @since 1.24
4466 */ 4674 */
4467EAPI double evas_vg_gradient_radial_radius_get(Eo *obj); 4675EAPI double evas_vg_gradient_radial_radius_get(Evas_Vg_Gradient_Radial *obj);
4468 4676
4469/** 4677/**
4678 * @brief Sets the focal point of this radial gradient.
4470 * 4679 *
4471 * Sets the focal point of this radial gradient. 4680 * @param[in] obj The object.
4472 * 4681 * @param[in] x The x co-ordinate of focal point.
4473 * @param[in] x x co-ordinate of focal point 4682 * @param[in] y The y co-ordinate of focal point.
4474 * @param[in] y y co-ordinate of focal point
4475 * 4683 *
4684 * @since 1.24
4476 */ 4685 */
4477EAPI void evas_vg_gradient_radial_focal_set(Eo *obj, double x, double y); 4686EAPI void evas_vg_gradient_radial_focal_set(Evas_Vg_Gradient_Radial *obj, double x, double y);
4478 4687
4479/** 4688/**
4689 * @brief Gets the focal point of this radial gradient.
4480 * 4690 *
4481 * Gets the focal point of this radial gradient. 4691 * @param[in] obj The object.
4482 * 4692 * @param[out] x The x co-ordinate of focal point.
4483 * @param[out] x x co-ordinate of focal point 4693 * @param[out] y The y co-ordinate of focal point.
4484 * @param[out] y y co-ordinate of focal point
4485 * 4694 *
4695 * @since 1.24
4486 */ 4696 */
4487EAPI void evas_vg_gradient_radial_focal_get(Eo *obj, double *x, double *y); 4697EAPI void evas_vg_gradient_radial_focal_get(Evas_Vg_Gradient_Radial *obj, double *x, double *y);
4488 4698
4489/** 4699/**
4490 * @} 4700 * @}
4491 */ 4701 */
4492 4702
4493/** 4703/**
4494 * @ingroup Evas_Object_Image 4704 * @defgroup Evas_Object_Image
4495 * 4705 *
4496 * @{ 4706 * @{
4497 */ 4707 */
@@ -4782,9 +4992,10 @@ EAPI Eina_Bool evas_object_image_source_unset(Evas_Object *o
4782 * } 4992 * }
4783 * @endcode 4993 * @endcode
4784 * 4994 *
4995 * @param[in] obj The object
4785 * @param[in] file The image file path. 4996 * @param[in] file The image file path.
4786 * @param[in] key The image key in @p file (if its an Eet one), or @c 4997 * @param[in] key The image key in @p file (if its an Eet one), or @c
4787NULL, otherwise. 4998 * NULL, otherwise.
4788 */ 4999 */
4789EAPI void evas_object_image_file_set(Eo *obj, const char *file, const char *key); 5000EAPI void evas_object_image_file_set(Eo *obj, const char *file, const char *key);
4790 5001
@@ -4798,9 +5009,10 @@ EAPI void evas_object_image_file_set(Eo *obj, const char *file, const char *key)
4798 * @note Use @c NULL pointers on the file components you're not 5009 * @note Use @c NULL pointers on the file components you're not
4799 * interested in: they'll be ignored by the function. 5010 * interested in: they'll be ignored by the function.
4800 * 5011 *
5012 * @param[in] obj The object
4801 * @param[out] file The image file path. 5013 * @param[out] file The image file path.
4802 * @param[out] key The image key in @p file (if its an Eet one), or @c 5014 * @param[out] key The image key in @p file (if its an Eet one), or @c
4803NULL, otherwise. 5015 * NULL, otherwise.
4804 */ 5016 */
4805EAPI void evas_object_image_file_get(const Eo *obj, const char **file, const char **key); 5017EAPI void evas_object_image_file_get(const Eo *obj, const char **file, const char **key);
4806 5018
@@ -4815,9 +5027,10 @@ EAPI void evas_object_image_file_get(const Eo *obj, const char **file, const cha
4815 * 5027 *
4816 * @since 1.8 5028 * @since 1.8
4817 * 5029 *
5030 * @param[in] obj The object
4818 * @param[in] f The mmaped file 5031 * @param[in] f The mmaped file
4819 * @param[in] key The image key in @p file (if its an Eet one), or @c 5032 * @param[in] key The image key in @p file (if its an Eet one), or @c
4820NULL, otherwise. 5033 * NULL, otherwise.
4821 */ 5034 */
4822EAPI void evas_object_image_mmap_set(Eo *obj, const Eina_File *f, const char *key); 5035EAPI void evas_object_image_mmap_set(Eo *obj, const Eina_File *f, const char *key);
4823 5036
@@ -4832,9 +5045,10 @@ EAPI void evas_object_image_mmap_set(Eo *obj, const Eina_File *f, const char *ke
4832 * 5045 *
4833 * @since 1.10 5046 * @since 1.10
4834 * 5047 *
5048 * @param[in] obj The object
4835 * @param[out] f The mmaped file 5049 * @param[out] f The mmaped file
4836 * @param[out] key The image key in @p file (if its an Eet one), or @c 5050 * @param[out] key The image key in @p file (if its an Eet one), or @c
4837NULL, otherwise. 5051 * NULL, otherwise.
4838 */ 5052 */
4839EAPI void evas_object_image_mmap_get(const Eo *obj, const Eina_File **f, const char **key); 5053EAPI void evas_object_image_mmap_get(const Eo *obj, const Eina_File **f, const char **key);
4840 5054
@@ -4858,10 +5072,11 @@ EAPI void evas_object_image_mmap_get(const Eo *obj, const Eina_File **f, const c
4858 * compress is hint for the compression modes (Eet ones) or for the compression flags (Png one) 5072 * compress is hint for the compression modes (Eet ones) or for the compression flags (Png one)
4859 * (1 == compress, 0 = don't compress). 5073 * (1 == compress, 0 = don't compress).
4860 * 5074 *
5075 * @param[in] obj The object
4861 * @param[in] file The filename to be used to save the image (extension 5076 * @param[in] file The filename to be used to save the image (extension
4862obligatory). 5077 * obligatory).
4863 * @param[in] key The image key in the file (if an Eet one), or @c NULL, 5078 * @param[in] key The image key in the file (if an Eet one), or @c NULL,
4864otherwise. 5079 * otherwise.
4865 * @param[in] flags String containing the flags to be used (@c NULL for 5080 * @param[in] flags String containing the flags to be used (@c NULL for
4866none). 5081none).
4867 */ 5082 */
@@ -4871,6 +5086,7 @@ EAPI Eina_Bool evas_object_image_save(const Eo *obj, const char *file, const cha
4871 * 5086 *
4872 * Check if an image object can be animated (have multiple frames) 5087 * Check if an image object can be animated (have multiple frames)
4873 * 5088 *
5089 * @param[in] obj The object
4874 * @return whether obj support animation 5090 * @return whether obj support animation
4875 * 5091 *
4876 * This returns if the image file of an image object is capable of animation 5092 * This returns if the image file of an image object is capable of animation
@@ -4932,7 +5148,9 @@ EAPI Eina_Bool evas_object_image_animated_get(const Eo *obj);
4932 * @ref evas_object_image_animated_loop_type_get, 5148 * @ref evas_object_image_animated_loop_type_get,
4933 * @ref evas_object_image_animated_loop_count_get, 5149 * @ref evas_object_image_animated_loop_count_get,
4934 * @ref evas_object_image_animated_frame_duration_get. 5150 * @ref evas_object_image_animated_frame_duration_get.
5151 * @ref evas_object_image_animated_frame_get.
4935 * 5152 *
5153 * @param[in] obj The object
4936 * @param[in] frame_index The index of current frame. 5154 * @param[in] frame_index The index of current frame.
4937 * 5155 *
4938 * @since 1.1 5156 * @since 1.1
@@ -4940,6 +5158,25 @@ EAPI Eina_Bool evas_object_image_animated_get(const Eo *obj);
4940EAPI void evas_object_image_animated_frame_set(Evas_Object *obj, int frame_index); 5158EAPI void evas_object_image_animated_frame_set(Evas_Object *obj, int frame_index);
4941 5159
4942/** 5160/**
5161 * @brief Get the frame to current frame of an image object.
5162 *
5163 * This returns image object's current frame.
5164 *
5165 * See also @ref evas_object_image_animated_get,
5166 * @ref evas_object_image_animated_frame_count_get,
5167 * @ref evas_object_image_animated_loop_type_get,
5168 * @ref evas_object_image_animated_loop_count_get,
5169 * @ref evas_object_image_animated_frame_duration_get.
5170 * @ref evas_object_image_animated_frame_set.
5171 *
5172 * @param[in] obj The object
5173 * @param[in] frame_index The index of current frame.
5174 *
5175 * @since 1.24
5176 */
5177EAPI int evas_object_image_animated_frame_get(Evas_Object *obj);
5178
5179/**
4943 * @brief Get the total number of frames of the image object. 5180 * @brief Get the total number of frames of the image object.
4944 * 5181 *
4945 * This returns total number of frames the image object supports (if animated). 5182 * This returns total number of frames the image object supports (if animated).
@@ -4973,6 +5210,7 @@ EAPI int evas_object_image_animated_frame_count_get(const Evas_Object *obj);
4973 * @ref evas_object_image_animated_loop_count_get, 5210 * @ref evas_object_image_animated_loop_count_get,
4974 * @ref evas_object_image_animated_frame_duration_get. 5211 * @ref evas_object_image_animated_frame_duration_get.
4975 * 5212 *
5213 * @param[in] obj The object
4976 * @return Loop type of the image object. 5214 * @return Loop type of the image object.
4977 * 5215 *
4978 * @since 1.1 5216 * @since 1.1
@@ -4994,6 +5232,7 @@ EAPI Evas_Image_Animated_Loop_Hint evas_object_image_animated_loop_type_get(cons
4994 * @ref evas_object_image_animated_loop_type_get, 5232 * @ref evas_object_image_animated_loop_type_get,
4995 * @ref evas_object_image_animated_frame_duration_get. 5233 * @ref evas_object_image_animated_frame_duration_get.
4996 * 5234 *
5235 * @param[in] obj The object
4997 * @return The number of loop of an animated image object. 5236 * @return The number of loop of an animated image object.
4998 * 5237 *
4999 * @since 1.1 5238 * @since 1.1
@@ -5015,6 +5254,7 @@ EAPI int evas_object_image_animated_loop_count_get(const Evas_Object *obj);
5015 * @ref evas_object_image_animated_loop_type_get, 5254 * @ref evas_object_image_animated_loop_type_get,
5016 * @ref evas_object_image_animated_loop_count_get, 5255 * @ref evas_object_image_animated_loop_count_get,
5017 * 5256 *
5257 * @param[in] obj The object
5018 * @param[in] frame_num Number of frames in the sequence. 5258 * @param[in] frame_num Number of frames in the sequence.
5019 * 5259 *
5020 * @since 1.1 5260 * @since 1.1
@@ -5027,6 +5267,7 @@ EAPI double evas_object_image_animated_frame_duration_get(const Evas_Object *obj
5027 * This function sets the DPI resolution of a given loaded canvas image. Most 5267 * This function sets the DPI resolution of a given loaded canvas image. Most
5028 * useful for the SVG image loader. 5268 * useful for the SVG image loader.
5029 * 5269 *
5270 * @param[in] obj The object
5030 * @param[in] dpi The DPI resolution. 5271 * @param[in] dpi The DPI resolution.
5031 */ 5272 */
5032EAPI void evas_object_image_load_dpi_set(Evas_Object *obj, double dpi); 5273EAPI void evas_object_image_load_dpi_set(Evas_Object *obj, double dpi);
@@ -5036,6 +5277,7 @@ EAPI void evas_object_image_load_dpi_set(Evas_Object *obj, double dpi);
5036 * 5277 *
5037 * This function returns the DPI resolution of the given canvas image. 5278 * This function returns the DPI resolution of the given canvas image.
5038 * 5279 *
5280 * @param[in] obj The object
5039 * @return The DPI resolution. 5281 * @return The DPI resolution.
5040 */ 5282 */
5041EAPI double evas_object_image_load_dpi_get(const Evas_Object *obj); 5283EAPI double evas_object_image_load_dpi_get(const Evas_Object *obj);
@@ -5053,6 +5295,7 @@ EAPI double evas_object_image_load_dpi_get(const Evas_Object *obj);
5053 * 5295 *
5054 * @see evas_object_image_load_size_get() 5296 * @see evas_object_image_load_size_get()
5055 * 5297 *
5298 * @param[in] obj The object
5056 * @param[in] w The new width of the image's load size. 5299 * @param[in] w The new width of the image's load size.
5057 * @param[in] h The new height of the image's load size. 5300 * @param[in] h The new height of the image's load size.
5058 */ 5301 */
@@ -5072,6 +5315,7 @@ EAPI void evas_object_image_load_size_set(Eo *obj, int w, int h);
5072 * 5315 *
5073 * @see evas_object_image_load_size_set() for more details 5316 * @see evas_object_image_load_size_set() for more details
5074 * 5317 *
5318 * @param[in] obj The object
5075 * @param[out] w The new width of the image's load size. 5319 * @param[out] w The new width of the image's load size.
5076 * @param[out] h The new height of the image's load size. 5320 * @param[out] h The new height of the image's load size.
5077 */ 5321 */
@@ -5087,6 +5331,7 @@ EAPI void evas_object_image_load_size_get(const Eo *obj, int *w, int *h);
5087 * @note The image loader for the image format in question has to support 5331 * @note The image loader for the image format in question has to support
5088 * selective region loading in order to this function to take effect. 5332 * selective region loading in order to this function to take effect.
5089 * 5333 *
5334 * @param[in] obj The object
5090 * @param[in] x X-offset of the region to be loaded. 5335 * @param[in] x X-offset of the region to be loaded.
5091 * @param[in] y Y-offset of the region to be loaded. 5336 * @param[in] y Y-offset of the region to be loaded.
5092 * @param[in] w Width of the region to be loaded. 5337 * @param[in] w Width of the region to be loaded.
@@ -5101,6 +5346,7 @@ EAPI void evas_object_image_load_region_set(Evas_Object *obj, int x, int y, int
5101 * @note Use @c null pointers on the coordinates you're not interested in: 5346 * @note Use @c null pointers on the coordinates you're not interested in:
5102 * they'll be ignored by the function. 5347 * they'll be ignored by the function.
5103 * 5348 *
5349 * @param[in] obj The object
5104 * @param[out] x X-offset of the region to be loaded. 5350 * @param[out] x X-offset of the region to be loaded.
5105 * @param[out] y Y-offset of the region to be loaded. 5351 * @param[out] y Y-offset of the region to be loaded.
5106 * @param[out] w Width of the region to be loaded. 5352 * @param[out] w Width of the region to be loaded.
@@ -5111,6 +5357,7 @@ EAPI void evas_object_image_load_region_get(const Evas_Object *obj, int *x, int
5111/** 5357/**
5112 * @brief Get the support state of a given image. 5358 * @brief Get the support state of a given image.
5113 * 5359 *
5360 * @param[in] obj The object
5114 * @return The region support state. 5361 * @return The region support state.
5115 * 5362 *
5116 * @since 1.2 5363 * @since 1.2
@@ -5123,6 +5370,7 @@ EAPI Eina_Bool evas_object_image_region_support_get(const Evas_Object *obj) EINA
5123 * @brief Define if the orientation information in the image file should be 5370 * @brief Define if the orientation information in the image file should be
5124 * honored. 5371 * honored.
5125 * 5372 *
5373 * @param[in] obj The object
5126 * @param[in] enable @c true means that it should honor the orientation 5374 * @param[in] enable @c true means that it should honor the orientation
5127 * information. 5375 * information.
5128 * 5376 *
@@ -5134,6 +5382,7 @@ EAPI void evas_object_image_load_orientation_set(Evas_Object *obj, Eina_Bool ena
5134 * @brief Get if the orientation information in the image file should be 5382 * @brief Get if the orientation information in the image file should be
5135 * honored. 5383 * honored.
5136 * 5384 *
5385 * @param[in] obj The object
5137 * @return @c true means that it should honor the orientation information. 5386 * @return @c true means that it should honor the orientation information.
5138 * 5387 *
5139 * @since 1.1 5388 * @since 1.1
@@ -5147,6 +5396,7 @@ EAPI Eina_Bool evas_object_image_load_orientation_get(const Evas_Object *obj);
5147 * This function sets the scale down factor of a given canvas image. Most 5396 * This function sets the scale down factor of a given canvas image. Most
5148 * useful for the SVG image loader. 5397 * useful for the SVG image loader.
5149 * 5398 *
5399 * @param[in] obj The object
5150 * @param[in] scale_down The scale down factor. 5400 * @param[in] scale_down The scale down factor.
5151 */ 5401 */
5152EAPI void evas_object_image_load_scale_down_set(Evas_Object *obj, int scale_down); 5402EAPI void evas_object_image_load_scale_down_set(Evas_Object *obj, int scale_down);
@@ -5155,6 +5405,7 @@ EAPI void evas_object_image_load_scale_down_set(Evas_Object *obj, int scale_down
5155 * @brief Get the scale down factor of a given image object's source image, 5405 * @brief Get the scale down factor of a given image object's source image,
5156 * when loading it. 5406 * when loading it.
5157 * 5407 *
5408 * @param[in] obj The object
5158 * @return The scale down factor. 5409 * @return The scale down factor.
5159 */ 5410 */
5160EAPI int evas_object_image_load_scale_down_get(const Evas_Object *obj); 5411EAPI int evas_object_image_load_scale_down_get(const Evas_Object *obj);
@@ -5169,6 +5420,7 @@ EAPI int evas_object_image_load_scale_down_get(const Evas_Object *obj);
5169 * file existence or even inspecting the image header to get size or alpha 5420 * file existence or even inspecting the image header to get size or alpha
5170 * channel flags etc. All of this will then be done as part of the preload 5421 * channel flags etc. All of this will then be done as part of the preload
5171 * stage. 5422 * stage.
5423 * @param[in] obj The object
5172 * 5424 *
5173 * @since 1.19 5425 * @since 1.19
5174 */ 5426 */
@@ -5177,7 +5429,8 @@ EAPI void evas_object_image_load_head_skip_set(Evas_Object *obj, Eina_Bool skip)
5177/** 5429/**
5178 * @brief Get the load option to skip header loads before preload 5430 * @brief Get the load option to skip header loads before preload
5179 * 5431 *
5180 * This gets the heade skip value set by evas_object_image_load_head_skip_set() 5432 * This gets the head skip value set by evas_object_image_load_head_skip_set()
5433 * @param[in] obj The object
5181 * 5434 *
5182 * @see evas_object_image_load_head_skip_set 5435 * @see evas_object_image_load_head_skip_set
5183 * @since 1.19 5436 * @since 1.19
@@ -5188,6 +5441,7 @@ EAPI Eina_Bool evas_object_image_load_head_skip_get(const Evas_Object *obj);
5188 * @brief Retrieves a number representing any error that occurred during the 5441 * @brief Retrieves a number representing any error that occurred during the
5189 * last loading of the given image object's source image. 5442 * last loading of the given image object's source image.
5190 * 5443 *
5444 * @param[in] obj The object
5191 * @return A value giving the last error that occurred. It should be one of the 5445 * @return A value giving the last error that occurred. It should be one of the
5192 * @ref Evas_Load_Error values. #EVAS_LOAD_ERROR_NONE is returned if there was 5446 * @ref Evas_Load_Error values. #EVAS_LOAD_ERROR_NONE is returned if there was
5193 * no error. 5447 * no error.
@@ -5209,6 +5463,7 @@ EAPI Evas_Load_Error evas_object_image_load_error_get(const Evas_Object *obj) EI
5209 * 5463 *
5210 * @see evas_object_image_smooth_scale_get() 5464 * @see evas_object_image_smooth_scale_get()
5211 * 5465 *
5466 * @param[in] obj The object
5212 * @param[in] smooth_scale Whether to use smooth scale or not. 5467 * @param[in] smooth_scale Whether to use smooth scale or not.
5213 */ 5468 */
5214EAPI void evas_object_image_smooth_scale_set(Eo *obj, Eina_Bool smooth_scale); 5469EAPI void evas_object_image_smooth_scale_set(Eo *obj, Eina_Bool smooth_scale);
@@ -5250,6 +5505,7 @@ typedef Efl_Gfx_Fill_Spread Evas_Fill_Spread;
5250 * Sets the tiling mode for the given evas image object's fill. 5505 * Sets the tiling mode for the given evas image object's fill.
5251 * EVAS_TEXTURE_RESTRICT, or EVAS_TEXTURE_PAD. 5506 * EVAS_TEXTURE_RESTRICT, or EVAS_TEXTURE_PAD.
5252 * 5507 *
5508 * @param[in] obj The object
5253 * @param[in] spread One of EVAS_TEXTURE_REFLECT, EVAS_TEXTURE_REPEAT, 5509 * @param[in] spread One of EVAS_TEXTURE_REFLECT, EVAS_TEXTURE_REPEAT,
5254 */ 5510 */
5255EAPI void evas_object_image_fill_spread_set(Evas_Object *obj, Evas_Fill_Spread spread) EINA_DEPRECATED; 5511EAPI void evas_object_image_fill_spread_set(Evas_Object *obj, Evas_Fill_Spread spread) EINA_DEPRECATED;
@@ -5259,6 +5515,7 @@ EAPI void evas_object_image_fill_spread_set(Evas_Object *obj, Evas_Fill_Spread s
5259 * Retrieves the spread (tiling mode) for the given image object's 5515 * Retrieves the spread (tiling mode) for the given image object's
5260 * fill. 5516 * fill.
5261 * 5517 *
5518 * @param[in] obj The object
5262 * @return The current spread mode of the image object. 5519 * @return The current spread mode of the image object.
5263 * 5520 *
5264 */ 5521 */
@@ -5294,6 +5551,7 @@ EAPI Evas_Fill_Spread evas_object_image_fill_spread_get(const Evas_Object *obj)
5294 * will @b override the values set here automatically, for you, in a 5551 * will @b override the values set here automatically, for you, in a
5295 * given way. 5552 * given way.
5296 * 5553 *
5554 * @param[in] obj The object
5297 * @param[in] x The x coordinate (from the top left corner of the bound 5555 * @param[in] x The x coordinate (from the top left corner of the bound
5298image) to start drawing from. 5556image) to start drawing from.
5299 * @param[in] y The y coordinate (from the top left corner of the bound 5557 * @param[in] y The y coordinate (from the top left corner of the bound
@@ -5313,6 +5571,7 @@ EAPI void evas_object_image_fill_set(Evas_Object *obj, Evas_Coord x, Evas_Coord
5313 * 5571 *
5314 * See @ref evas_object_image_fill_set() for more details. 5572 * See @ref evas_object_image_fill_set() for more details.
5315 * 5573 *
5574 * @param[in] obj The object
5316 * @param[out] x The x coordinate (from the top left corner of the bound 5575 * @param[out] x The x coordinate (from the top left corner of the bound
5317image) to start drawing from. 5576image) to start drawing from.
5318 * @param[out] y The y coordinate (from the top left corner of the bound 5577 * @param[out] y The y coordinate (from the top left corner of the bound
@@ -5331,6 +5590,7 @@ EAPI void evas_object_image_fill_get(const Evas_Object *obj, Evas_Coord *x, Evas
5331 * that new size (and 0, 0 as source image's origin), so the bound image will 5590 * that new size (and 0, 0 as source image's origin), so the bound image will
5332 * fill the whole object's area. 5591 * fill the whole object's area.
5333 * 5592 *
5593 * @param[in] obj The object
5334 * @param[in] filled @c true to make the fill property follow object size or 5594 * @param[in] filled @c true to make the fill property follow object size or
5335 * @c false otherwise. 5595 * @c false otherwise.
5336 */ 5596 */
@@ -5343,6 +5603,7 @@ EAPI void evas_object_image_filled_set(Evas_Object *obj, Eina_Bool filled);
5343 * Returns @c true if it is tracking, @c false if not (and @ref 5603 * Returns @c true if it is tracking, @c false if not (and @ref
5344 * evas_object_fill_set must be called manually). 5604 * evas_object_fill_set must be called manually).
5345 * 5605 *
5606 * @param[in] obj The object
5346 * @return @c true to make the fill property follow object size or @c false 5607 * @return @c true to make the fill property follow object size or @c false
5347 * otherwise. 5608 * otherwise.
5348 */ 5609 */
@@ -5355,6 +5616,7 @@ EAPI Eina_Bool evas_object_image_filled_get(const Evas_Object *obj);
5355 * This function returns @c true if the image object's alpha channel is being 5616 * This function returns @c true if the image object's alpha channel is being
5356 * used, or @c false otherwise. 5617 * used, or @c false otherwise.
5357 * 5618 *
5619 * @param[in] obj The object
5358 * @return Whether to use alpha channel ($true) data or not ($false). 5620 * @return Whether to use alpha channel ($true) data or not ($false).
5359 * 5621 *
5360 * @ingroup Evas_Image 5622 * @ingroup Evas_Image
@@ -5369,6 +5631,7 @@ EAPI Eina_Bool evas_object_image_alpha_get(const Evas_Object *obj);
5369 * and @c false makes it ignore that data. Note that this has nothing to do 5631 * and @c false makes it ignore that data. Note that this has nothing to do
5370 * with an object's color as manipulated by @ref evas_object_color_set. 5632 * with an object's color as manipulated by @ref evas_object_color_set.
5371 * 5633 *
5634 * @param[in] obj The object
5372 * @param[in] alpha Whether to use alpha channel ($true) data or not ($false). 5635 * @param[in] alpha Whether to use alpha channel ($true) data or not ($false).
5373 */ 5636 */
5374EAPI void evas_object_image_alpha_set(Evas_Object *obj, Eina_Bool alpha); 5637EAPI void evas_object_image_alpha_set(Evas_Object *obj, Eina_Bool alpha);
@@ -5393,6 +5656,7 @@ EAPI void evas_object_image_alpha_set(Evas_Object *obj, Eina_Bool alpha);
5393 * 5656 *
5394 * @note Similar to the concepts of 9-patch images or cap insets. 5657 * @note Similar to the concepts of 9-patch images or cap insets.
5395 * 5658 *
5659 * @param[in] obj The object
5396 * @param[in] l The border's left width. 5660 * @param[in] l The border's left width.
5397 * @param[in] r The border's right width. 5661 * @param[in] r The border's right width.
5398 * @param[in] t The border's top height. 5662 * @param[in] t The border's top height.
@@ -5420,6 +5684,7 @@ EAPI void evas_object_image_border_set(Evas_Object *obj, int l, int r, int t, in
5420 * 5684 *
5421 * @note Similar to the concepts of 9-patch images or cap insets. 5685 * @note Similar to the concepts of 9-patch images or cap insets.
5422 * 5686 *
5687 * @param[in] obj The object
5423 * @param[out] l The border's left width. 5688 * @param[out] l The border's left width.
5424 * @param[out] r The border's right width. 5689 * @param[out] r The border's right width.
5425 * @param[out] t The border's top height. 5690 * @param[out] t The border's top height.
@@ -5435,6 +5700,7 @@ EAPI void evas_object_image_border_get(const Evas_Object *obj, int *l, int *r, i
5435 * 5700 *
5436 * Default value is 1.0 (no scaling). 5701 * Default value is 1.0 (no scaling).
5437 * 5702 *
5703 * @param[in] obj The object
5438 * @param[in] scale The scale factor. 5704 * @param[in] scale The scale factor.
5439 */ 5705 */
5440EAPI void evas_object_image_border_scale_set(Evas_Object *obj, double scale); 5706EAPI void evas_object_image_border_scale_set(Evas_Object *obj, double scale);
@@ -5447,6 +5713,7 @@ EAPI void evas_object_image_border_scale_set(Evas_Object *obj, double scale);
5447 * 5713 *
5448 * Default value is 1.0 (no scaling). 5714 * Default value is 1.0 (no scaling).
5449 * 5715 *
5716 * @param[in] obj The object
5450 * @return The scale factor. 5717 * @return The scale factor.
5451 */ 5718 */
5452EAPI double evas_object_image_border_scale_get(const Evas_Object *obj); 5719EAPI double evas_object_image_border_scale_get(const Evas_Object *obj);
@@ -5477,8 +5744,7 @@ typedef enum
5477 * and decorations. You would most probably also be using a filled image (as in 5744 * and decorations. You would most probably also be using a filled image (as in
5478 * @ref Efl.Gfx.Fill.fill_auto) to use as a frame. 5745 * @ref Efl.Gfx.Fill.fill_auto) to use as a frame.
5479 * 5746 *
5480 * The default value is 5747 * @param[in] obj The object
5481 *
5482 * @param[in] fill Fill mode of the center region of @c obj (a value in 5748 * @param[in] fill Fill mode of the center region of @c obj (a value in
5483 * #Evas_Border_Fill_Mode). 5749 * #Evas_Border_Fill_Mode).
5484 */ 5750 */
@@ -5497,6 +5763,7 @@ EAPI void evas_object_image_border_center_fill_set(Evas_Object *obj, Evas_Border
5497 * 5763 *
5498 * The default value is 5764 * The default value is
5499 * 5765 *
5766 * @param[in] obj The object
5500 * @return Fill mode of the center region of @c obj (a value in 5767 * @return Fill mode of the center region of @c obj (a value in
5501 * #Evas_Border_Fill_Mode). 5768 * #Evas_Border_Fill_Mode).
5502 */ 5769 */
@@ -5507,6 +5774,7 @@ EAPI Evas_Border_Fill_Mode evas_object_image_border_center_fill_get(const Evas_O
5507 * 5774 *
5508 * This function allows to rotate or flip the image. 5775 * This function allows to rotate or flip the image.
5509 * 5776 *
5777 * @param[in] obj The object
5510 * @param[in] orient The image orientation @ref Evas_Image_Orient. Default is 5778 * @param[in] orient The image orientation @ref Evas_Image_Orient. Default is
5511 * #EVAS_IMAGE_ORIENT_NONE. 5779 * #EVAS_IMAGE_ORIENT_NONE.
5512 * 5780 *
@@ -5519,6 +5787,7 @@ EAPI void evas_object_image_orient_set(Evas_Object *obj, Evas_Image_Orient orien
5519/** 5787/**
5520 * @brief Get the image orientation. 5788 * @brief Get the image orientation.
5521 * 5789 *
5790 * @param[in] obj The object
5522 * @return The image orientation @ref Evas_Image_Orient. Default is 5791 * @return The image orientation @ref Evas_Image_Orient. Default is
5523 * #EVAS_IMAGE_ORIENT_NONE. 5792 * #EVAS_IMAGE_ORIENT_NONE.
5524 * 5793 *
@@ -5537,6 +5806,7 @@ EAPI Evas_Image_Orient evas_object_image_orient_get(const Evas_Object *obj);
5537 * it need zero copies at texture upload time, which is an "expensive" 5806 * it need zero copies at texture upload time, which is an "expensive"
5538 * operation. 5807 * operation.
5539 * 5808 *
5809 * @param[in] obj The object
5540 * @param[in] hint The content hint value, one of the 5810 * @param[in] hint The content hint value, one of the
5541 * @ref Evas_Image_Content_Hint ones. 5811 * @ref Evas_Image_Content_Hint ones.
5542 */ 5812 */
@@ -5547,6 +5817,7 @@ EAPI void evas_object_image_content_hint_set(Evas_Object *obj, Evas_Image_Conten
5547 * 5817 *
5548 * This returns #EVAS_IMAGE_CONTENT_HINT_NONE on error. 5818 * This returns #EVAS_IMAGE_CONTENT_HINT_NONE on error.
5549 * 5819 *
5820 * @param[in] obj The object
5550 * @return The content hint value, one of the @ref Evas_Image_Content_Hint 5821 * @return The content hint value, one of the @ref Evas_Image_Content_Hint
5551 * ones. 5822 * ones.
5552 */ 5823 */
@@ -5559,6 +5830,7 @@ EAPI Evas_Image_Content_Hint evas_object_image_content_hint_get(const Evas_Objec
5559 * canvas, which will affect how Evas is to cache scaled versions of its 5830 * canvas, which will affect how Evas is to cache scaled versions of its
5560 * original source image. 5831 * original source image.
5561 * 5832 *
5833 * @param[in] obj The object
5562 * @param[in] hint The scale hint, a value in @ref Evas_Image_Scale_Hint. 5834 * @param[in] hint The scale hint, a value in @ref Evas_Image_Scale_Hint.
5563 * 5835 *
5564 * @ingroup Evas_Image 5836 * @ingroup Evas_Image
@@ -5571,6 +5843,7 @@ EAPI void evas_object_image_scale_hint_set(Evas_Object *obj, Evas_Image_Scale_Hi
5571 * This function returns the scale hint value of the given image object of the 5843 * This function returns the scale hint value of the given image object of the
5572 * canvas. 5844 * canvas.
5573 * 5845 *
5846 * @param[in] obj The object
5574 * @return The scale hint, a value in @ref Evas_Image_Scale_Hint. 5847 * @return The scale hint, a value in @ref Evas_Image_Scale_Hint.
5575 * 5848 *
5576 * @ingroup Evas_Image 5849 * @ingroup Evas_Image
@@ -5587,6 +5860,7 @@ EAPI Evas_Image_Scale_Hint evas_object_image_scale_hint_get(const Evas_Object *o
5587 * larger, then the image will be treated as if it were in the upper 5860 * larger, then the image will be treated as if it were in the upper
5588 * left hand corner of a larger image that is otherwise transparent. 5861 * left hand corner of a larger image that is otherwise transparent.
5589 * 5862 *
5863 * @param[in] obj The object
5590 * @param[in] w The new width of the image. 5864 * @param[in] w The new width of the image.
5591 * @param[in] h The new height of the image. 5865 * @param[in] h The new height of the image.
5592 */ 5866 */
@@ -5598,6 +5872,7 @@ EAPI void evas_object_image_size_set(Evas_Object *obj, int w, int h);
5598 * 5872 *
5599 * See @ref evas_object_image_size_set() for more details. 5873 * See @ref evas_object_image_size_set() for more details.
5600 * 5874 *
5875 * @param[in] obj The object
5601 * @param[out] w The new width of the image. 5876 * @param[out] w The new width of the image.
5602 * @param[out] h The new height of the image. 5877 * @param[out] h The new height of the image.
5603 */ 5878 */
@@ -5608,6 +5883,7 @@ EAPI void evas_object_image_size_get(const Evas_Object *obj, int *w, int *h);
5608 * 5883 *
5609 * This function sets the colorspace of given canvas image. 5884 * This function sets the colorspace of given canvas image.
5610 * 5885 *
5886 * @param[in] obj The object
5611 * @param[in] cspace The new color space. 5887 * @param[in] cspace The new color space.
5612 * 5888 *
5613 * @ingroup Evas_Image 5889 * @ingroup Evas_Image
@@ -5619,6 +5895,7 @@ EAPI void evas_object_image_colorspace_set(Evas_Object *obj, Evas_Colorspace csp
5619 * 5895 *
5620 * This function returns the colorspace of given canvas image. 5896 * This function returns the colorspace of given canvas image.
5621 * 5897 *
5898 * @param[in] obj The object
5622 * @return The new color space. 5899 * @return The new color space.
5623 * 5900 *
5624 * @ingroup Evas_Image 5901 * @ingroup Evas_Image
@@ -5631,6 +5908,7 @@ EAPI Evas_Colorspace evas_object_image_colorspace_get(const Evas_Object *obj);
5631 * The row stride is the number of bytes between the start of a row and the 5908 * The row stride is the number of bytes between the start of a row and the
5632 * start of the next row for image data. 5909 * start of the next row for image data.
5633 * 5910 *
5911 * @param[in] obj The object
5634 * @return The stride of the image (in bytes). 5912 * @return The stride of the image (in bytes).
5635 * 5913 *
5636 * @ingroup Evas_Image 5914 * @ingroup Evas_Image
@@ -5654,6 +5932,7 @@ EAPI int evas_object_image_stride_get(const Evas_Object *obj) EINA_WARN_UNUSED_R
5654 * with it, as user-set image data will not be automatically freed when the 5932 * with it, as user-set image data will not be automatically freed when the
5655 * image object is deleted. 5933 * image object is deleted.
5656 * 5934 *
5935 * @param[in] obj The object
5657 * @param[in] data The raw data to replace. 5936 * @param[in] data The raw data to replace.
5658 * 5937 *
5659 * @ingroup Evas_Image 5938 * @ingroup Evas_Image
@@ -5670,6 +5949,7 @@ EAPI void evas_object_image_data_copy_set(Evas_Object *obj, void *data);
5670 * set an image object's data manually, it will still have one, allocated by 5949 * set an image object's data manually, it will still have one, allocated by
5671 * Evas. 5950 * Evas.
5672 * 5951 *
5952 * @param[in] obj The object
5673 * @param[in] data The raw data, or @c null. 5953 * @param[in] data The raw data, or @c null.
5674 * 5954 *
5675 * @ingroup Evas_Image 5955 * @ingroup Evas_Image
@@ -5696,6 +5976,7 @@ EAPI void evas_object_image_data_set(Evas_Object *obj, void *data);
5696 * @note You may want to use @Evas.Image.data_update_add to inform data 5976 * @note You may want to use @Evas.Image.data_update_add to inform data
5697 * changes, if you did any. 5977 * changes, if you did any.
5698 * 5978 *
5979 * @param[in] obj The object
5699 * @param[in] for_writing Whether the data being retrieved will be modified 5980 * @param[in] for_writing Whether the data being retrieved will be modified
5700 * ($true) or not ($false). 5981 * ($true) or not ($false).
5701 * 5982 *
@@ -5711,6 +5992,7 @@ EAPI void *evas_object_image_data_get(const Evas_Object *obj, Eina_Bool for_writ
5711 * This function schedules a particular rectangular region of an image object 5992 * This function schedules a particular rectangular region of an image object
5712 * to be updated (redrawn) at the next rendering cycle. 5993 * to be updated (redrawn) at the next rendering cycle.
5713 * 5994 *
5995 * @param[in] obj The object
5714 * @param[in] y Y-offset of the region to be updated. 5996 * @param[in] y Y-offset of the region to be updated.
5715 * @param[in] w Width of the region to be updated. 5997 * @param[in] w Width of the region to be updated.
5716 * @param[in] h Height of the region to be updated. 5998 * @param[in] h Height of the region to be updated.
@@ -5721,7 +6003,8 @@ EAPI void evas_object_image_data_update_add(Evas_Object *obj, int x, int y, int
5721 * @brief The content below the Evas_Object_Image will be rendered inside it 6003 * @brief The content below the Evas_Object_Image will be rendered inside it
5722 * and you can reuse it as a source for any kind of effect. 6004 * and you can reuse it as a source for any kind of effect.
5723 * 6005 *
5724 * @param[in] s Wether to put the content of the canvas below inside the 6006 * @param[in] obj The object
6007 * @param[in] s Whether to put the content of the canvas below inside the
5725 * Evas_Object_Image. 6008 * Evas_Object_Image.
5726 * 6009 *
5727 * @since 1.15 6010 * @since 1.15
@@ -5729,9 +6012,10 @@ EAPI void evas_object_image_data_update_add(Evas_Object *obj, int x, int y, int
5729EAPI void evas_object_image_snapshot_set(Evas_Object *obj, Eina_Bool s); 6012EAPI void evas_object_image_snapshot_set(Evas_Object *obj, Eina_Bool s);
5730 6013
5731/** 6014/**
5732 * @brief Determine wether the Evas_Object_Image replicate the content of the 6015 * @brief Determine whether the Evas_Object_Image replicate the content of the
5733 * canvas below. 6016 * canvas below.
5734 * 6017 *
6018 * @param[in] obj The object
5735 * @return Wether to put the content of the canvas below inside the 6019 * @return Wether to put the content of the canvas below inside the
5736 * Evas_Object_Image. 6020 * Evas_Object_Image.
5737 * 6021 *
@@ -5755,6 +6039,7 @@ EAPI Eina_Bool evas_object_image_snapshot_get(const Evas_Object *obj);
5755 * 6039 *
5756 * @warning You cannot set a proxy as another proxy's source. 6040 * @warning You cannot set a proxy as another proxy's source.
5757 * 6041 *
6042 * @param[in] obj The object
5758 * @param[in] src Source object to use for the proxy. 6043 * @param[in] src Source object to use for the proxy.
5759 */ 6044 */
5760EAPI Eina_Bool evas_object_image_source_set(Evas_Object *obj, Evas_Object *src); 6045EAPI Eina_Bool evas_object_image_source_set(Evas_Object *obj, Evas_Object *src);
@@ -5762,6 +6047,7 @@ EAPI Eina_Bool evas_object_image_source_set(Evas_Object *obj, Evas_Object *src);
5762/** 6047/**
5763 * @brief Get the current source object of an image object. 6048 * @brief Get the current source object of an image object.
5764 * 6049 *
6050 * @param[in] obj The object
5765 * @return Source object to use for the proxy. 6051 * @return Source object to use for the proxy.
5766 */ 6052 */
5767EAPI Evas_Object *evas_object_image_source_get(const Evas_Object *obj); 6053EAPI Evas_Object *evas_object_image_source_get(const Evas_Object *obj);
@@ -5769,6 +6055,7 @@ EAPI Evas_Object *evas_object_image_source_get(const Evas_Object *obj);
5769/** 6055/**
5770 * @brief Clip the proxy object with the source object's clipper. 6056 * @brief Clip the proxy object with the source object's clipper.
5771 * 6057 *
6058 * @param[in] obj The object
5772 * @param[in] source_clip Whether @c obj is clipped by the source clipper 6059 * @param[in] source_clip Whether @c obj is clipped by the source clipper
5773 * ($true) or not ($false). 6060 * ($true) or not ($false).
5774 * 6061 *
@@ -5779,6 +6066,7 @@ EAPI void evas_object_image_source_clip_set(Evas_Object *obj, Eina_Bool source_c
5779/** 6066/**
5780 * @brief Determine whether an object is clipped by source object's clipper. 6067 * @brief Determine whether an object is clipped by source object's clipper.
5781 * 6068 *
6069 * @param[in] obj The object
5782 * @return Whether @c obj is clipped by the source clipper ($true) or not 6070 * @return Whether @c obj is clipped by the source clipper ($true) or not
5783 * ($false). 6071 * ($false).
5784 * 6072 *
@@ -5799,6 +6087,7 @@ EAPI Eina_Bool evas_object_image_source_clip_get(const Evas_Object *obj);
5799 * If @c repeat is @c false, events occurring on @c obj will be processed only 6087 * If @c repeat is @c false, events occurring on @c obj will be processed only
5800 * on it. 6088 * on it.
5801 * 6089 *
6090 * @param[in] obj The object
5802 * @param[in] source Whether @c obj is to pass events ($true) or not ($false). 6091 * @param[in] source Whether @c obj is to pass events ($true) or not ($false).
5803 * 6092 *
5804 * @since 1.8 6093 * @since 1.8
@@ -5808,6 +6097,7 @@ EAPI void evas_object_image_source_events_set(Evas_Object *obj, Eina_Bool repeat
5808/** 6097/**
5809 * @brief Determine whether an object is set to source events. 6098 * @brief Determine whether an object is set to source events.
5810 * 6099 *
6100 * @param[in] obj The object
5811 * @return Whether @c obj is to pass events ($true) or not ($false). 6101 * @return Whether @c obj is to pass events ($true) or not ($false).
5812 * 6102 *
5813 * @since 1.8 6103 * @since 1.8
@@ -5831,6 +6121,7 @@ EAPI Eina_Bool evas_object_image_source_events_get(const Evas_Object *obj);
5831 * @warning If the all of proxies are deleted, then the source visibility of 6121 * @warning If the all of proxies are deleted, then the source visibility of
5832 * the source object will be cancelled. 6122 * the source object will be cancelled.
5833 * 6123 *
6124 * @param[in] obj The object
5834 * @param[in] visible @c true is source object to be shown, @c false otherwise. 6125 * @param[in] visible @c true is source object to be shown, @c false otherwise.
5835 * 6126 *
5836 * @deprecated Please use evas_object_norender_get() on the source instead. 6127 * @deprecated Please use evas_object_norender_get() on the source instead.
@@ -5842,6 +6133,7 @@ EAPI void evas_object_image_source_visible_set(Evas_Object *obj, Eina_Bool visib
5842/** 6133/**
5843 * @brief Get the state of the source object visibility. 6134 * @brief Get the state of the source object visibility.
5844 * 6135 *
6136 * @param[in] obj The object
5845 * @return @c true is source object to be shown, @c false otherwise. 6137 * @return @c true is source object to be shown, @c false otherwise.
5846 * 6138 *
5847 * @deprecated Please use evas_object_norender_get() on the source instead. 6139 * @deprecated Please use evas_object_norender_get() on the source instead.
@@ -5858,6 +6150,7 @@ EAPI Eina_Bool evas_object_image_source_visible_get(const Evas_Object *obj);
5858 * 6150 *
5859 * @warning Use this function if you really know what you are doing. 6151 * @warning Use this function if you really know what you are doing.
5860 * 6152 *
6153 * @param[in] obj The object
5861 * @param[in] dirty Whether the image is dirty. 6154 * @param[in] dirty Whether the image is dirty.
5862 */ 6155 */
5863EAPI void evas_object_image_pixels_dirty_set(Evas_Object *obj, Eina_Bool dirty); 6156EAPI void evas_object_image_pixels_dirty_set(Evas_Object *obj, Eina_Bool dirty);
@@ -5866,6 +6159,7 @@ EAPI void evas_object_image_pixels_dirty_set(Evas_Object *obj, Eina_Bool dirty);
5866 * @brief Retrieves whether the given image object is dirty (needs to be 6159 * @brief Retrieves whether the given image object is dirty (needs to be
5867 * redrawn). 6160 * redrawn).
5868 * 6161 *
6162 * @param[in] obj The object
5869 * @return Whether the image is dirty. 6163 * @return Whether the image is dirty.
5870 */ 6164 */
5871EAPI Eina_Bool evas_object_image_pixels_dirty_get(const Evas_Object *obj); 6165EAPI Eina_Bool evas_object_image_pixels_dirty_get(const Evas_Object *obj);
@@ -5876,6 +6170,7 @@ EAPI Eina_Bool evas_object_image_pixels_dirty_get(const Evas_Object *obj);
5876 * This functions sets a function to be the callback function that get pixels 6170 * This functions sets a function to be the callback function that get pixels
5877 * from a image of the canvas. 6171 * from a image of the canvas.
5878 * 6172 *
6173 * @param[in] obj The object
5879 * @param[in] func The callback function. 6174 * @param[in] func The callback function.
5880 * @param[in] data The data pointer to be passed to @c func. 6175 * @param[in] data The data pointer to be passed to @c func.
5881 */ 6176 */
@@ -5935,6 +6230,7 @@ typedef enum _Evas_Video_Surface_Caps
5935/** 6230/**
5936 * @brief Set the video surface linked to a given image of the canvas. 6231 * @brief Set the video surface linked to a given image of the canvas.
5937 * 6232 *
6233 * @param[in] obj The object
5938 * @param[in] surf The new video surface. 6234 * @param[in] surf The new video surface.
5939 * 6235 *
5940 * @since 1.1 6236 * @since 1.1
@@ -5942,8 +6238,9 @@ typedef enum _Evas_Video_Surface_Caps
5942EAPI void evas_object_image_video_surface_set(Evas_Object *obj, Evas_Video_Surface *surf); 6238EAPI void evas_object_image_video_surface_set(Evas_Object *obj, Evas_Video_Surface *surf);
5943 6239
5944/** 6240/**
5945 * @brief Get the video surface linekd to a given image of the canvas. 6241 * @brief Get the video surface linked to a given image of the canvas.
5946 * 6242 *
6243 * @param[in] obj The object
5947 * @return The new video surface. 6244 * @return The new video surface.
5948 * 6245 *
5949 * @since 1.1 6246 * @since 1.1
@@ -5953,11 +6250,14 @@ EAPI const Evas_Video_Surface *evas_object_image_video_surface_get(const Evas_Ob
5953/** 6250/**
5954 * @brief Set the video surface capabilities to a given image of the canvas. 6251 * @brief Set the video surface capabilities to a given image of the canvas.
5955 * 6252 *
5956 * @param[in] caps 6253 * @param[in] obj The object
6254 * @param[in] caps Surface capabilities
5957 */ 6255 */
5958EAPI void evas_object_image_video_surface_caps_set(Evas_Object *obj, unsigned int caps); 6256EAPI void evas_object_image_video_surface_caps_set(Evas_Object *obj, unsigned int caps);
5959 6257
5960/** Get the video surface capabilities to a given image of the canvas. 6258/** Get the video surface capabilities to a given image of the canvas.
6259 * @param[in] obj The object
6260 * @return Surface capabilities
5961 */ 6261 */
5962EAPI unsigned int evas_object_image_video_surface_caps_get(const Evas_Object *obj); 6262EAPI unsigned int evas_object_image_video_surface_caps_get(const Evas_Object *obj);
5963 6263
@@ -5976,6 +6276,7 @@ EAPI unsigned int evas_object_image_video_surface_caps_get(const Evas_Object *ob
5976 * 6276 *
5977 * @return data A newly allocated data in the format specified by to_cspace. 6277 * @return data A newly allocated data in the format specified by to_cspace.
5978 * 6278 *
6279 * @param[in] obj The object
5979 * @param[in] to_cspace The colorspace to which the image raw data will be converted. 6280 * @param[in] to_cspace The colorspace to which the image raw data will be converted.
5980 */ 6281 */
5981/** @deprecated evas_object_image_data_convert */ 6282/** @deprecated evas_object_image_data_convert */
@@ -5986,6 +6287,7 @@ EAPI void *evas_object_image_data_convert(Evas_Object *obj, Evas_Colorspace to_c
5986 * 6287 *
5987 * This function imports pixels from a given source to a given canvas image. 6288 * This function imports pixels from a given source to a given canvas image.
5988 * 6289 *
6290 * @param[in] obj The object
5989 * @param[in] pixels The pixel's source to be imported. 6291 * @param[in] pixels The pixel's source to be imported.
5990 */ 6292 */
5991/** @deprecated evas_object_image_pixels_import */ 6293/** @deprecated evas_object_image_pixels_import */
@@ -6333,8 +6635,6 @@ EAPI void evas_object_polygon_points_clear(Evas_Object *obj);
6333/** Call user-provided @c calculate smart functions and unset the flag 6635/** Call user-provided @c calculate smart functions and unset the flag
6334 * signalling that the object needs to get recalculated to all smart objects in 6636 * signalling that the object needs to get recalculated to all smart objects in
6335 * the canvas. 6637 * the canvas.
6336 *
6337 * @ingroup Evas_Canvas
6338 */ 6638 */
6339EAPI void evas_smart_objects_calculate(Eo *obj); 6639EAPI void evas_smart_objects_calculate(Eo *obj);
6340 6640
@@ -6344,8 +6644,6 @@ EAPI void evas_smart_objects_calculate(Eo *obj);
6344 * @param[in] obj The object. 6644 * @param[in] obj The object.
6345 * 6645 *
6346 * @return @c true if currently calculating smart objects. 6646 * @return @c true if currently calculating smart objects.
6347 *
6348 * @ingroup Evas_Canvas
6349 */ 6647 */
6350EAPI Eina_Bool evas_smart_objects_calculating_get(const Eo *obj); 6648EAPI Eina_Bool evas_smart_objects_calculating_get(const Eo *obj);
6351 6649
@@ -6361,8 +6659,6 @@ EAPI Eina_Bool evas_smart_objects_calculating_get(const Eo *obj);
6361 * canvas. It will take care of setting all of its internals to work 6659 * canvas. It will take care of setting all of its internals to work
6362 * as they should, if the user set things properly, as seem on the 6660 * as they should, if the user set things properly, as seem on the
6363 * #EVAS_SMART_SUBCLASS_NEW, for example. 6661 * #EVAS_SMART_SUBCLASS_NEW, for example.
6364 *
6365 * @ingroup Evas_Smart_Object_Group
6366 */ 6662 */
6367EAPI Evas_Object *evas_object_smart_add(Evas *e, Evas_Smart *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_MALLOC; 6663EAPI Evas_Object *evas_object_smart_add(Evas *e, Evas_Smart *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_MALLOC;
6368 6664
@@ -6383,8 +6679,6 @@ EAPI Evas_Object *evas_object_smart_add(Evas *e, Evas_Smart *s) EINA_WARN_UNUSED
6383 * 6679 *
6384 * @see evas_object_smart_member_del() 6680 * @see evas_object_smart_member_del()
6385 * @see evas_object_smart_members_get() 6681 * @see evas_object_smart_members_get()
6386 *
6387 * @ingroup Evas_Smart_Object_Group
6388 */ 6682 */
6389EAPI void evas_object_smart_member_add(Evas_Object *obj, Evas_Object *smart_obj) EINA_ARG_NONNULL(1, 2); 6683EAPI void evas_object_smart_member_add(Evas_Object *obj, Evas_Object *smart_obj) EINA_ARG_NONNULL(1, 2);
6390 6684
@@ -6392,7 +6686,6 @@ EAPI void evas_object_smart_member_add(Evas_Object *obj, Evas_Object *sm
6392 * Removes a member object from a given smart object. 6686 * Removes a member object from a given smart object.
6393 * 6687 *
6394 * @param obj the member object 6688 * @param obj the member object
6395 * @ingroup Evas_Smart_Object_Group
6396 * 6689 *
6397 * This removes a member object from a smart object, if it was added 6690 * This removes a member object from a smart object, if it was added
6398 * to any. The object will still be on the canvas, but no longer 6691 * to any. The object will still be on the canvas, but no longer
@@ -6439,7 +6732,6 @@ EAPI void evas_object_smart_member_del(Evas_Object *obj) EINA_ARG_NONNUL
6439 * @see @ref Evas_Smart_Object_Group_Callbacks for more details. 6732 * @see @ref Evas_Smart_Object_Group_Callbacks for more details.
6440 * 6733 *
6441 * @see evas_object_smart_callback_del() 6734 * @see evas_object_smart_callback_del()
6442 * @ingroup Evas_Smart_Object_Group
6443 */ 6735 */
6444EAPI void evas_object_smart_callback_add(Evas_Object *obj, const char *event, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1, 2, 3); 6736EAPI void evas_object_smart_callback_add(Evas_Object *obj, const char *event, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1, 2, 3);
6445 6737
@@ -6456,7 +6748,6 @@ EAPI void evas_object_smart_callback_add(Evas_Object *obj, const char *e
6456 * 6748 *
6457 * @see evas_object_smart_callback_add 6749 * @see evas_object_smart_callback_add
6458 * @since 1.1 6750 * @since 1.1
6459 * @ingroup Evas_Smart_Object_Group
6460 */ 6751 */
6461EAPI void evas_object_smart_callback_priority_add(Evas_Object *obj, const char *event, Evas_Callback_Priority priority, Evas_Smart_Cb func, const void *data); 6752EAPI void evas_object_smart_callback_priority_add(Evas_Object *obj, const char *event, Evas_Callback_Priority priority, Evas_Smart_Cb func, const void *data);
6462 6753
@@ -6478,8 +6769,6 @@ EAPI void evas_object_smart_callback_priority_add(Evas_Object *obj, cons
6478 * not successful @c NULL will be returned. 6769 * not successful @c NULL will be returned.
6479 * 6770 *
6480 * @see evas_object_smart_callback_add() for more details. 6771 * @see evas_object_smart_callback_add() for more details.
6481 *
6482 * @ingroup Evas_Smart_Object_Group
6483 */ 6772 */
6484EAPI void *evas_object_smart_callback_del(Evas_Object *obj, const char *event, Evas_Smart_Cb func) EINA_ARG_NONNULL(1, 2, 3); 6773EAPI void *evas_object_smart_callback_del(Evas_Object *obj, const char *event, Evas_Smart_Cb func) EINA_ARG_NONNULL(1, 2, 3);
6485 6774
@@ -6504,7 +6793,6 @@ EAPI void *evas_object_smart_callback_del(Evas_Object *obj, const char *e
6504 * 6793 *
6505 * @see evas_object_smart_callback_add() for more details. 6794 * @see evas_object_smart_callback_add() for more details.
6506 * @since 1.2 6795 * @since 1.2
6507 * @ingroup Evas_Smart_Object_Group
6508 * 6796 *
6509 * @note To delete all smart event callbacks which match @p type and @p func, 6797 * @note To delete all smart event callbacks which match @p type and @p func,
6510 * use evas_object_smart_callback_del(). 6798 * use evas_object_smart_callback_del().
@@ -6529,8 +6817,6 @@ EAPI void *evas_object_smart_callback_del_full(Evas_Object *obj, const ch
6529 * encouraged to properly set the Evas_Smart_Class::callbacks 6817 * encouraged to properly set the Evas_Smart_Class::callbacks
6530 * callbacks description array, so that the users of the smart object 6818 * callbacks description array, so that the users of the smart object
6531 * can have introspection on its events API <b>at run time</b>. 6819 * can have introspection on its events API <b>at run time</b>.
6532 *
6533 * @ingroup Evas_Smart_Object_Group
6534 */ 6820 */
6535EAPI void evas_object_smart_callback_call(Evas_Object *obj, const char *event, void *event_info) EINA_ARG_NONNULL(1, 2); 6821EAPI void evas_object_smart_callback_call(Evas_Object *obj, const char *event, void *event_info) EINA_ARG_NONNULL(1, 2);
6536 6822
@@ -6579,8 +6865,6 @@ EAPI void *evas_object_smart_interface_data_get(const Evas_Object *o
6579 * See also @ref evas_object_smart_type_check_ptr. 6865 * See also @ref evas_object_smart_type_check_ptr.
6580 * 6866 *
6581 * @param[in] type The name (type) of the smart class to check for. 6867 * @param[in] type The name (type) of the smart class to check for.
6582 *
6583 * @ingroup Evas_Object
6584 */ 6868 */
6585EAPI Eina_Bool evas_object_smart_type_check(const Evas_Object *obj, const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(2); 6869EAPI Eina_Bool evas_object_smart_type_check(const Evas_Object *obj, const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(2);
6586 6870
@@ -6592,8 +6876,6 @@ EAPI Eina_Bool evas_object_smart_type_check(const Evas_Object *obj, const char *
6592 * 6876 *
6593 * @return @c true if @c obj or any of its parents is of type @c type, @c false 6877 * @return @c true if @c obj or any of its parents is of type @c type, @c false
6594 * otherwise. 6878 * otherwise.
6595 *
6596 * @ingroup Evas_Object
6597 */ 6879 */
6598EAPI Eina_Bool evas_object_smart_type_check_ptr(const Evas_Object *obj, const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(2); 6880EAPI Eina_Bool evas_object_smart_type_check_ptr(const Evas_Object *obj, const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(2);
6599 6881
@@ -6624,8 +6906,6 @@ EAPI Eina_Bool evas_object_smart_type_check_ptr(const Evas_Object *obj, const ch
6624 * made, so this array should be kept alive during the whole object's lifetime. 6906 * made, so this array should be kept alive during the whole object's lifetime.
6625 * 6907 *
6626 * @return @c true on success, @c false on failure. 6908 * @return @c true on success, @c false on failure.
6627 *
6628 * @ingroup Evas_Object_Smart
6629 */ 6909 */
6630EAPI Eina_Bool evas_object_smart_callbacks_descriptions_set(Evas_Object *obj, const Evas_Smart_Cb_Description *descriptions); 6910EAPI Eina_Bool evas_object_smart_callbacks_descriptions_set(Evas_Object *obj, const Evas_Smart_Cb_Description *descriptions);
6631 6911
@@ -6656,8 +6936,6 @@ EAPI Eina_Bool evas_object_smart_callbacks_descriptions_set(Evas_Object *obj, co
6656 * is returned. 6936 * is returned.
6657 * @param[out] instance_count Returns how many instance callbacks descriptions 6937 * @param[out] instance_count Returns how many instance callbacks descriptions
6658 * are known. 6938 * are known.
6659 *
6660 * @ingroup Evas_Object_Smart
6661 */ 6939 */
6662EAPI void evas_object_smart_callbacks_descriptions_get(const Evas_Object *obj, const Evas_Smart_Cb_Description ***class_descriptions, unsigned int *class_count, const Evas_Smart_Cb_Description ***instance_descriptions, unsigned int *instance_count); 6940EAPI void evas_object_smart_callbacks_descriptions_get(const Evas_Object *obj, const Evas_Smart_Cb_Description ***class_descriptions, unsigned int *class_count, const Evas_Smart_Cb_Description ***instance_descriptions, unsigned int *instance_count);
6663 6941
@@ -6675,8 +6953,6 @@ EAPI void evas_object_smart_callbacks_descriptions_get(const Evas_Object *obj, c
6675 * if not found. If parameter is @c null, no search will be done on class 6953 * if not found. If parameter is @c null, no search will be done on class
6676 * descriptions. 6954 * descriptions.
6677 * @param[out] instance_description pointer to return instance description. 6955 * @param[out] instance_description pointer to return instance description.
6678 *
6679 * @ingroup Evas_Object_Smart
6680 */ 6956 */
6681EAPI void evas_object_smart_callback_description_find(const Evas_Object *obj, const char *name, const Evas_Smart_Cb_Description **class_description, const Evas_Smart_Cb_Description **instance_description) EINA_ARG_NONNULL(2); 6957EAPI void evas_object_smart_callback_description_find(const Evas_Object *obj, const char *name, const Evas_Smart_Cb_Description **class_description, const Evas_Smart_Cb_Description **instance_description) EINA_ARG_NONNULL(2);
6682 6958
@@ -6696,8 +6972,6 @@ EAPI Evas_Smart *evas_object_smart_smart_get(const Evas_Object *obj) EINA_WARN_U
6696 * See also @ref evas_object_smart_data_get. 6972 * See also @ref evas_object_smart_data_get.
6697 * 6973 *
6698 * @param[in] data A pointer to user data. 6974 * @param[in] data A pointer to user data.
6699 *
6700 * @ingroup Evas_Object_Smart
6701 */ 6975 */
6702EAPI void evas_object_smart_data_set(Evas_Object *obj, void *data); 6976EAPI void evas_object_smart_data_set(Evas_Object *obj, void *data);
6703EAPI void *evas_object_smart_data_get(const Evas_Object *obj); 6977EAPI void *evas_object_smart_data_get(const Evas_Object *obj);
@@ -6707,8 +6981,6 @@ EAPI void *evas_object_smart_data_get(const Evas_Object *obj);
6707 * 6981 *
6708 * Use this function if you want to change any of this clipper's properties, 6982 * Use this function if you want to change any of this clipper's properties,
6709 * like colors. 6983 * like colors.
6710 *
6711 * @ingroup Evas_Object_Smart
6712 */ 6984 */
6713EAPI Evas_Object *evas_object_smart_clipped_clipper_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT; 6985EAPI Evas_Object *evas_object_smart_clipped_clipper_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT;
6714 6986
@@ -6727,8 +6999,6 @@ EAPI Evas_Object *evas_object_smart_clipped_clipper_get(const Evas_Object *obj)
6727 * @return Returns the list of the member objects of @c obj. 6999 * @return Returns the list of the member objects of @c obj.
6728 * 7000 *
6729 * @since 1.7 7001 * @since 1.7
6730 *
6731 * @ingroup Evas_Object_Smart
6732 */ 7002 */
6733EAPI Eina_List *evas_object_smart_members_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT; 7003EAPI Eina_List *evas_object_smart_members_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT;
6734 7004
@@ -6753,8 +7023,6 @@ EAPI Eina_List *evas_object_smart_members_get(const Evas_Object *obj) EINA_WARN_
6753 * 7023 *
6754 * @param[in] value whether one wants to set ($true) or to unset ($false) the 7024 * @param[in] value whether one wants to set ($true) or to unset ($false) the
6755 * flag. 7025 * flag.
6756 *
6757 * @ingroup Evas_Object_Smart
6758 */ 7026 */
6759EAPI void evas_object_smart_need_recalculate_set(Evas_Object *obj, Eina_Bool value); 7027EAPI void evas_object_smart_need_recalculate_set(Evas_Object *obj, Eina_Bool value);
6760 7028
@@ -6769,8 +7037,6 @@ EAPI void evas_object_smart_need_recalculate_set(Evas_Object *obj, Eina_Bool val
6769 * See also @ref evas_object_smart_need_recalculate_set, for more details. 7037 * See also @ref evas_object_smart_need_recalculate_set, for more details.
6770 * 7038 *
6771 * @return whether one wants to set ($true) or to unset ($false) the flag. 7039 * @return whether one wants to set ($true) or to unset ($false) the flag.
6772 *
6773 * @ingroup Evas_Object_Smart
6774 */ 7040 */
6775EAPI Eina_Bool evas_object_smart_need_recalculate_get(const Evas_Object *obj); 7041EAPI Eina_Bool evas_object_smart_need_recalculate_get(const Evas_Object *obj);
6776 7042
@@ -6784,8 +7050,6 @@ EAPI Eina_Bool evas_object_smart_need_recalculate_get(const Evas_Object *obj);
6784 * @return Returns the iterator of the member objects of @c obj. 7050 * @return Returns the iterator of the member objects of @c obj.
6785 * 7051 *
6786 * @since 1.8 7052 * @since 1.8
6787 *
6788 * @ingroup Evas_Object_Smart
6789 */ 7053 */
6790EAPI Eina_Iterator *evas_object_smart_iterator_new(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT; 7054EAPI Eina_Iterator *evas_object_smart_iterator_new(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT;
6791 7055
@@ -6798,8 +7062,6 @@ EAPI Eina_Iterator *evas_object_smart_iterator_new(const Evas_Object *obj) EINA_
6798 * needs recalculation for the next rendering phase. 7062 * needs recalculation for the next rendering phase.
6799 * 7063 *
6800 * See also @ref evas_object_smart_need_recalculate_set 7064 * See also @ref evas_object_smart_need_recalculate_set
6801 *
6802 * @ingroup Evas_Object_Smart
6803 */ 7065 */
6804EAPI void evas_object_smart_calculate(Evas_Object *obj); 7066EAPI void evas_object_smart_calculate(Evas_Object *obj);
6805 7067
@@ -6812,8 +7074,6 @@ EAPI void evas_object_smart_calculate(Evas_Object *obj);
6812 * 7074 *
6813 * See also @ref evas_object_smart_need_recalculate_set and 7075 * See also @ref evas_object_smart_need_recalculate_set and
6814 * @ref evas_object_smart_calculate. 7076 * @ref evas_object_smart_calculate.
6815 *
6816 * @ingroup Evas_Object_Smart
6817 */ 7077 */
6818EAPI void evas_object_smart_changed(Evas_Object *obj); 7078EAPI void evas_object_smart_changed(Evas_Object *obj);
6819 7079
@@ -6831,8 +7091,6 @@ EAPI void evas_object_smart_changed(Evas_Object *obj);
6831 * 7091 *
6832 * @param[in] dx Horizontal offset (delta). 7092 * @param[in] dx Horizontal offset (delta).
6833 * @param[in] dy Vertical offset (delta). 7093 * @param[in] dy Vertical offset (delta).
6834 *
6835 * @ingroup Evas_Object_Smart
6836 */ 7094 */
6837EAPI void evas_object_smart_move_children_relative(Evas_Object *obj, Evas_Coord dx, Evas_Coord dy); 7095EAPI void evas_object_smart_move_children_relative(Evas_Object *obj, Evas_Coord dx, Evas_Coord dy);
6838 7096
@@ -7927,7 +8185,7 @@ EAPI int evas_map_count_get(const Evas_Map *m) EINA_CONST;
7927 * @param mx point x after transformation by m 8185 * @param mx point x after transformation by m
7928 * @param my point y after transformation by m 8186 * @param my point y after transformation by m
7929 * @param grab 8187 * @param grab
7930 * @return #EINA_TRUE on success interpolation, @EINA_FALSE otherwise 8188 * @return #EINA_TRUE on success interpolation, #EINA_FALSE otherwise
7931 * @since 1.20 8189 * @since 1.20
7932 */ 8190 */
7933EAPI Eina_Bool evas_map_coords_get(const Evas_Map *m, double x, double y, 8191EAPI Eina_Bool evas_map_coords_get(const Evas_Map *m, double x, double y,
diff --git a/src/lib/evas/cache/evas_cache.h b/src/lib/evas/cache/evas_cache.h
index b7bcb7d660..7475bc8a79 100644
--- a/src/lib/evas/cache/evas_cache.h
+++ b/src/lib/evas/cache/evas_cache.h
@@ -115,6 +115,7 @@ extern "C" {
115 115
116EAPI Evas_Cache_Image* evas_cache_image_init(const Evas_Cache_Image_Func *cb); 116EAPI Evas_Cache_Image* evas_cache_image_init(const Evas_Cache_Image_Func *cb);
117EAPI void evas_cache_image_shutdown(Evas_Cache_Image *cache); 117EAPI void evas_cache_image_shutdown(Evas_Cache_Image *cache);
118EAPI Image_Entry* evas_cache_image_request(Evas_Cache_Image *cache, const char *file, const char *key, Evas_Image_Load_Opts *lo, int *error);
118EAPI Image_Entry* evas_cache_image_mmap_request(Evas_Cache_Image *cache, Eina_File *f, const char *key, Evas_Image_Load_Opts *lo, int *error); 119EAPI Image_Entry* evas_cache_image_mmap_request(Evas_Cache_Image *cache, Eina_File *f, const char *key, Evas_Image_Load_Opts *lo, int *error);
119EAPI void evas_cache_image_ref(Image_Entry *im); 120EAPI void evas_cache_image_ref(Image_Entry *im);
120EAPI void evas_cache_image_drop(Image_Entry *im); 121EAPI void evas_cache_image_drop(Image_Entry *im);
@@ -149,6 +150,7 @@ EAPI int evas_cache_engine_image_usage_get(Evas_Cache_Engin
149EAPI int evas_cache_engine_image_get(Evas_Cache_Engine_Image *cache); 150EAPI int evas_cache_engine_image_get(Evas_Cache_Engine_Image *cache);
150EAPI void evas_cache_engine_image_set(Evas_Cache_Engine_Image *cache, int limit); 151EAPI void evas_cache_engine_image_set(Evas_Cache_Engine_Image *cache, int limit);
151 152
153EAPI Engine_Image_Entry* evas_cache_engine_image_request(Evas_Cache_Engine_Image *cache, const char *file, const char *key, Evas_Image_Load_Opts *lo, void *engine_data, int *error);
152EAPI void evas_cache_engine_parent_not_needed(Engine_Image_Entry *eim); 154EAPI void evas_cache_engine_parent_not_needed(Engine_Image_Entry *eim);
153EAPI Engine_Image_Entry* evas_cache_engine_image_engine(Evas_Cache_Engine_Image *cache, void *engine_data); 155EAPI Engine_Image_Entry* evas_cache_engine_image_engine(Evas_Cache_Engine_Image *cache, void *engine_data);
154EAPI void evas_cache_engine_image_drop(Engine_Image_Entry *eim); 156EAPI void evas_cache_engine_image_drop(Engine_Image_Entry *eim);
diff --git a/src/lib/evas/cache/evas_cache_engine_image.c b/src/lib/evas/cache/evas_cache_engine_image.c
index 65d073aa71..3e98c01e5b 100644
--- a/src/lib/evas/cache/evas_cache_engine_image.c
+++ b/src/lib/evas/cache/evas_cache_engine_image.c
@@ -288,6 +288,75 @@ evas_cache_engine_image_shutdown(Evas_Cache_Engine_Image *cache)
288 free(cache); 288 free(cache);
289} 289}
290 290
291EAPI Engine_Image_Entry *
292evas_cache_engine_image_request(Evas_Cache_Engine_Image *cache,
293 const char *file, const char *key,
294 Evas_Image_Load_Opts *lo, void *data,
295 int *error)
296{
297 Engine_Image_Entry *eim;
298 Image_Entry *im;
299 const char *ekey;
300
301 assert(cache != NULL);
302
303 *error = EVAS_LOAD_ERROR_NONE;
304
305 ekey = NULL;
306 eim = NULL;
307
308 im = evas_cache_image_request(cache->parent, file, key, lo, error);
309 if (!im) goto on_error;
310
311 if (cache->func.key) ekey = cache->func.key(im, file, key, lo, data);
312 else ekey = eina_stringshare_add(im->cache_key);
313 if (!ekey)
314 {
315 *error = EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED;
316 goto on_error;
317 }
318
319 eim = eina_hash_find(cache->activ, ekey);
320 if (eim)
321 {
322 evas_cache_image_drop(im);
323 goto on_ok;
324 }
325
326 eim = eina_hash_find(cache->inactiv, ekey);
327 if (eim)
328 {
329 _evas_cache_engine_image_remove_activ(cache, eim);
330 _evas_cache_engine_image_make_active(cache, eim, ekey);
331 evas_cache_image_drop(im);
332 goto on_ok;
333 }
334
335 eim = _evas_cache_engine_image_alloc(cache, im, ekey);
336 if (!eim)
337 {
338 *error = EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED;
339 return NULL;
340 }
341
342 *error = cache->func.constructor(eim, data);
343 if (*error != EVAS_LOAD_ERROR_NONE) goto on_error;
344 if (cache->func.debug) cache->func.debug("constructor-engine", eim);
345
346on_ok:
347 eim->references++;
348 return eim;
349
350on_error:
351 if (!eim)
352 {
353 if (im) evas_cache_image_drop(im);
354 }
355 else _evas_cache_engine_image_dealloc(cache, eim);
356
357 return NULL;
358}
359
291EAPI void 360EAPI void
292evas_cache_engine_image_drop(Engine_Image_Entry *eim) 361evas_cache_engine_image_drop(Engine_Image_Entry *eim)
293{ 362{
diff --git a/src/lib/evas/cache/evas_cache_image.c b/src/lib/evas/cache/evas_cache_image.c
index 9608c2188a..275a59a1d1 100644
--- a/src/lib/evas/cache/evas_cache_image.c
+++ b/src/lib/evas/cache/evas_cache_image.c
@@ -194,7 +194,6 @@ _evas_cache_image_entry_delete(Evas_Cache_Image *cache, Image_Entry *ie)
194 if ((cache) && (cache->func.dealloc)) cache->func.dealloc(ie); 194 if ((cache) && (cache->func.dealloc)) cache->func.dealloc(ie);
195} 195}
196 196
197#if 0
198static Eina_Bool 197static Eina_Bool
199_timestamp_compare(Image_Timestamp *tstamp, struct stat *st) 198_timestamp_compare(Image_Timestamp *tstamp, struct stat *st)
200{ 199{
@@ -227,7 +226,6 @@ _timestamp_build(Image_Timestamp *tstamp, struct stat *st)
227#endif 226#endif
228#endif 227#endif
229} 228}
230#endif
231 229
232static Image_Entry * 230static Image_Entry *
233_evas_cache_image_entry_new(Evas_Cache_Image *cache, 231_evas_cache_image_entry_new(Evas_Cache_Image *cache,
@@ -388,6 +386,8 @@ _evas_cache_image_preloaded_notify(Image_Entry *ie)
388 ie->targets = (Evas_Cache_Target *) 386 ie->targets = (Evas_Cache_Target *)
389 eina_inlist_remove(EINA_INLIST_GET(ie->targets), 387 eina_inlist_remove(EINA_INLIST_GET(ie->targets),
390 EINA_INLIST_GET(ie->targets)); 388 EINA_INLIST_GET(ie->targets));
389 if (ie->load_opts.skip_head && !tmp->delete_me && !tmp->preload_cancel)
390 _evas_image_preload_update((void*)tmp->target, ie->f);
391 if (!tmp->delete_me && tmp->preloaded_cb) 391 if (!tmp->delete_me && tmp->preloaded_cb)
392 tmp->preloaded_cb(tmp->preloaded_data); 392 tmp->preloaded_cb(tmp->preloaded_data);
393 if (!tmp->preload_cancel) 393 if (!tmp->preload_cancel)
@@ -848,6 +848,170 @@ evas_cache_image_mmap_request(Evas_Cache_Image *cache,
848 return im; 848 return im;
849} 849}
850 850
851
852EAPI Image_Entry *
853evas_cache_image_request(Evas_Cache_Image *cache, const char *file,
854 const char *key, Evas_Image_Load_Opts *lo, int *error)
855{