}
static void
-_render_to_tvg_buffer(Evas_Object_Protected_Data *obj, Efl_Canvas_Vg_Object_Data *pd, Efl_VG *root)
+_update_scene(Evas_Object_Protected_Data *obj, Efl_Canvas_Vg_Object_Data *pd, Efl_VG *root)
{
if (!efl_isa(root, EFL_CANVAS_VG_GRADIENT_CLASS))
{
Efl_Canvas_Vg_Node_Data *nd = efl_data_scope_get(root, EFL_CANVAS_VG_NODE_CLASS);
if (nd) nd->render_pre(obj, root, nd, NULL, pd->tvg_canvas, NULL);
}
-
- if (tvg_canvas_draw(pd->tvg_canvas) == TVG_RESULT_SUCCESS)
- tvg_canvas_sync(pd->tvg_canvas);
}
static void
Efl_VG *root = evas_cache_vg_tree_get(pd->vg_entry, pd->frame_idx);
if (!root) return;
- if (updated) _render_to_tvg_buffer(obj, pd, root);
+ if (updated) _update_scene(obj, pd, root);
}
- if (pd->user_entry && updated) _render_to_tvg_buffer(obj, pd, pd->user_entry->root);
+ if (pd->user_entry && updated) _update_scene(obj, pd, pd->user_entry->root);
+
+ //Render the vector canvas
+ if (updated)
+ {
+ if (tvg_canvas_draw(pd->tvg_canvas) == TVG_RESULT_SUCCESS)
+ tvg_canvas_sync(pd->tvg_canvas);
+ tvg_canvas_clear(pd->tvg_canvas, EINA_FALSE);
+ }
_render_tvg_buffer_to_screen(obj, pd, engine, output, context, surface,
obj->cur->geometry.x + x,
obj->cur->geometry.y + y,
do_async);
-
- tvg_canvas_clear(pd->tvg_canvas, EINA_FALSE);
pd->changed = EINA_FALSE;
}