Explicit map renderer construction
This commit is contained in:
@@ -16,12 +16,10 @@ import {compose as composeTransform, invert as invertTransform, setFromArray as
|
||||
* @constructor
|
||||
* @abstract
|
||||
* @extends {module:ol/Disposable~Disposable}
|
||||
* @param {Element} container Container.
|
||||
* @param {module:ol/PluggableMap~PluggableMap} map Map.
|
||||
* @struct
|
||||
*/
|
||||
const MapRenderer = function(container, map) {
|
||||
|
||||
const MapRenderer = function(map) {
|
||||
Disposable.call(this);
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
/**
|
||||
* @module ol/renderer/canvas/Map
|
||||
*/
|
||||
// FIXME offset panning
|
||||
|
||||
import {create as createTransform, apply as applyTransform, compose as composeTransform} from '../../transform.js';
|
||||
import {inherits} from '../../index.js';
|
||||
import {stableSort} from '../../array.js';
|
||||
@@ -20,13 +18,13 @@ import SourceState from '../../source/State.js';
|
||||
/**
|
||||
* @constructor
|
||||
* @extends {ol.renderer.Map}
|
||||
* @param {Element} container Container.
|
||||
* @param {module:ol/PluggableMap~PluggableMap} map Map.
|
||||
* @api
|
||||
*/
|
||||
const CanvasMapRenderer = function(container, map) {
|
||||
const CanvasMapRenderer = function(map) {
|
||||
MapRenderer.call(this, map);
|
||||
|
||||
MapRenderer.call(this, container, map);
|
||||
const container = map.getViewport();
|
||||
|
||||
/**
|
||||
* @private
|
||||
@@ -63,27 +61,6 @@ const CanvasMapRenderer = function(container, map) {
|
||||
inherits(CanvasMapRenderer, MapRenderer);
|
||||
|
||||
|
||||
/**
|
||||
* Determine if this renderer handles the provided layer.
|
||||
* @param {ol.renderer.Type} type The renderer type.
|
||||
* @return {boolean} The renderer can render the layer.
|
||||
*/
|
||||
CanvasMapRenderer['handles'] = function(type) {
|
||||
return type === RendererType.CANVAS;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Create the map renderer.
|
||||
* @param {Element} container Container.
|
||||
* @param {module:ol/PluggableMap~PluggableMap} map Map.
|
||||
* @return {ol.renderer.canvas.Map} The map renderer.
|
||||
*/
|
||||
CanvasMapRenderer['create'] = function(container, map) {
|
||||
return new CanvasMapRenderer(container, map);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {ol.render.EventType} type Event type.
|
||||
* @param {module:ol/PluggableMap~FrameState} frameState Frame state.
|
||||
|
||||
@@ -7,7 +7,6 @@ import {stableSort} from '../../array.js';
|
||||
import {CLASS_UNSELECTABLE} from '../../css.js';
|
||||
import {createCanvasContext2D} from '../../dom.js';
|
||||
import {listen} from '../../events.js';
|
||||
import {WEBGL} from '../../has.js';
|
||||
import {visibleAtResolution} from '../../layer/Layer.js';
|
||||
import RenderEvent from '../../render/Event.js';
|
||||
import RenderEventType from '../../render/EventType.js';
|
||||
@@ -43,12 +42,13 @@ const WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK = 1024;
|
||||
/**
|
||||
* @constructor
|
||||
* @extends {ol.renderer.Map}
|
||||
* @param {Element} container Container.
|
||||
* @param {module:ol/PluggableMap~PluggableMap} map Map.
|
||||
* @api
|
||||
*/
|
||||
const WebGLMapRenderer = function(container, map) {
|
||||
MapRenderer.call(this, container, map);
|
||||
const WebGLMapRenderer = function(map) {
|
||||
MapRenderer.call(this, map);
|
||||
|
||||
const container = map.getViewport();
|
||||
|
||||
/**
|
||||
* @private
|
||||
@@ -182,28 +182,7 @@ inherits(WebGLMapRenderer, MapRenderer);
|
||||
|
||||
|
||||
/**
|
||||
* Determine if this renderer handles the provided layer.
|
||||
* @param {ol.renderer.Type} type The renderer type.
|
||||
* @return {boolean} The renderer can render the layer.
|
||||
*/
|
||||
WebGLMapRenderer['handles'] = function(type) {
|
||||
return WEBGL && type === RendererType.WEBGL;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Create the map renderer.
|
||||
* @param {Element} container Container.
|
||||
* @param {module:ol/PluggableMap~PluggableMap} map Map.
|
||||
* @return {ol.renderer.webgl.Map} The map renderer.
|
||||
*/
|
||||
WebGLMapRenderer['create'] = function(container, map) {
|
||||
return new WebGLMapRenderer(container, map);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {module:ol/Tile~Tile} tile Tile.
|
||||
* @param {ol.Tile} tile Tile.
|
||||
* @param {module:ol/size~Size} tileSize Tile size.
|
||||
* @param {number} tileGutter Tile gutter.
|
||||
* @param {number} magFilter Mag filter.
|
||||
@@ -612,4 +591,5 @@ WebGLMapRenderer.prototype.forEachLayerAtPixel = function(pixel, frameState, cal
|
||||
}
|
||||
return undefined;
|
||||
};
|
||||
|
||||
export default WebGLMapRenderer;
|
||||
|
||||
Reference in New Issue
Block a user