summaryrefslogtreecommitdiff
path: root/src/lib/ector
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-12-12 17:00:39 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-12-13 13:47:48 +0900
commit1fdbb00e225ce9e98e7ec2e2ec554eb5d1e02e69 (patch)
treee61a7f9d422e3876aa97ff8f602898b1e8b576f2 /src/lib/ector
parent3136500fbeba47538ebdf95ead9ef49a4579db3d (diff)
efl: Move VG-specific change event to efl.gfx.path
Diffstat (limited to 'src/lib/ector')
-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
3 files changed, 18 insertions, 2 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);