(path, d, pcom)
| 29923 | attrs2 = { x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null }, |
| 29924 | |
| 29925 | processPath = function(path, d, pcom) { |
| 29926 | var nx, ny, tq = { T: 1, Q: 1 }; |
| 29927 | if (!path) { return ['C', d.x, d.y, d.x, d.y, d.x, d.y]; } |
| 29928 | if (!(path[0] in tq)) { d.qx = d.qy = null; } |
| 29929 | switch (path[0]) { |
| 29930 | case 'M': |
| 29931 | d.X = path[1]; |
| 29932 | d.Y = path[2]; |
| 29933 | break; |
| 29934 | case 'A': |
| 29935 | path = ['C'].concat(a2c.apply(0, [d.x, d.y].concat(path.slice(1)))); |
| 29936 | break; |
| 29937 | case 'S': |
| 29938 | if (pcom === 'C' || pcom === 'S') { |
| 29939 | nx = d.x * 2 - d.bx; |
| 29940 | ny = d.y * 2 - d.by; |
| 29941 | } else { |
| 29942 | nx = d.x; |
| 29943 | ny = d.y; |
| 29944 | } |
| 29945 | path = ['C', nx, ny].concat(path.slice(1)); |
| 29946 | break; |
| 29947 | case 'T': |
| 29948 | if (pcom === 'Q' || pcom === 'T') { |
| 29949 | d.qx = d.x * 2 - d.qx; |
| 29950 | d.qy = d.y * 2 - d.qy; |
| 29951 | } else { |
| 29952 | d.qx = d.x; |
| 29953 | d.qy = d.y; |
| 29954 | } |
| 29955 | path = ['C'].concat(q2c(d.x, d.y, d.qx, d.qy, path[1], path[2])); |
| 29956 | break; |
| 29957 | case 'Q': |
| 29958 | d.qx = path[1]; |
| 29959 | d.qy = path[2]; |
| 29960 | path = ['C'].concat(q2c(d.x,d.y,path[1],path[2],path[3],path[4])); |
| 29961 | break; |
| 29962 | case 'L': |
| 29963 | path = ['C'].concat(l2c(d.x, d.y, path[1], path[2])); |
| 29964 | break; |
| 29965 | case 'H': |
| 29966 | path = ['C'].concat(l2c(d.x, d.y, path[1], d.y)); |
| 29967 | break; |
| 29968 | case 'V': |
| 29969 | path = ['C'].concat(l2c(d.x, d.y, d.x, path[1])); |
| 29970 | break; |
| 29971 | case 'Z': |
| 29972 | path = ['C'].concat(l2c(d.x, d.y, d.X, d.Y)); |
| 29973 | break; |
| 29974 | } |
| 29975 | return path; |
| 29976 | }, |
| 29977 | |
| 29978 | fixArc = function(pp, i) { |
| 29979 | if (pp[i].length > 7) { |
no test coverage detected