EAPI void
evas_vg_shape_path_length_get(Evas_Vg_Shape *obj, unsigned int *commands, unsigned int *points)
{
- //TODO: implement
+#ifdef HAVE_THORVG
+ Tvg_Paint *tvg_shape = _get_tvg_shape(obj);
+ if (!tvg_shape) return;
+
+ const Tvg_Path_Command *cmds = NULL;
+ const Tvg_Point *coords = NULL;
+
+ tvg_shape_get_path_commands(tvg_shape, &cmds, commands);
+ tvg_shape_get_path_coords(tvg_shape, &coords, points);
+
+ //in evas commands we have always EVAS_VG_PATH_COMMAND_END to indicate commands
+ //array end.
+ *commands += 1;
+
+ //evas array stores x, y coordinates in one array, tvg use array of points
+ *points = *points * 2;
+
+#else
efl_gfx_path_length_get(obj, commands, points);
+#endif
}
EAPI void