(data)
| 12832 | var commandReg = /([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig; |
| 12833 | var numberReg = /-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g; |
| 12834 | function createPathProxyFromString(data) { |
| 12835 | var path = new PathProxy(); |
| 12836 | if (!data) { |
| 12837 | return path; |
| 12838 | } |
| 12839 | var cpx = 0; |
| 12840 | var cpy = 0; |
| 12841 | var subpathX = cpx; |
| 12842 | var subpathY = cpy; |
| 12843 | var prevCmd; |
| 12844 | var CMD = PathProxy.CMD; |
| 12845 | var cmdList = data.match(commandReg); |
| 12846 | if (!cmdList) { |
| 12847 | return path; |
| 12848 | } |
| 12849 | for (var l = 0; l < cmdList.length; l++) { |
| 12850 | var cmdText = cmdList[l]; |
| 12851 | var cmdStr = cmdText.charAt(0); |
| 12852 | var cmd = void 0; |
| 12853 | var p = cmdText.match(numberReg) || []; |
| 12854 | var pLen = p.length; |
| 12855 | for (var i = 0; i < pLen; i++) { |
| 12856 | p[i] = parseFloat(p[i]); |
| 12857 | } |
| 12858 | var off = 0; |
| 12859 | while (off < pLen) { |
| 12860 | var ctlPtx = void 0; |
| 12861 | var ctlPty = void 0; |
| 12862 | var rx = void 0; |
| 12863 | var ry = void 0; |
| 12864 | var psi = void 0; |
| 12865 | var fa = void 0; |
| 12866 | var fs = void 0; |
| 12867 | var x1 = cpx; |
| 12868 | var y1 = cpy; |
| 12869 | var len = void 0; |
| 12870 | var pathData = void 0; |
| 12871 | switch (cmdStr) { |
| 12872 | case 'l': |
| 12873 | cpx += p[off++]; |
| 12874 | cpy += p[off++]; |
| 12875 | cmd = CMD.L; |
| 12876 | path.addData(cmd, cpx, cpy); |
| 12877 | break; |
| 12878 | case 'L': |
| 12879 | cpx = p[off++]; |
| 12880 | cpy = p[off++]; |
| 12881 | cmd = CMD.L; |
| 12882 | path.addData(cmd, cpx, cpy); |
| 12883 | break; |
| 12884 | case 'm': |
| 12885 | cpx += p[off++]; |
| 12886 | cpy += p[off++]; |
| 12887 | cmd = CMD.M; |
| 12888 | path.addData(cmd, cpx, cpy); |
| 12889 | subpathX = cpx; |
| 12890 | subpathY = cpy; |
| 12891 | cmdStr = 'l'; |
no test coverage detected
searching dependent graphs…