SVGPathSeg*(Abs|Rel) classses should be combined to reduce code size It's silly to have copy/paste copies of each Rel/Abs SVGPathSeg subclass. These could be cleaned up to use templates, or even just a simple shared base class to reduce the amount of copy/paste code (and thus help prevent errors when changing these files).
Created attachment 21221 [details] First attempt Simple cleanup patch. Cheers, Rob.
Comment on attachment 21221 [details] First attempt + virtual String toString() const { return pathSegTypeAsLetter() + String::format(" %.6lg %.6lg", m_x, m_y); } Might be more efficient if you passed the char as part of the format. Not sure it matters though. Generally we encourage each of these to get their own line: 36 : m_x(x), m_y(y), m_r1(r1), m_r2(r2), m_angle(angle), m_largeArcFlag(largeArcFlag), m_sweepFlag(sweepFlag) {} In general looks great! I love all the minus lines.
Created attachment 21303 [details] Improved patch So I noticed that the template approach added some bloat, I think we are better without it. Also I missed two files, now they are part of the patch. Cheers, Rob.
Comment on attachment 21303 [details] Improved patch Looks fine.
Landed in r34117.