summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2015-04-03 16:38:04 +0200
committerCedric BAIL <cedric@osg.samsung.com>2015-04-03 16:38:04 +0200
commit600e69d226e8cdb960fb88e4d30a0af5d4277cd1 (patch)
treebcab354f8db8b9aae6e8fa4dca19d8e1c9d0c9b3
parentc1836b97edd63f65f5e655faa18d61b4e745326c (diff)
downloadefl-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.c7
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient_radial.c8
-rw-r--r--src/lib/evas/canvas/evas_vg_shape.c6
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