summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib/ector/cairo/ector_renderer_cairo_shape.c10
-rw-r--r--src/lib/ector/gl/ector_renderer_gl_shape.c5
-rw-r--r--src/lib/ector/software/ector_renderer_software_shape.c5
-rw-r--r--src/lib/efl/interfaces/efl_gfx.eo1
-rw-r--r--src/lib/efl/interfaces/efl_gfx_path.c34
-rw-r--r--src/lib/efl/interfaces/efl_gfx_path.eo2
-rw-r--r--src/lib/efl/interfaces/efl_gfx_shape.c5
-rw-r--r--src/lib/efl/interfaces/efl_gfx_types.eot9
-rw-r--r--src/lib/elementary/efl_ui_textpath.c7
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg.c2
-rw-r--r--src/lib/evas/canvas/evas_vg_node.c6
-rw-r--r--src/lib/evas/canvas/evas_vg_private.h3
12 files changed, 59 insertions, 30 deletions
diff --git a/src/lib/ector/cairo/ector_renderer_cairo_shape.c b/src/lib/ector/cairo/ector_renderer_cairo_shape.c
index 00bc3d43e1..7012491341 100644
--- a/src/lib/ector/cairo/ector_renderer_cairo_shape.c
+++ b/src/lib/ector/cairo/ector_renderer_cairo_shape.c
@@ -76,11 +76,17 @@ struct _Ector_Renderer_Cairo_Shape_Data
76}; 76};
77 77
78static void 78static void
79_ector_renderer_cairo_shape_path_changed(void *data, const Efl_Event *event EINA_UNUSED) 79_ector_renderer_cairo_shape_path_changed(void *data, const Efl_Event *event)
80{ 80{
81 Ector_Renderer_Cairo_Shape_Data *pd = data; 81 Ector_Renderer_Cairo_Shape_Data *pd = data;
82 Efl_Gfx_Path_Change_Event *ev = event->info;
82 83
83 if (pd->path) cairo_path_destroy(pd->path); 84 if (!pd->path) return;
85 if (ev && !((ev->what & EFL_GFX_CHANGE_FLAG_MATRIX) ||
86 (ev->what & EFL_GFX_CHANGE_FLAG_PATH)))
87 return;
88
89 cairo_path_destroy(pd->path);
84 pd->path = NULL; 90 pd->path = NULL;
85} 91}
86 92
diff --git a/src/lib/ector/gl/ector_renderer_gl_shape.c b/src/lib/ector/gl/ector_renderer_gl_shape.c
index b279129966..ecf78faec1 100644
--- a/src/lib/ector/gl/ector_renderer_gl_shape.c
+++ b/src/lib/ector/gl/ector_renderer_gl_shape.c
@@ -24,6 +24,11 @@ static void
24_ector_renderer_gl_shape_path_changed(void *data, const Efl_Event *event EINA_UNUSED) 24_ector_renderer_gl_shape_path_changed(void *data, const Efl_Event *event EINA_UNUSED)
25{ 25{
26 Ector_Renderer_GL_Shape_Data *pd = data; 26 Ector_Renderer_GL_Shape_Data *pd = data;
27 Efl_Gfx_Path_Change_Event *ev = event->info;
28
29 if (ev && !((ev->what & EFL_GFX_CHANGE_FLAG_MATRIX) ||
30 (ev->what & EFL_GFX_CHANGE_FLAG_PATH)))
31 return;
27 32
28 free(pd->vertex); 33 free(pd->vertex);
29 pd->vertex = NULL; 34 pd->vertex = NULL;
diff --git a/src/lib/ector/software/ector_renderer_software_shape.c b/src/lib/ector/software/ector_renderer_software_shape.c
index 25da9cae29..e60e1d6e95 100644
--- a/src/lib/ector/software/ector_renderer_software_shape.c
+++ b/src/lib/ector/software/ector_renderer_software_shape.c
@@ -746,6 +746,11 @@ static void
746_ector_renderer_software_shape_path_changed(void *data, const Efl_Event *event EINA_UNUSED) 746_ector_renderer_software_shape_path_changed(void *data, const Efl_Event *event EINA_UNUSED)
747{ 747{
748 Ector_Renderer_Software_Shape_Data *pd = data; 748 Ector_Renderer_Software_Shape_Data *pd = data;
749 Efl_Gfx_Path_Change_Event *ev = event->info;
750
751 if (ev && !((ev->what & EFL_GFX_CHANGE_FLAG_MATRIX) ||
752 (ev->what & EFL_GFX_CHANGE_FLAG_PATH)))
753 return;
749 754
750 if (pd->shape_data) ector_software_rasterizer_destroy_rle_data(pd->shape_data); 755 if (pd->shape_data) ector_software_rasterizer_destroy_rle_data(pd->shape_data);
751 if (pd->outline_data) ector_software_rasterizer_destroy_rle_data(pd->outline_data); 756 if (pd->outline_data) ector_software_rasterizer_destroy_rle_data(pd->outline_data);
diff --git a/src/lib/efl/interfaces/efl_gfx.eo b/src/lib/efl/interfaces/efl_gfx.eo
index 6b30097bf3..3d073c2fc7 100644
--- a/src/lib/efl/interfaces/efl_gfx.eo
+++ b/src/lib/efl/interfaces/efl_gfx.eo
@@ -146,6 +146,5 @@ interface Efl.Gfx {
146 hide; [[Object just became invisible.]] 146 hide; [[Object just became invisible.]]
147 move; [[Object was moved, its position during the event is the new one.]] 147 move; [[Object was moved, its position during the event is the new one.]]
148 resize; [[Object was resized, its size during the event is the new one.]] 148 resize; [[Object was resized, its size during the event is the new one.]]
149 changed; [[Object was changed]]
150 } 149 }
151} 150}
diff --git a/src/lib/efl/interfaces/efl_gfx_path.c b/src/lib/efl/interfaces/efl_gfx_path.c
index b744ef1e37..2901373ddc 100644
--- a/src/lib/efl/interfaces/efl_gfx_path.c
+++ b/src/lib/efl/interfaces/efl_gfx_path.c
@@ -149,6 +149,7 @@ _efl_gfx_path_path_set(Eo *obj, Efl_Gfx_Path_Data *pd,
149 const Efl_Gfx_Path_Command *commands, 149 const Efl_Gfx_Path_Command *commands,
150 const double *points) 150 const double *points)
151{ 151{
152 Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
152 Efl_Gfx_Path_Command *cmds; 153 Efl_Gfx_Path_Command *cmds;
153 double *pts; 154 double *pts;
154 unsigned int cmds_length = 0, pts_length = 0; 155 unsigned int cmds_length = 0, pts_length = 0;
@@ -184,9 +185,9 @@ _efl_gfx_path_path_set(Eo *obj, Efl_Gfx_Path_Data *pd,
184 _efl_gfx_path_current_search(pd->commands, pd->points, 185 _efl_gfx_path_current_search(pd->commands, pd->points,
185 &pd->current.x, &pd->current.y, 186 &pd->current.x, &pd->current.y,
186 &pd->current_ctrl.x, &pd->current_ctrl.y); 187 &pd->current_ctrl.x, &pd->current_ctrl.y);
188
187 end: 189 end:
188 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL); 190 efl_event_callback_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
189 efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
190} 191}
191 192
192EOLIAN static void 193EOLIAN static void
@@ -276,6 +277,7 @@ EOLIAN static Eina_Bool
276_efl_gfx_path_interpolate(Eo *obj, Efl_Gfx_Path_Data *pd, 277_efl_gfx_path_interpolate(Eo *obj, Efl_Gfx_Path_Data *pd,
277 const Eo *from, const Eo *to, double pos_map) 278 const Eo *from, const Eo *to, double pos_map)
278{ 279{
280 Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
279 Efl_Gfx_Path_Data *from_pd, *to_pd; 281 Efl_Gfx_Path_Data *from_pd, *to_pd;
280 Efl_Gfx_Path_Command *cmds; 282 Efl_Gfx_Path_Command *cmds;
281 double *pts; 283 double *pts;
@@ -339,8 +341,7 @@ _efl_gfx_path_interpolate(Eo *obj, Efl_Gfx_Path_Data *pd,
339 pd->current_ctrl.y = interpolate(from_pd->current_ctrl.y, 341 pd->current_ctrl.y = interpolate(from_pd->current_ctrl.y,
340 to_pd->current_ctrl.y, pos_map); 342 to_pd->current_ctrl.y, pos_map);
341 343
342 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL); 344 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
343 efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
344 345
345 return EINA_TRUE; 346 return EINA_TRUE;
346} 347}
@@ -361,6 +362,8 @@ _efl_gfx_path_equal_commands(Eo *obj EINA_UNUSED,
361EOLIAN static void 362EOLIAN static void
362_efl_gfx_path_reset(Eo *obj, Efl_Gfx_Path_Data *pd) 363_efl_gfx_path_reset(Eo *obj, Efl_Gfx_Path_Data *pd)
363{ 364{
365 Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
366
364 free(pd->commands); 367 free(pd->commands);
365 pd->commands = NULL; 368 pd->commands = NULL;
366 pd->commands_count = 0; 369 pd->commands_count = 0;
@@ -375,14 +378,14 @@ _efl_gfx_path_reset(Eo *obj, Efl_Gfx_Path_Data *pd)
375 pd->current_ctrl.y = 0; 378 pd->current_ctrl.y = 0;
376 pd->convex = EINA_FALSE; 379 pd->convex = EINA_FALSE;
377 380
378 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL); 381 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
379 efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
380} 382}
381 383
382EOLIAN static void 384EOLIAN static void
383_efl_gfx_path_append_move_to(Eo *obj, Efl_Gfx_Path_Data *pd, 385_efl_gfx_path_append_move_to(Eo *obj, Efl_Gfx_Path_Data *pd,
384 double x, double y) 386 double x, double y)
385{ 387{
388 Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
386 double *offset_point; 389 double *offset_point;
387 390
388 if (!efl_gfx_path_grow(EFL_GFX_PATH_COMMAND_TYPE_MOVE_TO, pd, &offset_point)) 391 if (!efl_gfx_path_grow(EFL_GFX_PATH_COMMAND_TYPE_MOVE_TO, pd, &offset_point))
@@ -394,14 +397,14 @@ _efl_gfx_path_append_move_to(Eo *obj, Efl_Gfx_Path_Data *pd,
394 pd->current.x = x; 397 pd->current.x = x;
395 pd->current.y = y; 398 pd->current.y = y;
396 399
397 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL); 400 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
398 efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
399} 401}
400 402
401EOLIAN static void 403EOLIAN static void
402_efl_gfx_path_append_line_to(Eo *obj, Efl_Gfx_Path_Data *pd, 404_efl_gfx_path_append_line_to(Eo *obj, Efl_Gfx_Path_Data *pd,
403 double x, double y) 405 double x, double y)
404{ 406{
407 Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
405 double *offset_point; 408 double *offset_point;
406 409
407 if (!efl_gfx_path_grow(EFL_GFX_PATH_COMMAND_TYPE_LINE_TO, pd, &offset_point)) 410 if (!efl_gfx_path_grow(EFL_GFX_PATH_COMMAND_TYPE_LINE_TO, pd, &offset_point))
@@ -413,8 +416,7 @@ _efl_gfx_path_append_line_to(Eo *obj, Efl_Gfx_Path_Data *pd,
413 pd->current.x = x; 416 pd->current.x = x;
414 pd->current.y = y; 417 pd->current.y = y;
415 418
416 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL); 419 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
417 efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
418} 420}
419 421
420EOLIAN static void 422EOLIAN static void
@@ -423,6 +425,7 @@ _efl_gfx_path_append_cubic_to(Eo *obj, Efl_Gfx_Path_Data *pd,
423 double ctrl_x1, double ctrl_y1, 425 double ctrl_x1, double ctrl_y1,
424 double x, double y) 426 double x, double y)
425{ 427{
428 Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
426 double *offset_point; 429 double *offset_point;
427 430
428 if (!efl_gfx_path_grow(EFL_GFX_PATH_COMMAND_TYPE_CUBIC_TO, 431 if (!efl_gfx_path_grow(EFL_GFX_PATH_COMMAND_TYPE_CUBIC_TO,
@@ -441,8 +444,7 @@ _efl_gfx_path_append_cubic_to(Eo *obj, Efl_Gfx_Path_Data *pd,
441 pd->current_ctrl.x = ctrl_x1; 444 pd->current_ctrl.x = ctrl_x1;
442 pd->current_ctrl.y = ctrl_y1; 445 pd->current_ctrl.y = ctrl_y1;
443 446
444 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL); 447 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
445 efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
446} 448}
447 449
448EOLIAN static void 450EOLIAN static void
@@ -1028,12 +1030,12 @@ _efl_gfx_path_append_arc(Eo *obj, Efl_Gfx_Path_Data *pd,
1028EOLIAN static void 1030EOLIAN static void
1029_efl_gfx_path_append_close(Eo *obj, Efl_Gfx_Path_Data *pd) 1031_efl_gfx_path_append_close(Eo *obj, Efl_Gfx_Path_Data *pd)
1030{ 1032{
1033 Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
1031 double *offset_point; 1034 double *offset_point;
1032 1035
1033 efl_gfx_path_grow(EFL_GFX_PATH_COMMAND_TYPE_CLOSE, pd, &offset_point); 1036 efl_gfx_path_grow(EFL_GFX_PATH_COMMAND_TYPE_CLOSE, pd, &offset_point);
1034 1037
1035 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL); 1038 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
1036 efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
1037} 1039}
1038 1040
1039static void 1041static void
@@ -1578,6 +1580,7 @@ _efl_gfx_path_append_svg_path(Eo *obj, Efl_Gfx_Path_Data *pd,
1578EOLIAN static void 1580EOLIAN static void
1579_efl_gfx_path_copy_from(Eo *obj, Efl_Gfx_Path_Data *pd, const Eo *dup_from) 1581_efl_gfx_path_copy_from(Eo *obj, Efl_Gfx_Path_Data *pd, const Eo *dup_from)
1580{ 1582{
1583 Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
1581 Efl_Gfx_Path_Data *from; 1584 Efl_Gfx_Path_Data *from;
1582 1585
1583 if (obj == dup_from) return; 1586 if (obj == dup_from) return;
@@ -1588,8 +1591,7 @@ _efl_gfx_path_copy_from(Eo *obj, Efl_Gfx_Path_Data *pd, const Eo *dup_from)
1588 1591
1589 _efl_gfx_path_path_set(obj, pd, from->commands, from->points); 1592 _efl_gfx_path_path_set(obj, pd, from->commands, from->points);
1590 1593
1591 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL); 1594 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
1592 efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
1593} 1595}
1594 1596
1595#include "interfaces/efl_gfx_path.eo.c" 1597#include "interfaces/efl_gfx_path.eo.c"
diff --git a/src/lib/efl/interfaces/efl_gfx_path.eo b/src/lib/efl/interfaces/efl_gfx_path.eo
index 4b8961dd74..b36bf090dd 100644
--- a/src/lib/efl/interfaces/efl_gfx_path.eo
+++ b/src/lib/efl/interfaces/efl_gfx_path.eo
@@ -284,6 +284,6 @@ mixin Efl.Gfx.Path
284 } 284 }
285 } 285 }
286 events { 286 events {
287 changed; [[Graphics path was changed.]] 287 changed: Efl.Gfx.Path.Change_Event; [[Graphics path was changed.]]
288 } 288 }
289} 289}
diff --git a/src/lib/efl/interfaces/efl_gfx_shape.c b/src/lib/efl/interfaces/efl_gfx_shape.c
index 00bad6677f..3e88e8603f 100644
--- a/src/lib/efl/interfaces/efl_gfx_shape.c
+++ b/src/lib/efl/interfaces/efl_gfx_shape.c
@@ -161,9 +161,10 @@ _efl_gfx_shape_stroke_color_get(Eo *obj EINA_UNUSED, Efl_Gfx_Shape_Data *pd,
161EOLIAN static void 161EOLIAN static void
162_efl_gfx_shape_stroke_width_set(Eo *obj, Efl_Gfx_Shape_Data *pd, double w) 162_efl_gfx_shape_stroke_width_set(Eo *obj, Efl_Gfx_Shape_Data *pd, double w)
163{ 163{
164 Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
165
164 pd->public.stroke.width = w; 166 pd->public.stroke.width = w;
165 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL); 167 efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
166 efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
167} 168}
168 169
169EOLIAN static double 170EOLIAN static double
diff --git a/src/lib/efl/interfaces/efl_gfx_types.eot b/src/lib/efl/interfaces/efl_gfx_types.eot
index 7c6c43ec18..1b3598a3cf 100644
--- a/src/lib/efl/interfaces/efl_gfx_types.eot
+++ b/src/lib/efl/interfaces/efl_gfx_types.eot
@@ -146,13 +146,18 @@ enum Efl.Gfx.Border_Fill_Mode
146 solid = 2 [[Image's center region is to be made solid, even if it has transparency on it]] 146 solid = 2 [[Image's center region is to be made solid, even if it has transparency on it]]
147} 147}
148 148
149enum Efl.Gfx.Change.Flag 149enum Efl.Gfx.Change_Flag
150{ 150{
151 [[What property got changed for this object @since 1.18]] 151 [[What property got changed for this object @since 1.18]]
152 none = 0x0, [[No change]] 152 none = 0x0, [[No change]]
153 matrix = 0x1, [[matrix got changed]] 153 matrix = 0x1, [[matrix got changed]]
154 path = 0x2, [[path got changes]] 154 path = 0x2, [[path got changes]]
155 all = -1 [[all property got changed]] 155 fill = 0x4, [[coloring or fill information changed, not geometry]]
156 all = 0xffff [[all properties got changed]]
157}
158
159struct Efl.Gfx.Path.Change_Event {
160 what: Efl.Gfx.Change_Flag; [[Indicates what changed.]]
156} 161}
157 162
158struct Efl.Gfx.Event.Render_Post 163struct Efl.Gfx.Event.Render_Post
diff --git a/src/lib/elementary/efl_ui_textpath.c b/src/lib/elementary/efl_ui_textpath.c
index 5ab8e8a966..9a64896521 100644
--- a/src/lib/elementary/efl_ui_textpath.c
+++ b/src/lib/elementary/efl_ui_textpath.c
@@ -438,10 +438,15 @@ _ellipsis_set(Efl_Ui_Textpath_Data *pd)
438} 438}
439 439
440static void 440static void
441_path_changed_cb(void *data, const Efl_Event *event EINA_UNUSED) 441_path_changed_cb(void *data, const Efl_Event *event)
442{ 442{
443 Efl_Gfx_Path_Change_Event *ev = event->info;
443 EFL_UI_TEXTPATH_DATA_GET(data, sd); 444 EFL_UI_TEXTPATH_DATA_GET(data, sd);
444 445
446 if (ev && !((ev->what & EFL_GFX_CHANGE_FLAG_MATRIX) ||
447 (ev->what & EFL_GFX_CHANGE_FLAG_PATH)))
448 return;
449
445 _path_data_get(data, sd, EINA_TRUE); 450 _path_data_get(data, sd, EINA_TRUE);
446 _sizing_eval(sd); 451 _sizing_eval(sd);
447} 452}
diff --git a/src/lib/evas/canvas/efl_canvas_vg.c b/src/lib/evas/canvas/efl_canvas_vg.c
index ad8dc66f0b..e981619dc6 100644
--- a/src/lib/evas/canvas/efl_canvas_vg.c
+++ b/src/lib/evas/canvas/efl_canvas_vg.c
@@ -343,7 +343,7 @@ _efl_canvas_vg_efl_object_constructor(Eo *eo_obj, Efl_Canvas_Vg_Data *pd)
343 343
344 eina_array_step_set(&pd->cleanup, sizeof(pd->cleanup), 8); 344 eina_array_step_set(&pd->cleanup, sizeof(pd->cleanup), 8);
345 345
346 efl_event_callback_add(pd->root, EFL_GFX_EVENT_CHANGED, _evas_vg_tree_changed, obj); 346 efl_event_callback_add(pd->root, EFL_GFX_PATH_EVENT_CHANGED, _evas_vg_tree_changed, obj);
347 347
348 return eo_obj; 348 return eo_obj;
349} 349}
diff --git a/src/lib/evas/canvas/evas_vg_node.c b/src/lib/evas/canvas/evas_vg_node.c
index ae502c1bf1..e6af1ee8dc 100644
--- a/src/lib/evas/canvas/evas_vg_node.c
+++ b/src/lib/evas/canvas/evas_vg_node.c
@@ -17,7 +17,7 @@ static const Efl_VG_Interpolation interpolation_identity = {
17}; 17};
18 18
19static void 19static void
20_efl_vg_property_changed(void *data, const Efl_Event *event) 20_efl_vg_property_changed(void *data, const Efl_Event *event EINA_UNUSED)
21{ 21{
22 Efl_VG_Data *pd = data; 22 Efl_VG_Data *pd = data;
23 Eo *parent; 23 Eo *parent;
@@ -25,7 +25,7 @@ _efl_vg_property_changed(void *data, const Efl_Event *event)
25 if (!pd->flags) pd->flags = EFL_GFX_CHANGE_FLAG_ALL; 25 if (!pd->flags) pd->flags = EFL_GFX_CHANGE_FLAG_ALL;
26 26
27 parent = efl_parent_get(event->object); 27 parent = efl_parent_get(event->object);
28 efl_event_callback_legacy_call(parent, event->desc, event->info); 28 efl_event_callback_call(parent, event->desc, event->info);
29} 29}
30 30
31static void 31static void
@@ -252,7 +252,7 @@ _efl_vg_efl_object_constructor(Eo *obj,
252 return NULL; 252 return NULL;
253 } 253 }
254 254
255 efl_event_callback_add(obj, EFL_GFX_EVENT_CHANGED, _efl_vg_property_changed, pd); 255 efl_event_callback_add(obj, EFL_GFX_PATH_EVENT_CHANGED, _efl_vg_property_changed, pd);
256 pd->flags = EFL_GFX_CHANGE_FLAG_ALL; 256 pd->flags = EFL_GFX_CHANGE_FLAG_ALL;
257 pd->changed = EINA_TRUE; 257 pd->changed = EINA_TRUE;
258 258
diff --git a/src/lib/evas/canvas/evas_vg_private.h b/src/lib/evas/canvas/evas_vg_private.h
index 987991097c..e2f393fec2 100644
--- a/src/lib/evas/canvas/evas_vg_private.h
+++ b/src/lib/evas/canvas/evas_vg_private.h
@@ -127,7 +127,8 @@ _evas_vg_render_pre(Efl_VG *child, Ector_Surface *s, Eina_Matrix3 *m)
127static inline void 127static inline void
128_efl_vg_changed(Eo *obj) 128_efl_vg_changed(Eo *obj)
129{ 129{
130 efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL); 130 Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_FILL };
131 efl_event_callback_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
131} 132}
132 133
133static inline void * 134static inline void *