maplair
Version:
JavaScript library for mobile-friendly interactive maps
31 lines (30 loc) • 1.16 kB
JavaScript
import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
import { Canvas } from "./Canvas.js";
import { SVG } from "./SVG.js";
//#region src/layer/vector/Renderer.getRenderer.js
var Renderer_getRenderer_exports = /* @__PURE__ */ __exportAll({ register: () => register });
function register(MaplairMap) {
MaplairMap.include({
getRenderer(layer) {
let renderer = layer.options.renderer ?? this._getPaneRenderer(layer.options.pane) ?? this.options.renderer ?? this._renderer;
if (!renderer) renderer = this._renderer = this._createRenderer();
if (!this.hasLayer(renderer)) this.addLayer(renderer);
return renderer;
},
_getPaneRenderer(name) {
if (name === "overlayPane" || name === void 0) return;
let renderer = this._paneRenderers[name];
if (renderer === void 0) {
renderer = this._createRenderer({ pane: name });
this._paneRenderers[name] = renderer;
}
return renderer;
},
_createRenderer(options) {
return this.options.preferCanvas && new Canvas(options) || new SVG(options);
}
});
}
//#endregion
export { Renderer_getRenderer_exports, register };
//# sourceMappingURL=Renderer.getRenderer.js.map