Fix to interpret subsequent points of absolute MoveTo (M) command as absolute LineTo (L).
This commit is contained in:
Hlaing Min
2019-09-13 01:51:22 +08:00
parent e85beb91dc
commit a19a6317ec

View File

@ -298,7 +298,7 @@ class SVGMobject(VMobject):
if not isinstance(element, minidom.Element): if not isinstance(element, minidom.Element):
return return
if element.hasAttribute('id'): if element.hasAttribute('id'):
return element return [element]
for e in element.childNodes: for e in element.childNodes:
all_childNodes_have_id.append(self.get_all_childNodes_have_id(e)) all_childNodes_have_id.append(self.get_all_childNodes_have_id(e))
return self.flatten([e for e in all_childNodes_have_id if e]) return self.flatten([e for e in all_childNodes_have_id if e])
@ -371,9 +371,9 @@ class VMobjectFromSVGPathstring(VMobject):
new_points = new_points[1:] new_points = new_points[1:]
command = "L" command = "L"
# Treat everything as relative line-to until empty
for p in new_points: for p in new_points:
# Treat as relative if isLower:
# Treat everything as relative line-to until empty
p[0] += self.points[-1, 0] p[0] += self.points[-1, 0]
p[1] += self.points[-1, 1] p[1] += self.points[-1, 1]
self.add_line_to(p) self.add_line_to(p)