summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Makefile_Efl.am1
-rw-r--r--src/bin/elementary/test_events.c10
-rw-r--r--src/lib/edje/edje_calc.c2
-rw-r--r--src/lib/efl/Efl.h1
-rw-r--r--src/lib/efl/interfaces/efl_dup.eo17
-rw-r--r--src/lib/efl/interfaces/efl_gfx_path.c4
-rw-r--r--src/lib/efl/interfaces/efl_gfx_path.eo3
-rw-r--r--src/lib/efl/interfaces/efl_gfx_shape.c12
-rw-r--r--src/lib/efl/interfaces/efl_gfx_shape.eo12
-rw-r--r--src/lib/efl/interfaces/efl_interfaces_main.c1
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg.c2
-rw-r--r--src/lib/evas/canvas/efl_input_event.eo13
-rw-r--r--src/lib/evas/canvas/efl_input_focus.c2
-rw-r--r--src/lib/evas/canvas/efl_input_focus.eo10
-rw-r--r--src/lib/evas/canvas/efl_input_hold.c2
-rw-r--r--src/lib/evas/canvas/efl_input_hold.eo10
-rw-r--r--src/lib/evas/canvas/efl_input_key.c2
-rw-r--r--src/lib/evas/canvas/efl_input_key.eo10
-rw-r--r--src/lib/evas/canvas/efl_input_pointer.c2
-rw-r--r--src/lib/evas/canvas/efl_input_pointer.eo10
-rw-r--r--src/lib/evas/canvas/efl_vg.eo7
-rw-r--r--src/lib/evas/canvas/efl_vg_container.eo2
-rw-r--r--src/lib/evas/canvas/efl_vg_gradient.eo2
-rw-r--r--src/lib/evas/canvas/efl_vg_gradient_linear.eo2
-rw-r--r--src/lib/evas/canvas/efl_vg_gradient_radial.eo2
-rw-r--r--src/lib/evas/canvas/efl_vg_shape.eo2
-rw-r--r--src/lib/evas/canvas/evas_device.c2
-rw-r--r--src/lib/evas/canvas/evas_events.c22
-rw-r--r--src/lib/evas/canvas/evas_vg_container.c6
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient.c4
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient_linear.c4
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient_radial.c4
-rw-r--r--src/lib/evas/canvas/evas_vg_node.c4
-rw-r--r--src/lib/evas/canvas/evas_vg_shape.c16
-rw-r--r--src/lib/evas/vg/evas_vg_cache.c2
35 files changed, 121 insertions, 86 deletions
diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am
index 769abd6..0584602 100644
--- a/src/Makefile_Efl.am
+++ b/src/Makefile_Efl.am
@@ -16,6 +16,7 @@ efl_eolian_files = \
16 lib/efl/interfaces/efl_canvas.eo \ 16 lib/efl/interfaces/efl_canvas.eo \
17 lib/efl/interfaces/efl_config.eo \ 17 lib/efl/interfaces/efl_config.eo \
18 lib/efl/interfaces/efl_control.eo \ 18 lib/efl/interfaces/efl_control.eo \
19 lib/efl/interfaces/efl_dup.eo \
19 lib/efl/interfaces/efl_file.eo \ 20 lib/efl/interfaces/efl_file.eo \
20 lib/efl/interfaces/efl_image_load.eo \ 21 lib/efl/interfaces/efl_image_load.eo \
21 lib/efl/interfaces/efl_part.eo \ 22 lib/efl/interfaces/efl_part.eo \
diff --git a/src/bin/elementary/test_events.c b/src/bin/elementary/test_events.c
index c6a3ca5..30831e8 100644
--- a/src/bin/elementary/test_events.c
+++ b/src/bin/elementary/test_events.c
@@ -22,7 +22,7 @@ _pointer_down(void *data, const Efl_Event *ev)
22 testdata *td = data; 22 testdata *td = data;
23 td->down = 1; 23 td->down = 1;
24 efl_unref(td->evdown); 24 efl_unref(td->evdown);
25 td->evdown = efl_input_dup(ev->info); 25 td->evdown = efl_dup(ev->info);
26} 26}
27 27
28static void 28static void
@@ -30,7 +30,7 @@ _pointer_move(void *data, const Efl_Event *ev)
30{ 30{
31 testdata *td = data; 31 testdata *td = data;
32 efl_unref(td->evmove); 32 efl_unref(td->evmove);
33 td->evmove = efl_input_dup(ev->info); 33 td->evmove = efl_dup(ev->info);
34} 34}
35 35
36static void 36static void
@@ -39,7 +39,7 @@ _pointer_up(void *data, const Efl_Event *ev)
39 testdata *td = data; 39 testdata *td = data;
40 td->down = 0; 40 td->down = 0;
41 efl_unref(td->evup); 41 efl_unref(td->evup);
42 td->evup = efl_input_dup(ev->info); 42 td->evup = efl_dup(ev->info);
43} 43}
44 44
45static void 45static void
@@ -64,7 +64,7 @@ _key_down(void *data, const Efl_Event *ev)
64 if (!efl_input_fake_get(ev->info)) 64 if (!efl_input_fake_get(ev->info))
65 { 65 {
66 efl_unref(td->evkeydown); 66 efl_unref(td->evkeydown);
67 td->evkeydown = efl_input_dup(ev->info); 67 td->evkeydown = efl_dup(ev->info);
68 } 68 }
69} 69}
70 70
@@ -84,7 +84,7 @@ _key_up(void *data, const Efl_Event *ev)
84 if (!efl_input_fake_get(ev->info)) 84 if (!efl_input_fake_get(ev->info))
85 { 85 {
86 efl_unref(td->evkeyup); 86 efl_unref(td->evkeyup);
87 td->evkeyup = efl_input_dup(ev->info); 87 td->evkeyup = efl_dup(ev->info);
88 } 88 }
89 89
90 if (td->f) efl_future_cancel(td->f); 90 if (td->f) efl_future_cancel(td->f);
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index f69cded..a071c61 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -3151,7 +3151,7 @@ _edje_svg_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3 EINA_U
3151 dest_root = efl_canvas_vg_root_node_get(ep->object); 3151 dest_root = efl_canvas_vg_root_node_get(ep->object);
3152 efl_ref(dest_root); 3152 efl_ref(dest_root);
3153 3153
3154 root = evas_vg_node_dup(src_root); 3154 root = efl_dup(src_root);
3155 3155
3156 if (!evas_vg_node_interpolate(root, src_root, dest_root, pos)) 3156 if (!evas_vg_node_interpolate(root, src_root, dest_root, pos))
3157 { 3157 {
diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h
index 683745f..fa66d95 100644
--- a/src/lib/efl/Efl.h
+++ b/src/lib/efl/Efl.h
@@ -76,6 +76,7 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command;
76/* Interfaces */ 76/* Interfaces */
77#include "interfaces/efl_config.eo.h" 77#include "interfaces/efl_config.eo.h"
78#include "interfaces/efl_control.eo.h" 78#include "interfaces/efl_control.eo.h"
79#include "interfaces/efl_dup.eo.h"
79#include "interfaces/efl_file.eo.h" 80#include "interfaces/efl_file.eo.h"
80#include "interfaces/efl_image.eo.h" 81#include "interfaces/efl_image.eo.h"
81#include "interfaces/efl_image_animated.eo.h" 82#include "interfaces/efl_image_animated.eo.h"
diff --git a/src/lib/efl/interfaces/efl_dup.eo b/src/lib/efl/interfaces/efl_dup.eo
new file mode 100644
index 0000000..9d40f1f
--- /dev/null
+++ b/src/lib/efl/interfaces/efl_dup.eo
@@ -0,0 +1,17 @@
1interface Efl.Dup
2{
3 [[An interface for duplication of objects.
4
5 Objects implementing this interface can be duplicated with @.dup.
6 ]]
7 methods {
8 dup @const {
9 [[Creates a carbon copy of this object and returns it.
10
11 The newly created object will have no event handlers or anything of
12 the sort.
13 ]]
14 return: Efl.Dup @owned;
15 }
16 }
17}
diff --git a/src/lib/efl/interfaces/efl_gfx_path.c b/src/lib/efl/interfaces/efl_gfx_path.c
index df424c1..85d017f 100644
--- a/src/lib/efl/interfaces/efl_gfx_path.c
+++ b/src/lib/efl/interfaces/efl_gfx_path.c
@@ -1575,8 +1575,8 @@ _efl_gfx_path_append_svg_path(Eo *obj, Efl_Gfx_Path_Data *pd,
1575 } 1575 }
1576} 1576}
1577 1577
1578static void 1578EOLIAN static void
1579_efl_gfx_path_dup(Eo *obj, Efl_Gfx_Path_Data *pd, const Eo *dup_from) 1579_efl_gfx_path_copy_from(Eo *obj, Efl_Gfx_Path_Data *pd, const Eo *dup_from)
1580{ 1580{
1581 Efl_Gfx_Path_Data *from; 1581 Efl_Gfx_Path_Data *from;
1582 1582
diff --git a/src/lib/efl/interfaces/efl_gfx_path.eo b/src/lib/efl/interfaces/efl_gfx_path.eo
index 2311c74..4b8961d 100644
--- a/src/lib/efl/interfaces/efl_gfx_path.eo
+++ b/src/lib/efl/interfaces/efl_gfx_path.eo
@@ -49,7 +49,8 @@ mixin Efl.Gfx.Path
49 y: double; [[Y co-ordinate of control point.]] 49 y: double; [[Y co-ordinate of control point.]]
50 } 50 }
51 } 51 }
52 dup { 52 /* FIXME: Return a new object!!! */
53 copy_from {
53 [[Copy the shape data from the object specified. 54 [[Copy the shape data from the object specified.
54 55
55 @since 1.18 56 @since 1.18
diff --git a/src/lib/efl/interfaces/efl_gfx_shape.c b/src/lib/efl/interfaces/efl_gfx_shape.c
index 922f6b9..45bf04d 100644
--- a/src/lib/efl/interfaces/efl_gfx_shape.c
+++ b/src/lib/efl/interfaces/efl_gfx_shape.c
@@ -8,6 +8,8 @@
8 8
9#include <Efl.h> 9#include <Efl.h>
10 10
11#define MY_CLASS EFL_GFX_SHAPE_MIXIN
12
11typedef struct _Efl_Gfx_Shape_Data 13typedef struct _Efl_Gfx_Shape_Data
12{ 14{
13 Efl_Gfx_Shape_Public public; 15 Efl_Gfx_Shape_Public public;
@@ -260,15 +262,15 @@ _efl_gfx_shape_fill_rule_get(Eo *obj EINA_UNUSED,
260 return pd->fill_rule; 262 return pd->fill_rule;
261} 263}
262 264
263static void 265EOLIAN static void
264_efl_gfx_shape_dup(Eo *obj, Efl_Gfx_Shape_Data *pd, 266_efl_gfx_shape_efl_gfx_path_copy_from(Eo *obj, Efl_Gfx_Shape_Data *pd,
265 const Eo *dup_from) 267 const Eo *dup_from)
266{ 268{
267 Efl_Gfx_Shape_Data *from; 269 Efl_Gfx_Shape_Data *from;
268 270
269 if (obj == dup_from) return; 271 if (obj == dup_from) return;
270 272
271 from = efl_data_scope_get(dup_from, EFL_GFX_SHAPE_MIXIN); 273 from = efl_data_scope_get(dup_from, MY_CLASS);
272 if (!from) return; 274 if (!from) return;
273 275
274 pd->public.stroke.scale = from->public.stroke.scale; 276 pd->public.stroke.scale = from->public.stroke.scale;
@@ -285,7 +287,7 @@ _efl_gfx_shape_dup(Eo *obj, Efl_Gfx_Shape_Data *pd,
285 _efl_gfx_shape_stroke_dash_set(obj, pd, from->public.stroke.dash, 287 _efl_gfx_shape_stroke_dash_set(obj, pd, from->public.stroke.dash,
286 from->public.stroke.dash_length); 288 from->public.stroke.dash_length);
287 289
288 efl_gfx_path_dup(obj, dup_from); 290 efl_gfx_path_copy_from(efl_super(obj, MY_CLASS), dup_from);
289} 291}
290 292
291#include "interfaces/efl_gfx_shape.eo.c" 293#include "interfaces/efl_gfx_shape.eo.c"
diff --git a/src/lib/efl/interfaces/efl_gfx_shape.eo b/src/lib/efl/interfaces/efl_gfx_shape.eo
index 14964b2..e66b870 100644
--- a/src/lib/efl/interfaces/efl_gfx_shape.eo
+++ b/src/lib/efl/interfaces/efl_gfx_shape.eo
@@ -134,14 +134,8 @@ mixin Efl.Gfx.Shape (Efl.Gfx.Path)
134 @in pos_map: double; [[Position map in range 0.0 to 1.0]] 134 @in pos_map: double; [[Position map in range 0.0 to 1.0]]
135 } 135 }
136 } 136 }
137 dup { 137 }
138 [[Copy the shape data from the object specified. 138 implements {
139 139 Efl.Gfx.Path.copy_from;
140 @since 1.14
141 ]]
142 params {
143 @in dup_from: const(Efl.Object); [[Shape object from where data will be copied.]]
144 }
145 }
146 } 140 }
147} 141}
diff --git a/src/lib/efl/interfaces/efl_interfaces_main.c b/src/lib/efl/interfaces/efl_interfaces_main.c
index e3b4e56..29a021e 100644
--- a/src/lib/efl/interfaces/efl_interfaces_main.c
+++ b/src/lib/efl/interfaces/efl_interfaces_main.c
@@ -6,6 +6,7 @@
6 6
7#include "interfaces/efl_config.eo.c" 7#include "interfaces/efl_config.eo.c"
8#include "interfaces/efl_control.eo.c" 8#include "interfaces/efl_control.eo.c"
9#include "interfaces/efl_dup.eo.c"
9#include "interfaces/efl_image.eo.c" 10#include "interfaces/efl_image.eo.c"
10#include "interfaces/efl_image_animated.eo.c" 11#include "interfaces/efl_image_animated.eo.c"
11#include "interfaces/efl_image_load.eo.c" 12#include "interfaces/efl_image_load.eo.c"
diff --git a/src/lib/evas/canvas/efl_canvas_vg.c b/src/lib/evas/canvas/efl_canvas_vg.c
index c8a83ac..2b16c88 100644
--- a/src/lib/evas/canvas/efl_canvas_vg.c
+++ b/src/lib/evas/canvas/efl_canvas_vg.c
@@ -496,7 +496,7 @@ _cache_vg_entry_render(Evas_Object_Protected_Data *obj,
496 buffer = obj->layer->evas->engine.func->ector_surface_cache_get(engine, root); 496 buffer = obj->layer->evas->engine.func->ector_surface_cache_get(engine, root);
497 if (!buffer) 497 if (!buffer)
498 { 498 {
499 dupe_root = evas_vg_node_dup(root); 499 dupe_root = efl_dup(root);
500 // render to the buffer 500 // render to the buffer
501 buffer = _render_to_buffer(obj, vd, 501 buffer = _render_to_buffer(obj, vd,
502 engine, surface, 502 engine, surface,
diff --git a/src/lib/evas/canvas/efl_input_event.eo b/src/lib/evas/canvas/efl_input_event.eo
index b90f918..45bd937 100644
--- a/src/lib/evas/canvas/efl_input_event.eo
+++ b/src/lib/evas/canvas/efl_input_event.eo
@@ -1,6 +1,6 @@
1import efl_input_types; 1import efl_input_types;
2 2
3mixin Efl.Input.Event (Efl.Interface, Efl.Object) 3mixin Efl.Input.Event (Efl.Interface, Efl.Object, Efl.Dup)
4{ 4{
5 [[Represents a generic event data. 5 [[Represents a generic event data.
6 6
@@ -30,17 +30,6 @@ mixin Efl.Input.Event (Efl.Interface, Efl.Object)
30 reset @pure_virtual { 30 reset @pure_virtual {
31 [[Resets the internal data to 0 or default values.]] 31 [[Resets the internal data to 0 or default values.]]
32 } 32 }
33 dup @pure_virtual {
34 [[Creates a copy of this event.
35
36 The returned event object is similar to the given object in most
37 ways except that @.fake will be $true.
38
39 Note: A reference is given to the caller. In order to avoid leaks
40 the C API users should call $efl_unref() after use.
41 ]]
42 return: Efl.Input.Event @owned; [[Event copy, marked as @.fake.]]
43 }
44 @property device @pure_virtual { 33 @property device @pure_virtual {
45 [[Input device that originated this event.]] 34 [[Input device that originated this event.]]
46 values { 35 values {
diff --git a/src/lib/evas/canvas/efl_input_focus.c b/src/lib/evas/canvas/efl_input_focus.c
index 9350aed..e6d273f 100644
--- a/src/lib/evas/canvas/efl_input_focus.c
+++ b/src/lib/evas/canvas/efl_input_focus.c
@@ -112,7 +112,7 @@ _efl_input_focus_efl_input_event_timestamp_get(Eo *obj EINA_UNUSED,
112} 112}
113 113
114EOLIAN static Efl_Input_Focus * 114EOLIAN static Efl_Input_Focus *
115_efl_input_focus_efl_input_event_dup(Eo *obj EINA_UNUSED, Efl_Input_Focus_Data *pd) 115_efl_input_focus_efl_dup_dup(const Eo *obj, Efl_Input_Focus_Data *pd)
116{ 116{
117 Efl_Input_Focus_Data *ev; 117 Efl_Input_Focus_Data *ev;
118 Efl_Input_Focus *evt; 118 Efl_Input_Focus *evt;
diff --git a/src/lib/evas/canvas/efl_input_focus.eo b/src/lib/evas/canvas/efl_input_focus.eo
index 47c13af..006ab68 100644
--- a/src/lib/evas/canvas/efl_input_focus.eo
+++ b/src/lib/evas/canvas/efl_input_focus.eo
@@ -17,7 +17,15 @@ class Efl.Input.Focus(Efl.Object, Efl.Input.Event)
17 Efl.Object.destructor; 17 Efl.Object.destructor;
18 Efl.Input.Event.device { get; set; } 18 Efl.Input.Event.device { get; set; }
19 Efl.Input.Event.reset; 19 Efl.Input.Event.reset;
20 Efl.Input.Event.dup; 20 Efl.Dup.dup;
21 [[Creates a copy of this event. @Efl.Input.Event.fake is $true.
22
23 The returned event object is similar to the given object in most
24 ways except that @Efl.Input.Event.fake will be $true.
25
26 Note: A reference is given to the caller. In order to avoid leaks
27 the C API users should call $efl_unref() after use.
28 ]]
21 Efl.Input.Event.timestamp { get; set; } 29 Efl.Input.Event.timestamp { get; set; }
22 } 30 }
23} 31}
diff --git a/src/lib/evas/canvas/efl_input_hold.c b/src/lib/evas/canvas/efl_input_hold.c
index 8f84793..edb9084 100644
--- a/src/lib/evas/canvas/efl_input_hold.c
+++ b/src/lib/evas/canvas/efl_input_hold.c
@@ -101,7 +101,7 @@ _efl_input_hold_efl_input_event_reset(Eo *obj, Efl_Input_Hold_Data *pd)
101} 101}
102 102
103EOLIAN static Efl_Input_Event * 103EOLIAN static Efl_Input_Event *
104_efl_input_hold_efl_input_event_dup(Eo *obj EINA_UNUSED, Efl_Input_Hold_Data *pd) 104_efl_input_hold_efl_dup_dup(const Eo *obj, Efl_Input_Hold_Data *pd)
105{ 105{
106 Efl_Input_Hold_Data *ev; 106 Efl_Input_Hold_Data *ev;
107 Efl_Input_Hold *evt; 107 Efl_Input_Hold *evt;
diff --git a/src/lib/evas/canvas/efl_input_hold.eo b/src/lib/evas/canvas/efl_input_hold.eo
index 6691990..8deb3bc 100644
--- a/src/lib/evas/canvas/efl_input_hold.eo
+++ b/src/lib/evas/canvas/efl_input_hold.eo
@@ -13,7 +13,15 @@ class Efl.Input.Hold (Efl.Object, Efl.Input.Event)
13 Efl.Object.constructor; 13 Efl.Object.constructor;
14 Efl.Object.destructor; 14 Efl.Object.destructor;
15 Efl.Input.Event.reset; 15 Efl.Input.Event.reset;
16 Efl.Input.Event.dup; 16 Efl.Dup.dup;
17 [[Creates a copy of this event. @Efl.Input.Event.fake is $true.
18
19 The returned event object is similar to the given object in most
20 ways except that @Efl.Input.Event.fake will be $true.
21
22 Note: A reference is given to the caller. In order to avoid leaks
23 the C API users should call $efl_unref() after use.
24 ]]
17 Efl.Input.Event.timestamp { get; set; } 25 Efl.Input.Event.timestamp { get; set; }
18 Efl.Input.Event.event_flags { get; set; } 26 Efl.Input.Event.event_flags { get; set; }
19 Efl.Input.Event.device { get; set; } 27 Efl.Input.Event.device { get; set; }
diff --git a/src/lib/evas/canvas/efl_input_key.c b/src/lib/evas/canvas/efl_input_key.c
index 895caf5..f417da6 100644
--- a/src/lib/evas/canvas/efl_input_key.c
+++ b/src/lib/evas/canvas/efl_input_key.c
@@ -188,7 +188,7 @@ _efl_input_key_efl_input_event_reset(Eo *obj EINA_UNUSED, Efl_Input_Key_Data *pd
188} 188}
189 189
190EOLIAN static Efl_Input_Event * 190EOLIAN static Efl_Input_Event *
191_efl_input_key_efl_input_event_dup(Eo *obj EINA_UNUSED, Efl_Input_Key_Data *pd) 191_efl_input_key_efl_dup_dup(const Eo *obj, Efl_Input_Key_Data *pd)
192{ 192{
193 Efl_Input_Key_Data *ev; 193 Efl_Input_Key_Data *ev;
194 Efl_Input_Key *evt; 194 Efl_Input_Key *evt;
diff --git a/src/lib/evas/canvas/efl_input_key.eo b/src/lib/evas/canvas/efl_input_key.eo
index 2255cf5..09938b8 100644
--- a/src/lib/evas/canvas/efl_input_key.eo
+++ b/src/lib/evas/canvas/efl_input_key.eo
@@ -56,7 +56,15 @@ class Efl.Input.Key (Efl.Object, Efl.Input.Event, Efl.Input.State, Efl.Input.Eve
56 Efl.Object.constructor; 56 Efl.Object.constructor;
57 Efl.Object.destructor; 57 Efl.Object.destructor;
58 Efl.Input.Event.reset; 58 Efl.Input.Event.reset;
59 Efl.Input.Event.dup; 59 Efl.Dup.dup;
60 [[Creates a copy of this event. @Efl.Input.Event.fake is $true.
61
62 The returned event object is similar to the given object in most
63 ways except that @Efl.Input.Event.fake will be $true.
64
65 Note: A reference is given to the caller. In order to avoid leaks
66 the C API users should call $efl_unref() after use.
67 ]]
60 Efl.Input.Event.timestamp { get; set; } 68 Efl.Input.Event.timestamp { get; set; }
61 Efl.Input.Event.fake { get; } 69 Efl.Input.Event.fake { get; }
62 Efl.Input.Event.event_flags { get; set; } 70 Efl.Input.Event.event_flags { get; set; }
diff --git a/src/lib/evas/canvas/efl_input_pointer.c b/src/lib/evas/canvas/efl_input_pointer.c
index 252f593..fd84f9b 100644
--- a/src/lib/evas/canvas/efl_input_pointer.c
+++ b/src/lib/evas/canvas/efl_input_pointer.c
@@ -143,7 +143,7 @@ _efl_input_pointer_efl_input_event_reset(Eo *obj, Efl_Input_Pointer_Data *pd)
143} 143}
144 144
145EOLIAN static Efl_Input_Event * 145EOLIAN static Efl_Input_Event *
146_efl_input_pointer_efl_input_event_dup(Eo *obj EINA_UNUSED, Efl_Input_Pointer_Data *pd) 146_efl_input_pointer_efl_dup_dup(const Eo *obj, Efl_Input_Pointer_Data *pd)
147{ 147{
148 Efl_Input_Pointer_Data *ev; 148 Efl_Input_Pointer_Data *ev;
149 Efl_Input_Focus *evt; 149 Efl_Input_Focus *evt;
diff --git a/src/lib/evas/canvas/efl_input_pointer.eo b/src/lib/evas/canvas/efl_input_pointer.eo
index 1519e93..878e27f 100644
--- a/src/lib/evas/canvas/efl_input_pointer.eo
+++ b/src/lib/evas/canvas/efl_input_pointer.eo
@@ -161,7 +161,15 @@ class Efl.Input.Pointer (Efl.Object, Efl.Input.Event, Efl.Input.State)
161 Efl.Object.destructor; 161 Efl.Object.destructor;
162 class.destructor; 162 class.destructor;
163 Efl.Input.Event.reset; 163 Efl.Input.Event.reset;
164 Efl.Input.Event.dup; 164 Efl.Dup.dup;
165 [[Creates a copy of this event. @Efl.Input.Event.fake is $true.
166
167 The returned event object is similar to the given object in most
168 ways except that @Efl.Input.Event.fake will be $true.
169
170 Note: A reference is given to the caller. In order to avoid leaks
171 the C API users should call $efl_unref() after use.
172 ]]
165 Efl.Input.Event.timestamp { get; set; } 173 Efl.Input.Event.timestamp { get; set; }
166 Efl.Input.Event.fake { get; } 174 Efl.Input.Event.fake { get; }
167 Efl.Input.Event.event_flags { get; set; } 175 Efl.Input.Event.event_flags { get; set; }
diff --git a/src/lib/evas/canvas/efl_vg.eo b/src/lib/evas/canvas/efl_vg.eo
index 2d64ade..2457c0e 100644
--- a/src/lib/evas/canvas/efl_vg.eo
+++ b/src/lib/evas/canvas/efl_vg.eo
@@ -1,6 +1,6 @@
1import eina_types; 1import eina_types;
2 2
3abstract Efl.VG (Efl.Object, Efl.Gfx, Efl.Gfx.Stack) 3abstract Efl.VG (Efl.Object, Efl.Gfx, Efl.Gfx.Stack, Efl.Dup)
4{ 4{
5 [[Efl vector graphics abstract class]] 5 [[Efl vector graphics abstract class]]
6 eo_prefix: efl_vg; 6 eo_prefix: efl_vg;
@@ -103,10 +103,6 @@ abstract Efl.VG (Efl.Object, Efl.Gfx, Efl.Gfx.Stack)
103 @in pos_map: double; [[Interpolate mapping]] 103 @in pos_map: double; [[Interpolate mapping]]
104 } 104 }
105 } 105 }
106 dup @const {
107 [[Duplicate vector graphics object]]
108 return: Efl.VG @owned;
109 }
110 } 106 }
111 implements { 107 implements {
112 Efl.Object.parent { set; } 108 Efl.Object.parent { set; }
@@ -123,5 +119,6 @@ abstract Efl.VG (Efl.Object, Efl.Gfx, Efl.Gfx.Stack)
123 Efl.Gfx.Stack.stack_above; 119 Efl.Gfx.Stack.stack_above;
124 Efl.Gfx.Stack.raise; 120 Efl.Gfx.Stack.raise;
125 Efl.Gfx.Stack.lower; 121 Efl.Gfx.Stack.lower;
122 Efl.Dup.dup;
126 } 123 }
127} 124}
diff --git a/src/lib/evas/canvas/efl_vg_container.eo b/src/lib/evas/canvas/efl_vg_container.eo
index 1faad56..fbf4add 100644
--- a/src/lib/evas/canvas/efl_vg_container.eo
+++ b/src/lib/evas/canvas/efl_vg_container.eo
@@ -20,6 +20,6 @@ class Efl.VG.Container (Efl.VG)
20 Efl.Object.destructor; 20 Efl.Object.destructor;
21 Efl.VG.bounds_get; 21 Efl.VG.bounds_get;
22 Efl.VG.interpolate; 22 Efl.VG.interpolate;
23 Efl.VG.dup; 23 Efl.Dup.dup;
24 } 24 }
25} 25}
diff --git a/src/lib/evas/canvas/efl_vg_gradient.eo b/src/lib/evas/canvas/efl_vg_gradient.eo
index 78f489c..c604568 100644
--- a/src/lib/evas/canvas/efl_vg_gradient.eo
+++ b/src/lib/evas/canvas/efl_vg_gradient.eo
@@ -6,6 +6,6 @@ abstract Efl.VG.Gradient (Efl.VG, Efl.Gfx.Gradient)
6 Efl.Gfx.Gradient.stop { get; set; } 6 Efl.Gfx.Gradient.stop { get; set; }
7 Efl.Gfx.Gradient.spread { get; set; } 7 Efl.Gfx.Gradient.spread { get; set; }
8 Efl.VG.interpolate; 8 Efl.VG.interpolate;
9 Efl.VG.dup; 9 Efl.Dup.dup;
10 } 10 }
11} 11}
diff --git a/src/lib/evas/canvas/efl_vg_gradient_linear.eo b/src/lib/evas/canvas/efl_vg_gradient_linear.eo
index 3ff3adc..4f9ea61 100644
--- a/src/lib/evas/canvas/efl_vg_gradient_linear.eo
+++ b/src/lib/evas/canvas/efl_vg_gradient_linear.eo
@@ -7,7 +7,7 @@ class Efl.VG.Gradient.Linear (Efl.VG.Gradient, Efl.Gfx.Gradient.Linear)
7 Efl.Gfx.Gradient.Linear.end { get; set; } 7 Efl.Gfx.Gradient.Linear.end { get; set; }
8 Efl.VG.bounds_get; 8 Efl.VG.bounds_get;
9 Efl.VG.interpolate; 9 Efl.VG.interpolate;
10 Efl.VG.dup; 10 Efl.Dup.dup;
11 Efl.Object.constructor; 11 Efl.Object.constructor;
12 Efl.Object.destructor; 12 Efl.Object.destructor;
13 } 13 }
diff --git a/src/lib/evas/canvas/efl_vg_gradient_radial.eo b/src/lib/evas/canvas/efl_vg_gradient_radial.eo
index d71af60..3e3f74f 100644
--- a/src/lib/evas/canvas/efl_vg_gradient_radial.eo
+++ b/src/lib/evas/canvas/efl_vg_gradient_radial.eo
@@ -8,7 +8,7 @@ class Efl.VG.Gradient.Radial (Efl.VG.Gradient, Efl.Gfx.Gradient.Radial)
8 Efl.Gfx.Gradient.Radial.focal { get; set; } 8 Efl.Gfx.Gradient.Radial.focal { get; set; }
9 Efl.VG.bounds_get; 9 Efl.VG.bounds_get;
10 Efl.VG.interpolate; 10 Efl.VG.interpolate;
11 Efl.VG.dup; 11 Efl.Dup.dup;
12 Efl.Object.constructor; 12 Efl.Object.constructor;
13 Efl.Object.destructor; 13 Efl.Object.destructor;
14 } 14 }
diff --git a/src/lib/evas/canvas/efl_vg_shape.eo b/src/lib/evas/canvas/efl_vg_shape.eo
index 888ea45..a250398 100644
--- a/src/lib/evas/canvas/efl_vg_shape.eo
+++ b/src/lib/evas/canvas/efl_vg_shape.eo
@@ -37,7 +37,7 @@ class Efl.VG.Shape (Efl.VG, Efl.Gfx.Shape)
37 implements { 37 implements {
38 Efl.VG.bounds_get; 38 Efl.VG.bounds_get;
39 Efl.VG.interpolate; 39 Efl.VG.interpolate;
40 Efl.VG.dup; 40 Efl.Dup.dup;
41 Efl.Object.constructor; 41 Efl.Object.constructor;
42 Efl.Object.destructor; 42 Efl.Object.destructor;
43 } 43 }
diff --git a/src/lib/evas/canvas/evas_device.c b/src/lib/evas/canvas/evas_device.c
index 9c740c0..ab204ac 100644
--- a/src/lib/evas/canvas/evas_device.c
+++ b/src/lib/evas/canvas/evas_device.c
@@ -475,7 +475,7 @@ _evas_device_cleanup(Evas *eo_e)
475 /* If the device is deleted, _del_cb will remove the device 475 /* If the device is deleted, _del_cb will remove the device
476 * from the devices list. Ensure we delete them only once, and only if this 476 * from the devices list. Ensure we delete them only once, and only if this
477 * Evas is the owner, otherwise we would kill external references (eg. 477 * Evas is the owner, otherwise we would kill external references (eg.
478 * from efl_input_dup()). */ 478 * from efl_dup()). */
479again: 479again:
480 e->devices_modified = EINA_FALSE; 480 e->devices_modified = EINA_FALSE;
481 cpy = eina_list_clone(e->devices); 481 cpy = eina_list_clone(e->devices);
diff --git a/src/lib/evas/canvas/evas_events.c b/src/lib/evas/canvas/evas_events.c
index aee416a..8011ae3 100644
--- a/src/lib/evas/canvas/evas_events.c
+++ b/src/lib/evas/canvas/evas_events.c
@@ -465,7 +465,7 @@ _evas_event_source_mouse_down_events(Evas_Object *eo_obj, Evas *eo_e,
465 465
466 if (obj->delete_me || src->delete_me || e->is_frozen) return; 466 if (obj->delete_me || src->delete_me || e->is_frozen) return;
467 467
468 evt = efl_input_dup(parent_ev); 468 evt = efl_dup(parent_ev);
469 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS); 469 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS);
470 if (!ev) return; 470 if (!ev) return;
471 471
@@ -574,7 +574,7 @@ _evas_event_source_mouse_move_events(Evas_Object *eo_obj, Evas *eo_e,
574 574
575 if (obj->delete_me || src->delete_me || e->is_frozen) return; 575 if (obj->delete_me || src->delete_me || e->is_frozen) return;
576 576
577 evt = efl_input_dup(parent_ev); 577 evt = efl_dup(parent_ev);
578 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS); 578 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS);
579 if (!ev) return; 579 if (!ev) return;
580 580
@@ -787,7 +787,7 @@ _evas_event_source_mouse_up_events(Evas_Object *eo_obj, Evas *eo_e,
787 787
788 if (obj->delete_me || src->delete_me || e->is_frozen) return; 788 if (obj->delete_me || src->delete_me || e->is_frozen) return;
789 789
790 evt = efl_input_dup(parent_ev); 790 evt = efl_dup(parent_ev);
791 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS); 791 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS);
792 if (!ev) return; 792 if (!ev) return;
793 793
@@ -877,7 +877,7 @@ _evas_event_source_wheel_events(Evas_Object *eo_obj, Evas *eo_e,
877 877
878 if (obj->delete_me || src->delete_me || obj->layer->evas->is_frozen) return; 878 if (obj->delete_me || src->delete_me || obj->layer->evas->is_frozen) return;
879 879
880 evt = efl_input_dup(parent_ev); 880 evt = efl_dup(parent_ev);
881 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS); 881 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS);
882 if (!ev) return; 882 if (!ev) return;
883 883
@@ -936,7 +936,7 @@ _evas_event_source_multi_down_events(Evas_Object_Protected_Data *obj, Evas_Publi
936 936
937 if (obj->delete_me || src->delete_me || obj->layer->evas->is_frozen) return; 937 if (obj->delete_me || src->delete_me || obj->layer->evas->is_frozen) return;
938 938
939 evt = efl_input_dup(parent_ev); 939 evt = efl_dup(parent_ev);
940 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS); 940 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS);
941 if (!ev) return; 941 if (!ev) return;
942 942
@@ -1002,7 +1002,7 @@ _evas_event_source_multi_up_events(Evas_Object_Protected_Data *obj, Evas_Public_
1002 1002
1003 if (obj->delete_me || src->delete_me || obj->layer->evas->is_frozen) return; 1003 if (obj->delete_me || src->delete_me || obj->layer->evas->is_frozen) return;
1004 1004
1005 evt = efl_input_dup(parent_ev); 1005 evt = efl_dup(parent_ev);
1006 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS); 1006 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS);
1007 if (!ev) return; 1007 if (!ev) return;
1008 1008
@@ -1062,7 +1062,7 @@ _evas_event_source_multi_move_events(Evas_Object_Protected_Data *obj, Evas_Publi
1062 1062
1063 if (obj->delete_me || src->delete_me || e->is_frozen) return; 1063 if (obj->delete_me || src->delete_me || e->is_frozen) return;
1064 1064
1065 evt = efl_input_dup(parent_ev); 1065 evt = efl_dup(parent_ev);
1066 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS); 1066 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS);
1067 if (!ev) return; 1067 if (!ev) return;
1068 1068
@@ -1176,7 +1176,7 @@ _evas_event_source_mouse_in_events(Evas_Object *eo_obj, Evas *eo_e,
1176 Evas_Pointer_Data *pdata; 1176 Evas_Pointer_Data *pdata;
1177 1177
1178 if (obj->delete_me || src->delete_me || e->is_frozen) return; 1178 if (obj->delete_me || src->delete_me || e->is_frozen) return;
1179 evt = efl_input_dup(parent_ev); 1179 evt = efl_dup(parent_ev);
1180 1180
1181 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS); 1181 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS);
1182 if (!ev) return; 1182 if (!ev) return;
@@ -1267,7 +1267,7 @@ _evas_event_source_mouse_out_events(Evas_Object *eo_obj, Evas *eo_e,
1267 1267
1268 if (obj->delete_me || src->delete_me || e->is_frozen) return; 1268 if (obj->delete_me || src->delete_me || e->is_frozen) return;
1269 1269
1270 evt = efl_input_dup(parent_ev); 1270 evt = efl_dup(parent_ev);
1271 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS); 1271 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS);
1272 if (!ev) return; 1272 if (!ev) return;
1273 1273
@@ -1594,7 +1594,7 @@ _post_up_handle(Evas_Public_Data *e, Efl_Input_Pointer *parent_ev,
1594 int event_id; 1594 int event_id;
1595 1595
1596 /* Duplicating UP event */ 1596 /* Duplicating UP event */
1597 evt = efl_input_dup(parent_ev); 1597 evt = efl_dup(parent_ev);
1598 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS); 1598 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS);
1599 if (!ev) return; 1599 if (!ev) return;
1600 1600
@@ -1982,7 +1982,7 @@ _canvas_event_feed_mouse_wheel_internal(Eo *eo_e, Efl_Input_Pointer_Data *pe)
1982 1982
1983 event_id = _evas_object_event_new(); 1983 event_id = _evas_object_event_new();
1984 1984
1985 evt = efl_input_dup(pe->eo); 1985 evt = efl_dup(pe->eo);
1986 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS); 1986 ev = efl_data_scope_get(evt, EFL_INPUT_POINTER_CLASS);
1987 if (!ev) return; 1987 if (!ev) return;
1988 1988
diff --git a/src/lib/evas/canvas/evas_vg_container.c b/src/lib/evas/canvas/evas_vg_container.c
index b89d702..907d428 100644
--- a/src/lib/evas/canvas/evas_vg_container.c
+++ b/src/lib/evas/canvas/evas_vg_container.c
@@ -152,17 +152,17 @@ _efl_vg_container_efl_vg_interpolate(Eo *obj,
152} 152}
153 153
154EOLIAN static Efl_VG * 154EOLIAN static Efl_VG *
155_efl_vg_container_efl_vg_dup(const Eo *obj, Efl_VG_Container_Data *pd) 155_efl_vg_container_efl_dup_dup(const Eo *obj, Efl_VG_Container_Data *pd)
156{ 156{
157 Eina_List *l; 157 Eina_List *l;
158 Efl_VG *child; 158 Efl_VG *child;
159 Efl_VG *cn = NULL; 159 Efl_VG *cn = NULL;
160 160
161 cn = efl_vg_dup(efl_super(obj, MY_CLASS)); 161 cn = efl_dup(efl_super(obj, MY_CLASS));
162 EINA_LIST_FOREACH(pd->children, l, child) 162 EINA_LIST_FOREACH(pd->children, l, child)
163 { 163 {
164 // parent_set adds the new node to the list of children of cn 164 // parent_set adds the new node to the list of children of cn
165 efl_parent_set(efl_vg_dup(child), cn); 165 efl_parent_set(efl_dup(child), cn);
166 } 166 }
167 return cn; 167 return cn;
168} 168}
diff --git a/src/lib/evas/canvas/evas_vg_gradient.c b/src/lib/evas/canvas/evas_vg_gradient.c
index db59b1b..10db4e3 100644
--- a/src/lib/evas/canvas/evas_vg_gradient.c
+++ b/src/lib/evas/canvas/evas_vg_gradient.c
@@ -97,12 +97,12 @@ _efl_vg_gradient_efl_vg_interpolate(Eo *obj,
97} 97}
98 98
99EOLIAN static Efl_VG * 99EOLIAN static Efl_VG *
100_efl_vg_gradient_efl_vg_dup(const Eo *obj, Efl_VG_Gradient_Data *pd) 100_efl_vg_gradient_efl_dup_dup(const Eo *obj, Efl_VG_Gradient_Data *pd)
101 101
102{ 102{
103 Efl_VG *cn = NULL; 103 Efl_VG *cn = NULL;
104 104
105 cn = efl_vg_dup(efl_super(obj, MY_CLASS)); 105 cn = efl_dup(efl_super(obj, MY_CLASS));
106 efl_gfx_gradient_stop_set(cn, pd->colors, pd->colors_count); 106 efl_gfx_gradient_stop_set(cn, pd->colors, pd->colors_count);
107 efl_gfx_gradient_spread_set(cn, pd->s); 107 efl_gfx_gradient_spread_set(cn, pd->s);
108 return cn; 108 return cn;
diff --git a/src/lib/evas/canvas/evas_vg_gradient_linear.c b/src/lib/evas/canvas/evas_vg_gradient_linear.c
index 3549faf..c8bfcc2 100644
--- a/src/lib/evas/canvas/evas_vg_gradient_linear.c
+++ b/src/lib/evas/canvas/evas_vg_gradient_linear.c
@@ -154,11 +154,11 @@ _efl_vg_gradient_linear_efl_vg_interpolate(Eo *obj,
154} 154}
155 155
156EOLIAN static Efl_VG * 156EOLIAN static Efl_VG *
157_efl_vg_gradient_linear_efl_vg_dup(const Eo *obj, Efl_VG_Gradient_Linear_Data *pd) 157_efl_vg_gradient_linear_efl_dup_dup(const Eo *obj, Efl_VG_Gradient_Linear_Data *pd)
158{ 158{
159 Efl_VG *cn = NULL; 159 Efl_VG *cn = NULL;
160 160
161 cn = efl_vg_dup(efl_super(obj, MY_CLASS)); 161 cn = efl_dup(efl_super(obj, MY_CLASS));
162 efl_gfx_gradient_linear_start_set(cn, pd->start.x, pd->start.y); 162 efl_gfx_gradient_linear_start_set(cn, pd->start.x, pd->start.y);
163 efl_gfx_gradient_linear_end_set(cn, pd->end.x, pd->end.y); 163 efl_gfx_gradient_linear_end_set(cn, pd->end.x, pd->end.y);
164 return cn; 164 return cn;
diff --git a/src/lib/evas/canvas/evas_vg_gradient_radial.c b/src/lib/evas/canvas/evas_vg_gradient_radial.c
index 8108e8a..0090550 100644
--- a/src/lib/evas/canvas/evas_vg_gradient_radial.c
+++ b/src/lib/evas/canvas/evas_vg_gradient_radial.c
@@ -174,12 +174,12 @@ _efl_vg_gradient_radial_efl_vg_interpolate(Eo *obj,
174 174
175 175
176EOLIAN static Efl_VG * 176EOLIAN static Efl_VG *
177_efl_vg_gradient_radial_efl_vg_dup(const Eo *obj, Efl_VG_Gradient_Radial_Data *pd) 177_efl_vg_gradient_radial_efl_dup_dup(const Eo *obj, Efl_VG_Gradient_Radial_Data *pd)
178 178
179{ 179{
180 Efl_VG *cn = NULL; 180 Efl_VG *cn = NULL;
181 181
182 cn = efl_vg_dup(efl_super(obj, MY_CLASS)); 182 cn = efl_dup(efl_super(obj, MY_CLASS));
183 efl_gfx_gradient_radial_focal_set(cn, pd->focal.x, pd->focal.y); 183 efl_gfx_gradient_radial_focal_set(cn, pd->focal.x, pd->focal.y);
184 efl_gfx_gradient_radial_center_set(cn, pd->center.x, pd->center.y); 184 efl_gfx_gradient_radial_center_set(cn, pd->center.x, pd->center.y);
185 efl_gfx_gradient_radial_radius_set(cn, pd->radius); 185 efl_gfx_gradient_radial_radius_set(cn, pd->radius);
diff --git a/src/lib/evas/canvas/evas_vg_node.c b/src/lib/evas/canvas/evas_vg_node.c
index dbe4abe..6349555 100644
--- a/src/lib/evas/canvas/evas_vg_node.c
+++ b/src/lib/evas/canvas/evas_vg_node.c
@@ -716,7 +716,7 @@ _efl_vg_interpolate(Eo *obj,
716} 716}
717 717
718EOLIAN static Efl_VG * 718EOLIAN static Efl_VG *
719_efl_vg_dup(const Eo *obj, Efl_VG_Data *pd) 719_efl_vg_efl_dup_dup(const Eo *obj, Efl_VG_Data *pd)
720{ 720{
721 Efl_VG *cn; 721 Efl_VG *cn;
722 Efl_VG_Data *cd; 722 Efl_VG_Data *cd;
@@ -733,7 +733,7 @@ _efl_vg_dup(const Eo *obj, Efl_VG_Data *pd)
733 } 733 }
734 734
735 if (pd->mask) 735 if (pd->mask)
736 cd->mask = efl_vg_dup(pd->mask); 736 cd->mask = efl_dup(pd->mask);
737 737
738 cd->x = pd->x; 738 cd->x = pd->x;
739 cd->y = pd->y; 739 cd->y = pd->y;
diff --git a/src/lib/evas/canvas/evas_vg_shape.c b/src/lib/evas/canvas/evas_vg_shape.c
index f2137b0..b15694e 100644
--- a/src/lib/evas/canvas/evas_vg_shape.c
+++ b/src/lib/evas/canvas/evas_vg_shape.c
@@ -120,7 +120,7 @@ _efl_vg_shape_render_pre(Eo *obj EINA_UNUSED,
120 ector_renderer_shape_fill_set(nd->renderer, fill ? fill->renderer : NULL); 120 ector_renderer_shape_fill_set(nd->renderer, fill ? fill->renderer : NULL);
121 ector_renderer_shape_stroke_fill_set(nd->renderer, stroke_fill ? stroke_fill->renderer : NULL); 121 ector_renderer_shape_stroke_fill_set(nd->renderer, stroke_fill ? stroke_fill->renderer : NULL);
122 ector_renderer_shape_stroke_marker_set(nd->renderer, stroke_marker ? stroke_marker->renderer : NULL); 122 ector_renderer_shape_stroke_marker_set(nd->renderer, stroke_marker ? stroke_marker->renderer : NULL);
123 efl_gfx_shape_dup(nd->renderer, obj); 123 efl_gfx_path_copy_from(nd->renderer, obj);
124 ector_renderer_prepare(nd->renderer); 124 ector_renderer_prepare(nd->renderer);
125} 125}
126 126
@@ -183,21 +183,21 @@ _efl_vg_shape_efl_vg_interpolate(Eo *obj,
183 183
184 184
185EOLIAN static Efl_VG * 185EOLIAN static Efl_VG *
186_efl_vg_shape_efl_vg_dup(const Eo *obj, Efl_VG_Shape_Data *pd) 186_efl_vg_shape_efl_dup_dup(const Eo *obj, Efl_VG_Shape_Data *pd)
187{ 187{
188 Efl_VG *cn = NULL; 188 Efl_VG *cn = NULL;
189 Efl_VG_Shape_Data *cd = NULL; 189 Efl_VG_Shape_Data *cd = NULL;
190 190
191 cn = efl_vg_dup(efl_super(obj, MY_CLASS)); 191 cn = efl_dup(efl_super(obj, MY_CLASS));
192 cd = efl_data_scope_get(cn, MY_CLASS); 192 cd = efl_data_scope_get(cn, MY_CLASS);
193 if (pd->fill) 193 if (pd->fill)
194 cd->fill = efl_vg_dup(pd->fill); 194 cd->fill = efl_dup(pd->fill);
195 if (pd->stroke.fill) 195 if (pd->stroke.fill)
196 cd->stroke.fill = efl_vg_dup(pd->stroke.fill); 196 cd->stroke.fill = efl_dup(pd->stroke.fill);
197 if (pd->stroke.marker) 197 if (pd->stroke.marker)
198 cd->stroke.marker = efl_vg_dup(pd->stroke.marker); 198 cd->stroke.marker = efl_dup(pd->stroke.marker);
199 199
200 efl_gfx_shape_dup(cn, obj); 200 efl_gfx_path_copy_from(cn, obj);
201 return cn; 201 return cn;
202} 202}
203 203
@@ -318,7 +318,7 @@ evas_vg_shape_current_ctrl_get(Eo *obj, double *x, double *y)
318EAPI void 318EAPI void
319evas_vg_shape_dup(Eo *obj, Eo *dup_from) 319evas_vg_shape_dup(Eo *obj, Eo *dup_from)
320{ 320{
321 efl_gfx_shape_dup(obj, dup_from); 321 efl_gfx_path_copy_from(obj, dup_from);
322} 322}
323 323
324EAPI void 324EAPI void
diff --git a/src/lib/evas/vg/evas_vg_cache.c b/src/lib/evas/vg/evas_vg_cache.c
index a6c3870..89546e7 100644
--- a/src/lib/evas/vg/evas_vg_cache.c
+++ b/src/lib/evas/vg/evas_vg_cache.c
@@ -274,7 +274,7 @@ _evas_vg_dup_vg_tree(Vg_File_Data *fd, double w, double h)
274 if (!fd) return NULL; 274 if (!fd) return NULL;
275 if ( !w || !h ) return NULL; 275 if ( !w || !h ) return NULL;
276 276
277 root = efl_vg_dup(fd->root); 277 root = efl_dup(fd->root);
278 _apply_transformation(root, w, h, fd); 278 _apply_transformation(root, w, h, fd);
279 279
280 return root; 280 return root;