diff options
Diffstat (limited to 'debian/missing-sources/leaflet.js/layer/vector/SVG.Util.js')
-rw-r--r-- | debian/missing-sources/leaflet.js/layer/vector/SVG.Util.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/debian/missing-sources/leaflet.js/layer/vector/SVG.Util.js b/debian/missing-sources/leaflet.js/layer/vector/SVG.Util.js new file mode 100644 index 0000000..2a54797 --- /dev/null +++ b/debian/missing-sources/leaflet.js/layer/vector/SVG.Util.js @@ -0,0 +1,39 @@ +import * as Browser from '../../core/Browser'; + +// @namespace SVG; @section +// There are several static functions which can be called without instantiating L.SVG: + +// @function create(name: String): SVGElement +// Returns a instance of [SVGElement](https://developer.mozilla.org/docs/Web/API/SVGElement), +// corresponding to the class name passed. For example, using 'line' will return +// an instance of [SVGLineElement](https://developer.mozilla.org/docs/Web/API/SVGLineElement). +export function svgCreate(name) { + return document.createElementNS('http://www.w3.org/2000/svg', name); +} + +// @function pointsToPath(rings: Point[], closed: Boolean): String +// Generates a SVG path string for multiple rings, with each ring turning +// into "M..L..L.." instructions +export function pointsToPath(rings, closed) { + var str = '', + i, j, len, len2, points, p; + + for (i = 0, len = rings.length; i < len; i++) { + points = rings[i]; + + for (j = 0, len2 = points.length; j < len2; j++) { + p = points[j]; + str += (j ? 'L' : 'M') + p.x + ' ' + p.y; + } + + // closes the ring for polygons; "x" is VML syntax + str += closed ? (Browser.svg ? 'z' : 'x') : ''; + } + + // SVG complains about empty path strings + return str || 'M0 0'; +} + + + + |