forked from enlightenment/efl
evas: update and propagate Evas_VG_Base transformation.
This commit is contained in:
parent
abc64b7526
commit
3dea7dbfaf
|
@ -57,10 +57,10 @@ _efl_vg_base_changed(Eo *obj)
|
|||
eo_do(obj, eo_event_callback_call(EFL_GFX_CHANGED, NULL));
|
||||
}
|
||||
|
||||
#define EFL_VG_COMPUTE_MATRIX(Current, Parent, Nd) \
|
||||
Eina_Matrix3 *Current = Nd->m; \
|
||||
Eina_Matrix3 _matrix_tmp; \
|
||||
\
|
||||
#define EFL_VG_COMPUTE_MATRIX(Current, Parent, Nd) \
|
||||
Eina_Matrix3 *Current = Nd->m; \
|
||||
Eina_Matrix3 _matrix_tmp, translate; \
|
||||
\
|
||||
if (Parent) \
|
||||
{ \
|
||||
if (Current) \
|
||||
|
@ -70,7 +70,11 @@ _efl_vg_base_changed(Eo *obj)
|
|||
} \
|
||||
else \
|
||||
{ \
|
||||
Current = Parent; \
|
||||
eina_matrix3_translate(&translate, -(Nd->x), -(Nd->y)); \
|
||||
eina_matrix3_compose(Parent, &translate, &_matrix_tmp); \
|
||||
eina_matrix3_translate(&translate, (Nd->x), (Nd->y)); \
|
||||
eina_matrix3_compose(&_matrix_tmp, &translate, &_matrix_tmp); \
|
||||
Current = &_matrix_tmp; \
|
||||
} \
|
||||
}
|
||||
|
||||
|
|
|
@ -280,10 +280,13 @@ _efl_vg_shape_render_pre(Eo *obj EINA_UNUSED,
|
|||
{
|
||||
Efl_VG_Shape_Data *pd = data;
|
||||
Efl_VG_Base_Data *fill, *stroke_fill, *stroke_marker, *mask;
|
||||
double xn = nd->x, yn = nd->y ;
|
||||
|
||||
if (!nd->changed) return ;
|
||||
nd->changed = EINA_FALSE;
|
||||
|
||||
if(parent) eina_matrix3_point_transform(parent, nd->x, nd->y, &xn, &yn);
|
||||
|
||||
EFL_VG_COMPUTE_MATRIX(current, parent, nd);
|
||||
|
||||
fill = _evas_vg_render_pre(pd->fill, s, current);
|
||||
|
@ -298,7 +301,7 @@ _efl_vg_shape_render_pre(Eo *obj EINA_UNUSED,
|
|||
|
||||
eo_do(nd->renderer,
|
||||
ector_renderer_transformation_set(current),
|
||||
ector_renderer_origin_set(nd->x, nd->y),
|
||||
ector_renderer_origin_set(xn, yn),
|
||||
ector_renderer_color_set(nd->r, nd->g, nd->b, nd->a),
|
||||
ector_renderer_visibility_set(nd->visibility),
|
||||
ector_renderer_mask_set(mask ? mask->renderer : NULL),
|
||||
|
|
Loading…
Reference in New Issue