diff options
author | Cedric BAIL <cedric@osg.samsung.com> | 2015-04-03 16:38:04 +0200 |
---|---|---|
committer | Cedric BAIL <cedric@osg.samsung.com> | 2015-04-03 16:38:04 +0200 |
commit | 600e69d226e8cdb960fb88e4d30a0af5d4277cd1 (patch) | |
tree | bcab354f8db8b9aae6e8fa4dca19d8e1c9d0c9b3 | |
parent | c1836b97edd63f65f5e655faa18d61b4e745326c (diff) | |
download | efl-600e69d226e8cdb960fb88e4d30a0af5d4277cd1.tar.gz |
evas: implements efl_vg_bound_get in all Efl.VG object.
-rw-r--r-- | src/lib/evas/canvas/evas_vg_gradient_linear.c | 7 | ||||
-rw-r--r-- | src/lib/evas/canvas/evas_vg_gradient_radial.c | 8 | ||||
-rw-r--r-- | src/lib/evas/canvas/evas_vg_shape.c | 6 |
3 files changed, 19 insertions, 2 deletions
diff --git a/src/lib/evas/canvas/evas_vg_gradient_linear.c b/src/lib/evas/canvas/evas_vg_gradient_linear.c index 8c152dac66..dee38f4ca4 100644 --- a/src/lib/evas/canvas/evas_vg_gradient_linear.c +++ b/src/lib/evas/canvas/evas_vg_gradient_linear.c @@ -110,6 +110,13 @@ _efl_vg_gradient_linear_eo_base_destructor(Eo *obj, Efl_VG_Gradient_Linear_Data static Eina_Bool _efl_vg_gradient_linear_efl_vg_base_bound_get(Eo *obj, Efl_VG_Gradient_Linear_Data *pd, Eina_Rectangle *r) { + Efl_VG_Base_Data *nd; + + nd = eo_data_scope_get(obj, EFL_VG_BASE_CLASS); + EINA_RECTANGLE_SET(r, + nd->x + pd->start.x, nd->y + pd->start.y, + pd->end.x - pd->start.x, pd->end.y - pd->start.x); + return EINA_TRUE; } EAPI void diff --git a/src/lib/evas/canvas/evas_vg_gradient_radial.c b/src/lib/evas/canvas/evas_vg_gradient_radial.c index fe4bb789c3..9b8495312b 100644 --- a/src/lib/evas/canvas/evas_vg_gradient_radial.c +++ b/src/lib/evas/canvas/evas_vg_gradient_radial.c @@ -127,6 +127,14 @@ _efl_vg_gradient_radial_eo_base_destructor(Eo *obj, static Eina_Bool _efl_vg_gradient_radial_efl_vg_base_bound_get(Eo *obj, Efl_VG_Gradient_Radial_Data *pd, Eina_Rectangle *r) { + Efl_VG_Base_Data *nd; + + nd = eo_data_scope_get(obj, EFL_VG_BASE_CLASS); + EINA_RECTANGLE_SET(r, + nd->x + pd->center.x - pd->radius, + nd->y + pd->center.y - pd->radius, + pd->radius * 2, pd->radius * 2); + return EINA_TRUE; } EAPI void diff --git a/src/lib/evas/canvas/evas_vg_shape.c b/src/lib/evas/canvas/evas_vg_shape.c index c33c6a864c..62c64497fa 100644 --- a/src/lib/evas/canvas/evas_vg_shape.c +++ b/src/lib/evas/canvas/evas_vg_shape.c @@ -30,10 +30,12 @@ struct _Efl_VG_Shape_Data static Eina_Bool _efl_vg_shape_efl_vg_base_bound_get(Eo *obj, - Efl_VG_Shape_Data *pd, + Efl_VG_Shape_Data *pd EINA_UNUSED, Eina_Rectangle *r) { - return EINA_FALSE; + // FIXME: Use the renderer bounding box when it has been created instead of an estimation + eo_do(obj, efl_gfx_shape_bounding_box_get(r)); + return EINA_TRUE; } static void |