diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-14 13:24:15 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-14 13:24:15 +0000 |
commit | f7fa67dcc49b0b50ae2323b13facac69f2b5e495 (patch) | |
tree | b57cfa4095263521138ba8d3b372d91d99487a3e /debian/missing-sources/leaflet.js/layer/vector/SVG.VML.js | |
parent | Adding upstream version 1.1.0. (diff) | |
download | icingaweb2-module-map-f7fa67dcc49b0b50ae2323b13facac69f2b5e495.tar.xz icingaweb2-module-map-f7fa67dcc49b0b50ae2323b13facac69f2b5e495.zip |
Adding debian version 1.1.0-4.debian/1.1.0-4debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/missing-sources/leaflet.js/layer/vector/SVG.VML.js')
-rw-r--r-- | debian/missing-sources/leaflet.js/layer/vector/SVG.VML.js | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/debian/missing-sources/leaflet.js/layer/vector/SVG.VML.js b/debian/missing-sources/leaflet.js/layer/vector/SVG.VML.js new file mode 100644 index 0000000..86832e6 --- /dev/null +++ b/debian/missing-sources/leaflet.js/layer/vector/SVG.VML.js @@ -0,0 +1,143 @@ +import * as DomUtil from '../../dom/DomUtil'; +import * as Util from '../../core/Util'; +import {Renderer} from './Renderer'; + +/* + * Thanks to Dmitry Baranovsky and his Raphael library for inspiration! + */ + + +export var vmlCreate = (function () { + try { + document.namespaces.add('lvml', 'urn:schemas-microsoft-com:vml'); + return function (name) { + return document.createElement('<lvml:' + name + ' class="lvml">'); + }; + } catch (e) { + return function (name) { + return document.createElement('<' + name + ' xmlns="urn:schemas-microsoft.com:vml" class="lvml">'); + }; + } +})(); + + +/* + * @class SVG + * + * Although SVG is not available on IE7 and IE8, these browsers support [VML](https://en.wikipedia.org/wiki/Vector_Markup_Language), and the SVG renderer will fall back to VML in this case. + * + * VML was deprecated in 2012, which means VML functionality exists only for backwards compatibility + * with old versions of Internet Explorer. + */ + +// mixin to redefine some SVG methods to handle VML syntax which is similar but with some differences +export var vmlMixin = { + + _initContainer: function () { + this._container = DomUtil.create('div', 'leaflet-vml-container'); + }, + + _update: function () { + if (this._map._animatingZoom) { return; } + Renderer.prototype._update.call(this); + this.fire('update'); + }, + + _initPath: function (layer) { + var container = layer._container = vmlCreate('shape'); + + DomUtil.addClass(container, 'leaflet-vml-shape ' + (this.options.className || '')); + + container.coordsize = '1 1'; + + layer._path = vmlCreate('path'); + container.appendChild(layer._path); + + this._updateStyle(layer); + this._layers[Util.stamp(layer)] = layer; + }, + + _addPath: function (layer) { + var container = layer._container; + this._container.appendChild(container); + + if (layer.options.interactive) { + layer.addInteractiveTarget(container); + } + }, + + _removePath: function (layer) { + var container = layer._container; + DomUtil.remove(container); + layer.removeInteractiveTarget(container); + delete this._layers[Util.stamp(layer)]; + }, + + _updateStyle: function (layer) { + var stroke = layer._stroke, + fill = layer._fill, + options = layer.options, + container = layer._container; + + container.stroked = !!options.stroke; + container.filled = !!options.fill; + + if (options.stroke) { + if (!stroke) { + stroke = layer._stroke = vmlCreate('stroke'); + } + container.appendChild(stroke); + stroke.weight = options.weight + 'px'; + stroke.color = options.color; + stroke.opacity = options.opacity; + + if (options.dashArray) { + stroke.dashStyle = Util.isArray(options.dashArray) ? + options.dashArray.join(' ') : + options.dashArray.replace(/( *, *)/g, ' '); + } else { + stroke.dashStyle = ''; + } + stroke.endcap = options.lineCap.replace('butt', 'flat'); + stroke.joinstyle = options.lineJoin; + + } else if (stroke) { + container.removeChild(stroke); + layer._stroke = null; + } + + if (options.fill) { + if (!fill) { + fill = layer._fill = vmlCreate('fill'); + } + container.appendChild(fill); + fill.color = options.fillColor || options.color; + fill.opacity = options.fillOpacity; + + } else if (fill) { + container.removeChild(fill); + layer._fill = null; + } + }, + + _updateCircle: function (layer) { + var p = layer._point.round(), + r = Math.round(layer._radius), + r2 = Math.round(layer._radiusY || r); + + this._setPath(layer, layer._empty() ? 'M0 0' : + 'AL ' + p.x + ',' + p.y + ' ' + r + ',' + r2 + ' 0,' + (65535 * 360)); + }, + + _setPath: function (layer, path) { + layer._path.v = path; + }, + + _bringToFront: function (layer) { + DomUtil.toFront(layer._container); + }, + + _bringToBack: function (layer) { + DomUtil.toBack(layer._container); + } +}; |