| 90 | return this.string; |
| 91 | }; |
| 92 | function extractTransform(el, tstr) { |
| 93 | if (tstr == null) { |
| 94 | var doReturn = true; |
| 95 | if (el.type == "linearGradient" || el.type == "radialGradient") { |
| 96 | tstr = el.node.getAttribute("gradientTransform"); |
| 97 | } else if (el.type == "pattern") { |
| 98 | tstr = el.node.getAttribute("patternTransform"); |
| 99 | } else { |
| 100 | tstr = el.node.getAttribute("transform"); |
| 101 | } |
| 102 | if (!tstr) { |
| 103 | return new Snap.Matrix; |
| 104 | } |
| 105 | tstr = Snap._.svgTransform2string(tstr); |
| 106 | } else { |
| 107 | if (!Snap._.rgTransform.test(tstr)) { |
| 108 | tstr = Snap._.svgTransform2string(tstr); |
| 109 | } else { |
| 110 | tstr = Str(tstr).replace(/\.{3}|\u2026/g, el._.transform || ""); |
| 111 | } |
| 112 | if (is(tstr, "array")) { |
| 113 | tstr = Snap.path ? Snap.path.toString.call(tstr) : Str(tstr); |
| 114 | } |
| 115 | el._.transform = tstr; |
| 116 | } |
| 117 | var m = Snap._.transform2matrix(tstr, el.getBBox(1)); |
| 118 | if (doReturn) { |
| 119 | return m; |
| 120 | } else { |
| 121 | el.matrix = m; |
| 122 | } |
| 123 | } |
| 124 | /*\ |
| 125 | * Element.transform |
| 126 | [ method ] |