efl_gfx_path: Support 'l' command for optimized path. 49/214549/1
authorJunsuChoi <jsuya.choi@samsung.com>
Tue, 24 Sep 2019 01:20:43 +0000 (10:20 +0900)
committerHermet Park <hermetpark@gmail.com>
Tue, 24 Sep 2019 03:12:42 +0000 (12:12 +0900)
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

Change-Id: I0e78949fcd0fdbff1d7a7314735319c2ce9924d4

src/lib/efl/interfaces/efl_gfx_path.c

index 38f22ec..447b234 100644 (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