summaryrefslogtreecommitdiffstats
path: root/debian/missing-sources/leaflet.js/layer/vector/Renderer.getRenderer.js
diff options
context:
space:
mode:
Diffstat (limited to 'debian/missing-sources/leaflet.js/layer/vector/Renderer.getRenderer.js')
-rw-r--r--debian/missing-sources/leaflet.js/layer/vector/Renderer.getRenderer.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/debian/missing-sources/leaflet.js/layer/vector/Renderer.getRenderer.js b/debian/missing-sources/leaflet.js/layer/vector/Renderer.getRenderer.js
new file mode 100644
index 0000000..92cd615
--- /dev/null
+++ b/debian/missing-sources/leaflet.js/layer/vector/Renderer.getRenderer.js
@@ -0,0 +1,41 @@
+import {Map} from '../../map/Map';
+import {Canvas, canvas} from './Canvas';
+import {SVG, svg} from './SVG';
+
+Map.include({
+ // @namespace Map; @method getRenderer(layer: Path): Renderer
+ // Returns the instance of `Renderer` that should be used to render the given
+ // `Path`. It will ensure that the `renderer` options of the map and paths
+ // are respected, and that the renderers do exist on the map.
+ getRenderer: function (layer) {
+ // @namespace Path; @option renderer: Renderer
+ // Use this specific instance of `Renderer` for this path. Takes
+ // precedence over the map's [default renderer](#map-renderer).
+ var renderer = layer.options.renderer || this._getPaneRenderer(layer.options.pane) || this.options.renderer || this._renderer;
+
+ if (!renderer) {
+ // @namespace Map; @option preferCanvas: Boolean = false
+ // Whether `Path`s should be rendered on a `Canvas` renderer.
+ // By default, all `Path`s are rendered in a `SVG` renderer.
+ renderer = this._renderer = (this.options.preferCanvas && canvas()) || svg();
+ }
+
+ if (!this.hasLayer(renderer)) {
+ this.addLayer(renderer);
+ }
+ return renderer;
+ },
+
+ _getPaneRenderer: function (name) {
+ if (name === 'overlayPane' || name === undefined) {
+ return false;
+ }
+
+ var renderer = this._paneRenderers[name];
+ if (renderer === undefined) {
+ renderer = (SVG && svg({pane: name})) || (Canvas && canvas({pane: name}));
+ this._paneRenderers[name] = renderer;
+ }
+ return renderer;
+ }
+});