efl_gfx_path: Support 'l' command for optimized path.

Summary:
If there is no 'l' command for path optimization, refer to the previous cmd.
If the previous command is 'm', use 'l'.

Test Plan:
[Example SVG]
'''
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 40 40">
<g fill="none" fill-rule="evenodd">
<rect width="40" height="40" fill="#f00" opacity="0"/>
<path d="m12 20 13-12-13 12zm0 0 13 12-13-12z" fill-rule="nonzero" opacity=".12" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</svg>
'''

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10074
This commit is contained in:
junsu choi 2019-09-24 10:20:43 +09:00
parent 15897cd9c3
commit 3b1f7bea75
1 changed files with 7 additions and 0 deletions

View File

@ -1377,6 +1377,13 @@ _next_command(char *path, char *cmd, double *arr, int *count)
path++;
*count = _number_count(*cmd);
}
else
{
if (*cmd == 'm')
{
*cmd = 'l';
}
}
if ( *count == 7)
{
// special case for arc command