aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/evas/canvas/evas_vg_gradient_radial.c
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2015-04-03 16:30:42 +0200
committerCedric BAIL <cedric@osg.samsung.com>2015-04-03 16:30:42 +0200
commit0f6328b04feca2e583a3d74b30d636af4f6b6965 (patch)
tree7827a750d77bd2421cf49cde89cd3c244120fbbc /src/lib/evas/canvas/evas_vg_gradient_radial.c
parentefl: trigger EFL_GFX_CHANGED on path change. (diff)
downloadefl-0f6328b04feca2e583a3d74b30d636af4f6b6965.tar.gz
efl: introduce EFL_GFX_CHANGED event and properly propagate up to Evas.
Diffstat (limited to 'src/lib/evas/canvas/evas_vg_gradient_radial.c')
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient_radial.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/lib/evas/canvas/evas_vg_gradient_radial.c b/src/lib/evas/canvas/evas_vg_gradient_radial.c
index ad199659a6..ead0a49d98 100644
--- a/src/lib/evas/canvas/evas_vg_gradient_radial.c
+++ b/src/lib/evas/canvas/evas_vg_gradient_radial.c
@@ -21,6 +21,8 @@ _evas_vg_gradient_radial_efl_gfx_gradient_radial_center_set(Eo *obj EINA_UNUSED,
{
pd->center.x = x;
pd->center.y = y;
+
+ _evas_vg_node_changed(obj);
}
static void
@@ -38,6 +40,8 @@ _evas_vg_gradient_radial_efl_gfx_gradient_radial_radius_set(Eo *obj EINA_UNUSED,
double r)
{
pd->radius = r;
+
+ _evas_vg_node_changed(obj);
}
static double
@@ -54,6 +58,8 @@ _evas_vg_gradient_radial_efl_gfx_gradient_radial_focal_set(Eo *obj EINA_UNUSED,
{
pd->focal.x = x;
pd->focal.y = y;
+
+ _evas_vg_node_changed(obj);
}
static void
@@ -73,7 +79,12 @@ _evas_vg_gradient_radial_render_pre(Eo *obj,
Evas_VG_Node_Data *nd)
{
Evas_VG_Gradient_Radial_Data *pd = data;
- Evas_VG_Gradient_Data *gd = eo_data_scope_get(obj, EVAS_VG_GRADIENT_CLASS);
+ Evas_VG_Gradient_Data *gd;
+
+ if (!nd->changed) return ;
+ nd->changed = EINA_FALSE;
+
+ gd = eo_data_scope_get(obj, EVAS_VG_GRADIENT_CLASS);
EVAS_VG_COMPUTE_MATRIX(current, parent, nd);
if (!nd->renderer)