Transformed

This commit is contained in:
Tim Schaub
2017-12-11 16:29:33 -07:00
parent 1cdb6a66f0
commit 7f47883c48
737 changed files with 22216 additions and 21609 deletions
+48 -46
View File
@@ -1,18 +1,18 @@
goog.provide('ol.renderer.canvas.ImageLayer');
goog.require('ol');
goog.require('ol.ImageCanvas');
goog.require('ol.LayerType');
goog.require('ol.ViewHint');
goog.require('ol.array');
goog.require('ol.extent');
goog.require('ol.layer.VectorRenderType');
goog.require('ol.obj');
goog.require('ol.plugins');
goog.require('ol.renderer.Type');
goog.require('ol.renderer.canvas.IntermediateCanvas');
goog.require('ol.transform');
/**
* @module ol/renderer/canvas/ImageLayer
*/
import _ol_ from '../../index.js';
import _ol_ImageCanvas_ from '../../ImageCanvas.js';
import _ol_LayerType_ from '../../LayerType.js';
import _ol_ViewHint_ from '../../ViewHint.js';
import _ol_array_ from '../../array.js';
import _ol_extent_ from '../../extent.js';
import _ol_layer_VectorRenderType_ from '../../layer/VectorRenderType.js';
import _ol_obj_ from '../../obj.js';
import _ol_plugins_ from '../../plugins.js';
import _ol_renderer_Type_ from '../Type.js';
import _ol_renderer_canvas_IntermediateCanvas_ from '../canvas/IntermediateCanvas.js';
import _ol_transform_ from '../../transform.js';
/**
* @constructor
@@ -20,9 +20,9 @@ goog.require('ol.transform');
* @param {ol.layer.Image} imageLayer Single image layer.
* @api
*/
ol.renderer.canvas.ImageLayer = function(imageLayer) {
var _ol_renderer_canvas_ImageLayer_ = function(imageLayer) {
ol.renderer.canvas.IntermediateCanvas.call(this, imageLayer);
_ol_renderer_canvas_IntermediateCanvas_.call(this, imageLayer);
/**
* @private
@@ -34,7 +34,7 @@ ol.renderer.canvas.ImageLayer = function(imageLayer) {
* @private
* @type {ol.Transform}
*/
this.imageTransform_ = ol.transform.create();
this.imageTransform_ = _ol_transform_.create();
/**
* @type {!Array.<string>}
@@ -48,7 +48,8 @@ ol.renderer.canvas.ImageLayer = function(imageLayer) {
this.vectorRenderer_ = null;
};
ol.inherits(ol.renderer.canvas.ImageLayer, ol.renderer.canvas.IntermediateCanvas);
_ol_.inherits(_ol_renderer_canvas_ImageLayer_, _ol_renderer_canvas_IntermediateCanvas_);
/**
@@ -57,10 +58,10 @@ ol.inherits(ol.renderer.canvas.ImageLayer, ol.renderer.canvas.IntermediateCanvas
* @param {ol.layer.Layer} layer The candidate layer.
* @return {boolean} The renderer can render the layer.
*/
ol.renderer.canvas.ImageLayer['handles'] = function(type, layer) {
return type === ol.renderer.Type.CANVAS && (layer.getType() === ol.LayerType.IMAGE ||
layer.getType() === ol.LayerType.VECTOR &&
/** @type {ol.layer.Vector} */ (layer).getRenderMode() === ol.layer.VectorRenderType.IMAGE);
_ol_renderer_canvas_ImageLayer_['handles'] = function(type, layer) {
return type === _ol_renderer_Type_.CANVAS && (layer.getType() === _ol_LayerType_.IMAGE ||
layer.getType() === _ol_LayerType_.VECTOR &&
/** @type {ol.layer.Vector} */ (layer).getRenderMode() === _ol_layer_VectorRenderType_.IMAGE);
};
@@ -70,13 +71,13 @@ ol.renderer.canvas.ImageLayer['handles'] = function(type, layer) {
* @param {ol.layer.Layer} layer The layer to be rendererd.
* @return {ol.renderer.canvas.ImageLayer} The layer renderer.
*/
ol.renderer.canvas.ImageLayer['create'] = function(mapRenderer, layer) {
var renderer = new ol.renderer.canvas.ImageLayer(/** @type {ol.layer.Image} */ (layer));
if (layer.getType() === ol.LayerType.VECTOR) {
var candidates = ol.plugins.getLayerRendererPlugins();
_ol_renderer_canvas_ImageLayer_['create'] = function(mapRenderer, layer) {
var renderer = new _ol_renderer_canvas_ImageLayer_(/** @type {ol.layer.Image} */ (layer));
if (layer.getType() === _ol_LayerType_.VECTOR) {
var candidates = _ol_plugins_.getLayerRendererPlugins();
for (var i = 0, ii = candidates.length; i < ii; ++i) {
var candidate = /** @type {Object.<string, Function>} */ (candidates[i]);
if (candidate !== ol.renderer.canvas.ImageLayer && candidate['handles'](ol.renderer.Type.CANVAS, layer)) {
if (candidate !== _ol_renderer_canvas_ImageLayer_ && candidate['handles'](_ol_renderer_Type_.CANVAS, layer)) {
renderer.setVectorRenderer(candidate['create'](mapRenderer, layer));
}
}
@@ -88,7 +89,7 @@ ol.renderer.canvas.ImageLayer['create'] = function(mapRenderer, layer) {
/**
* @inheritDoc
*/
ol.renderer.canvas.ImageLayer.prototype.getImage = function() {
_ol_renderer_canvas_ImageLayer_.prototype.getImage = function() {
return !this.image_ ? null : this.image_.getImage();
};
@@ -96,7 +97,7 @@ ol.renderer.canvas.ImageLayer.prototype.getImage = function() {
/**
* @inheritDoc
*/
ol.renderer.canvas.ImageLayer.prototype.getImageTransform = function() {
_ol_renderer_canvas_ImageLayer_.prototype.getImageTransform = function() {
return this.imageTransform_;
};
@@ -104,7 +105,7 @@ ol.renderer.canvas.ImageLayer.prototype.getImageTransform = function() {
/**
* @inheritDoc
*/
ol.renderer.canvas.ImageLayer.prototype.prepareFrame = function(frameState, layerState) {
_ol_renderer_canvas_ImageLayer_.prototype.prepareFrame = function(frameState, layerState) {
var pixelRatio = frameState.pixelRatio;
var size = frameState.size;
@@ -120,14 +121,14 @@ ol.renderer.canvas.ImageLayer.prototype.prepareFrame = function(frameState, laye
var renderedExtent = frameState.extent;
if (layerState.extent !== undefined) {
renderedExtent = ol.extent.getIntersection(
renderedExtent = _ol_extent_.getIntersection(
renderedExtent, layerState.extent);
}
if (!hints[ol.ViewHint.ANIMATING] && !hints[ol.ViewHint.INTERACTING] &&
!ol.extent.isEmpty(renderedExtent)) {
if (!hints[_ol_ViewHint_.ANIMATING] && !hints[_ol_ViewHint_.INTERACTING] &&
!_ol_extent_.isEmpty(renderedExtent)) {
var projection = viewState.projection;
if (!ol.ENABLE_RASTER_REPROJECTION) {
if (!_ol_.ENABLE_RASTER_REPROJECTION) {
var sourceProjection = imageSource.getProjection();
if (sourceProjection) {
projection = sourceProjection;
@@ -136,23 +137,23 @@ ol.renderer.canvas.ImageLayer.prototype.prepareFrame = function(frameState, laye
var vectorRenderer = this.vectorRenderer_;
if (vectorRenderer) {
var context = vectorRenderer.context;
var imageFrameState = /** @type {olx.FrameState} */ (ol.obj.assign({}, frameState, {
var imageFrameState = /** @type {olx.FrameState} */ (_ol_obj_.assign({}, frameState, {
size: [
ol.extent.getWidth(renderedExtent) / viewResolution,
ol.extent.getHeight(renderedExtent) / viewResolution
_ol_extent_.getWidth(renderedExtent) / viewResolution,
_ol_extent_.getHeight(renderedExtent) / viewResolution
],
viewState: /** @type {olx.ViewState} */ (ol.obj.assign({}, frameState.viewState, {
viewState: /** @type {olx.ViewState} */ (_ol_obj_.assign({}, frameState.viewState, {
rotation: 0
}))
}));
var skippedFeatures = Object.keys(imageFrameState.skippedFeatureUids).sort();
if (vectorRenderer.prepareFrame(imageFrameState, layerState) &&
(vectorRenderer.replayGroupChanged ||
!ol.array.equals(skippedFeatures, this.skippedFeatures_))) {
!_ol_array_.equals(skippedFeatures, this.skippedFeatures_))) {
context.canvas.width = imageFrameState.size[0] * pixelRatio;
context.canvas.height = imageFrameState.size[1] * pixelRatio;
vectorRenderer.composeFrame(imageFrameState, layerState, context);
this.image_ = new ol.ImageCanvas(renderedExtent, viewResolution, pixelRatio, context.canvas);
this.image_ = new _ol_ImageCanvas_(renderedExtent, viewResolution, pixelRatio, context.canvas);
this.skippedFeatures_ = skippedFeatures;
}
} else {
@@ -174,13 +175,13 @@ ol.renderer.canvas.ImageLayer.prototype.prepareFrame = function(frameState, laye
var imagePixelRatio = image.getPixelRatio();
var scale = pixelRatio * imageResolution /
(viewResolution * imagePixelRatio);
var transform = ol.transform.compose(this.imageTransform_,
var transform = _ol_transform_.compose(this.imageTransform_,
pixelRatio * size[0] / 2, pixelRatio * size[1] / 2,
scale, scale,
0,
imagePixelRatio * (imageExtent[0] - viewCenter[0]) / imageResolution,
imagePixelRatio * (viewCenter[1] - imageExtent[3]) / imageResolution);
ol.transform.compose(this.coordinateToCanvasPixelTransform,
_ol_transform_.compose(this.coordinateToCanvasPixelTransform,
pixelRatio * size[0] / 2 - transform[4], pixelRatio * size[1] / 2 - transform[5],
pixelRatio / viewResolution, -pixelRatio / viewResolution,
0,
@@ -197,11 +198,11 @@ ol.renderer.canvas.ImageLayer.prototype.prepareFrame = function(frameState, laye
/**
* @inheritDoc
*/
ol.renderer.canvas.ImageLayer.prototype.forEachFeatureAtCoordinate = function(coordinate, frameState, hitTolerance, callback, thisArg) {
_ol_renderer_canvas_ImageLayer_.prototype.forEachFeatureAtCoordinate = function(coordinate, frameState, hitTolerance, callback, thisArg) {
if (this.vectorRenderer_) {
return this.vectorRenderer_.forEachFeatureAtCoordinate(coordinate, frameState, hitTolerance, callback, thisArg);
} else {
return ol.renderer.canvas.IntermediateCanvas.prototype.forEachFeatureAtCoordinate.call(this, coordinate, frameState, hitTolerance, callback, thisArg);
return _ol_renderer_canvas_IntermediateCanvas_.prototype.forEachFeatureAtCoordinate.call(this, coordinate, frameState, hitTolerance, callback, thisArg);
}
};
@@ -209,6 +210,7 @@ ol.renderer.canvas.ImageLayer.prototype.forEachFeatureAtCoordinate = function(co
/**
* @param {ol.renderer.canvas.VectorLayer} renderer Vector renderer.
*/
ol.renderer.canvas.ImageLayer.prototype.setVectorRenderer = function(renderer) {
_ol_renderer_canvas_ImageLayer_.prototype.setVectorRenderer = function(renderer) {
this.vectorRenderer_ = renderer;
};
export default _ol_renderer_canvas_ImageLayer_;
+27 -25
View File
@@ -1,12 +1,12 @@
goog.provide('ol.renderer.canvas.IntermediateCanvas');
goog.require('ol');
goog.require('ol.coordinate');
goog.require('ol.dom');
goog.require('ol.extent');
goog.require('ol.renderer.canvas.Layer');
goog.require('ol.transform');
/**
* @module ol/renderer/canvas/IntermediateCanvas
*/
import _ol_ from '../../index.js';
import _ol_coordinate_ from '../../coordinate.js';
import _ol_dom_ from '../../dom.js';
import _ol_extent_ from '../../extent.js';
import _ol_renderer_canvas_Layer_ from '../canvas/Layer.js';
import _ol_transform_ from '../../transform.js';
/**
* @constructor
@@ -14,15 +14,15 @@ goog.require('ol.transform');
* @extends {ol.renderer.canvas.Layer}
* @param {ol.layer.Layer} layer Layer.
*/
ol.renderer.canvas.IntermediateCanvas = function(layer) {
var _ol_renderer_canvas_IntermediateCanvas_ = function(layer) {
ol.renderer.canvas.Layer.call(this, layer);
_ol_renderer_canvas_Layer_.call(this, layer);
/**
* @protected
* @type {ol.Transform}
*/
this.coordinateToCanvasPixelTransform = ol.transform.create();
this.coordinateToCanvasPixelTransform = _ol_transform_.create();
/**
* @private
@@ -31,13 +31,14 @@ ol.renderer.canvas.IntermediateCanvas = function(layer) {
this.hitCanvasContext_ = null;
};
ol.inherits(ol.renderer.canvas.IntermediateCanvas, ol.renderer.canvas.Layer);
_ol_.inherits(_ol_renderer_canvas_IntermediateCanvas_, _ol_renderer_canvas_Layer_);
/**
* @inheritDoc
*/
ol.renderer.canvas.IntermediateCanvas.prototype.composeFrame = function(frameState, layerState, context) {
_ol_renderer_canvas_IntermediateCanvas_.prototype.composeFrame = function(frameState, layerState, context) {
this.preCompose(context, frameState);
@@ -47,8 +48,8 @@ ol.renderer.canvas.IntermediateCanvas.prototype.composeFrame = function(frameSta
// clipped rendering if layer extent is set
var extent = layerState.extent;
var clipped = extent !== undefined &&
!ol.extent.containsExtent(extent, frameState.extent) &&
ol.extent.intersects(extent, frameState.extent);
!_ol_extent_.containsExtent(extent, frameState.extent) &&
_ol_extent_.intersects(extent, frameState.extent);
if (clipped) {
this.clip(context, frameState, /** @type {ol.Extent} */ (extent));
}
@@ -83,20 +84,20 @@ ol.renderer.canvas.IntermediateCanvas.prototype.composeFrame = function(frameSta
* @abstract
* @return {HTMLCanvasElement|HTMLVideoElement|Image} Canvas.
*/
ol.renderer.canvas.IntermediateCanvas.prototype.getImage = function() {};
_ol_renderer_canvas_IntermediateCanvas_.prototype.getImage = function() {};
/**
* @abstract
* @return {!ol.Transform} Image transform.
*/
ol.renderer.canvas.IntermediateCanvas.prototype.getImageTransform = function() {};
_ol_renderer_canvas_IntermediateCanvas_.prototype.getImageTransform = function() {};
/**
* @inheritDoc
*/
ol.renderer.canvas.IntermediateCanvas.prototype.forEachFeatureAtCoordinate = function(coordinate, frameState, hitTolerance, callback, thisArg) {
_ol_renderer_canvas_IntermediateCanvas_.prototype.forEachFeatureAtCoordinate = function(coordinate, frameState, hitTolerance, callback, thisArg) {
var layer = this.getLayer();
var source = layer.getSource();
var resolution = frameState.viewState.resolution;
@@ -117,21 +118,21 @@ ol.renderer.canvas.IntermediateCanvas.prototype.forEachFeatureAtCoordinate = fun
/**
* @inheritDoc
*/
ol.renderer.canvas.IntermediateCanvas.prototype.forEachLayerAtCoordinate = function(coordinate, frameState, callback, thisArg) {
_ol_renderer_canvas_IntermediateCanvas_.prototype.forEachLayerAtCoordinate = function(coordinate, frameState, callback, thisArg) {
if (!this.getImage()) {
return undefined;
}
if (this.getLayer().getSource().forEachFeatureAtCoordinate !== ol.nullFunction) {
if (this.getLayer().getSource().forEachFeatureAtCoordinate !== _ol_.nullFunction) {
// for ImageCanvas sources use the original hit-detection logic,
// so that for example also transparent polygons are detected
return ol.renderer.canvas.Layer.prototype.forEachLayerAtCoordinate.apply(this, arguments);
return _ol_renderer_canvas_Layer_.prototype.forEachLayerAtCoordinate.apply(this, arguments);
} else {
var pixel = ol.transform.apply(this.coordinateToCanvasPixelTransform, coordinate.slice());
ol.coordinate.scale(pixel, frameState.viewState.resolution / this.renderedResolution);
var pixel = _ol_transform_.apply(this.coordinateToCanvasPixelTransform, coordinate.slice());
_ol_coordinate_.scale(pixel, frameState.viewState.resolution / this.renderedResolution);
if (!this.hitCanvasContext_) {
this.hitCanvasContext_ = ol.dom.createCanvasContext2D(1, 1);
this.hitCanvasContext_ = _ol_dom_.createCanvasContext2D(1, 1);
}
this.hitCanvasContext_.clearRect(0, 0, 1, 1);
@@ -145,3 +146,4 @@ ol.renderer.canvas.IntermediateCanvas.prototype.forEachLayerAtCoordinate = funct
}
}
};
export default _ol_renderer_canvas_IntermediateCanvas_;
+46 -44
View File
@@ -1,15 +1,15 @@
goog.provide('ol.renderer.canvas.Layer');
goog.require('ol');
goog.require('ol.extent');
goog.require('ol.functions');
goog.require('ol.render.Event');
goog.require('ol.render.EventType');
goog.require('ol.render.canvas');
goog.require('ol.render.canvas.Immediate');
goog.require('ol.renderer.Layer');
goog.require('ol.transform');
/**
* @module ol/renderer/canvas/Layer
*/
import _ol_ from '../../index.js';
import _ol_extent_ from '../../extent.js';
import _ol_functions_ from '../../functions.js';
import _ol_render_Event_ from '../../render/Event.js';
import _ol_render_EventType_ from '../../render/EventType.js';
import _ol_render_canvas_ from '../../render/canvas.js';
import _ol_render_canvas_Immediate_ from '../../render/canvas/Immediate.js';
import _ol_renderer_Layer_ from '../Layer.js';
import _ol_transform_ from '../../transform.js';
/**
* @constructor
@@ -17,9 +17,9 @@ goog.require('ol.transform');
* @extends {ol.renderer.Layer}
* @param {ol.layer.Layer} layer Layer.
*/
ol.renderer.canvas.Layer = function(layer) {
var _ol_renderer_canvas_Layer_ = function(layer) {
ol.renderer.Layer.call(this, layer);
_ol_renderer_Layer_.call(this, layer);
/**
* @protected
@@ -31,10 +31,11 @@ ol.renderer.canvas.Layer = function(layer) {
* @private
* @type {ol.Transform}
*/
this.transform_ = ol.transform.create();
this.transform_ = _ol_transform_.create();
};
ol.inherits(ol.renderer.canvas.Layer, ol.renderer.Layer);
_ol_.inherits(_ol_renderer_canvas_Layer_, _ol_renderer_Layer_);
/**
@@ -43,30 +44,30 @@ ol.inherits(ol.renderer.canvas.Layer, ol.renderer.Layer);
* @param {ol.Extent} extent Clip extent.
* @protected
*/
ol.renderer.canvas.Layer.prototype.clip = function(context, frameState, extent) {
_ol_renderer_canvas_Layer_.prototype.clip = function(context, frameState, extent) {
var pixelRatio = frameState.pixelRatio;
var width = frameState.size[0] * pixelRatio;
var height = frameState.size[1] * pixelRatio;
var rotation = frameState.viewState.rotation;
var topLeft = ol.extent.getTopLeft(/** @type {ol.Extent} */ (extent));
var topRight = ol.extent.getTopRight(/** @type {ol.Extent} */ (extent));
var bottomRight = ol.extent.getBottomRight(/** @type {ol.Extent} */ (extent));
var bottomLeft = ol.extent.getBottomLeft(/** @type {ol.Extent} */ (extent));
var topLeft = _ol_extent_.getTopLeft(/** @type {ol.Extent} */ (extent));
var topRight = _ol_extent_.getTopRight(/** @type {ol.Extent} */ (extent));
var bottomRight = _ol_extent_.getBottomRight(/** @type {ol.Extent} */ (extent));
var bottomLeft = _ol_extent_.getBottomLeft(/** @type {ol.Extent} */ (extent));
ol.transform.apply(frameState.coordinateToPixelTransform, topLeft);
ol.transform.apply(frameState.coordinateToPixelTransform, topRight);
ol.transform.apply(frameState.coordinateToPixelTransform, bottomRight);
ol.transform.apply(frameState.coordinateToPixelTransform, bottomLeft);
_ol_transform_.apply(frameState.coordinateToPixelTransform, topLeft);
_ol_transform_.apply(frameState.coordinateToPixelTransform, topRight);
_ol_transform_.apply(frameState.coordinateToPixelTransform, bottomRight);
_ol_transform_.apply(frameState.coordinateToPixelTransform, bottomLeft);
context.save();
ol.render.canvas.rotateAtOffset(context, -rotation, width / 2, height / 2);
_ol_render_canvas_.rotateAtOffset(context, -rotation, width / 2, height / 2);
context.beginPath();
context.moveTo(topLeft[0] * pixelRatio, topLeft[1] * pixelRatio);
context.lineTo(topRight[0] * pixelRatio, topRight[1] * pixelRatio);
context.lineTo(bottomRight[0] * pixelRatio, bottomRight[1] * pixelRatio);
context.lineTo(bottomLeft[0] * pixelRatio, bottomLeft[1] * pixelRatio);
context.clip();
ol.render.canvas.rotateAtOffset(context, rotation, width / 2, height / 2);
_ol_render_canvas_.rotateAtOffset(context, rotation, width / 2, height / 2);
};
@@ -77,22 +78,22 @@ ol.renderer.canvas.Layer.prototype.clip = function(context, frameState, extent)
* @param {ol.Transform=} opt_transform Transform.
* @private
*/
ol.renderer.canvas.Layer.prototype.dispatchComposeEvent_ = function(type, context, frameState, opt_transform) {
_ol_renderer_canvas_Layer_.prototype.dispatchComposeEvent_ = function(type, context, frameState, opt_transform) {
var layer = this.getLayer();
if (layer.hasListener(type)) {
var width = frameState.size[0] * frameState.pixelRatio;
var height = frameState.size[1] * frameState.pixelRatio;
var rotation = frameState.viewState.rotation;
ol.render.canvas.rotateAtOffset(context, -rotation, width / 2, height / 2);
_ol_render_canvas_.rotateAtOffset(context, -rotation, width / 2, height / 2);
var transform = opt_transform !== undefined ?
opt_transform : this.getTransform(frameState, 0);
var render = new ol.render.canvas.Immediate(
var render = new _ol_render_canvas_Immediate_(
context, frameState.pixelRatio, frameState.extent, transform,
frameState.viewState.rotation);
var composeEvent = new ol.render.Event(type, render, frameState,
var composeEvent = new _ol_render_Event_(type, render, frameState,
context, null);
layer.dispatchEvent(composeEvent);
ol.render.canvas.rotateAtOffset(context, rotation, width / 2, height / 2);
_ol_render_canvas_.rotateAtOffset(context, rotation, width / 2, height / 2);
}
};
@@ -106,9 +107,9 @@ ol.renderer.canvas.Layer.prototype.dispatchComposeEvent_ = function(type, contex
* @return {T|undefined} Callback result.
* @template S,T,U
*/
ol.renderer.canvas.Layer.prototype.forEachLayerAtCoordinate = function(coordinate, frameState, callback, thisArg) {
_ol_renderer_canvas_Layer_.prototype.forEachLayerAtCoordinate = function(coordinate, frameState, callback, thisArg) {
var hasFeature = this.forEachFeatureAtCoordinate(
coordinate, frameState, 0, ol.functions.TRUE, this);
coordinate, frameState, 0, _ol_functions_.TRUE, this);
if (hasFeature) {
return callback.call(thisArg, this.getLayer(), null);
@@ -125,8 +126,8 @@ ol.renderer.canvas.Layer.prototype.forEachLayerAtCoordinate = function(coordinat
* @param {ol.Transform=} opt_transform Transform.
* @protected
*/
ol.renderer.canvas.Layer.prototype.postCompose = function(context, frameState, layerState, opt_transform) {
this.dispatchComposeEvent_(ol.render.EventType.POSTCOMPOSE, context,
_ol_renderer_canvas_Layer_.prototype.postCompose = function(context, frameState, layerState, opt_transform) {
this.dispatchComposeEvent_(_ol_render_EventType_.POSTCOMPOSE, context,
frameState, opt_transform);
};
@@ -137,8 +138,8 @@ ol.renderer.canvas.Layer.prototype.postCompose = function(context, frameState, l
* @param {ol.Transform=} opt_transform Transform.
* @protected
*/
ol.renderer.canvas.Layer.prototype.preCompose = function(context, frameState, opt_transform) {
this.dispatchComposeEvent_(ol.render.EventType.PRECOMPOSE, context,
_ol_renderer_canvas_Layer_.prototype.preCompose = function(context, frameState, opt_transform) {
this.dispatchComposeEvent_(_ol_render_EventType_.PRECOMPOSE, context,
frameState, opt_transform);
};
@@ -149,8 +150,8 @@ ol.renderer.canvas.Layer.prototype.preCompose = function(context, frameState, op
* @param {ol.Transform=} opt_transform Transform.
* @protected
*/
ol.renderer.canvas.Layer.prototype.dispatchRenderEvent = function(context, frameState, opt_transform) {
this.dispatchComposeEvent_(ol.render.EventType.RENDER, context,
_ol_renderer_canvas_Layer_.prototype.dispatchRenderEvent = function(context, frameState, opt_transform) {
this.dispatchComposeEvent_(_ol_render_EventType_.RENDER, context,
frameState, opt_transform);
};
@@ -161,7 +162,7 @@ ol.renderer.canvas.Layer.prototype.dispatchRenderEvent = function(context, frame
* @protected
* @return {!ol.Transform} Transform.
*/
ol.renderer.canvas.Layer.prototype.getTransform = function(frameState, offsetX) {
_ol_renderer_canvas_Layer_.prototype.getTransform = function(frameState, offsetX) {
var viewState = frameState.viewState;
var pixelRatio = frameState.pixelRatio;
var dx1 = pixelRatio * frameState.size[0] / 2;
@@ -171,7 +172,7 @@ ol.renderer.canvas.Layer.prototype.getTransform = function(frameState, offsetX)
var angle = -viewState.rotation;
var dx2 = -viewState.center[0] + offsetX;
var dy2 = -viewState.center[1];
return ol.transform.compose(this.transform_, dx1, dy1, sx, sy, angle, dx2, dy2);
return _ol_transform_.compose(this.transform_, dx1, dy1, sx, sy, angle, dx2, dy2);
};
@@ -181,7 +182,7 @@ ol.renderer.canvas.Layer.prototype.getTransform = function(frameState, offsetX)
* @param {ol.LayerState} layerState Layer state.
* @param {CanvasRenderingContext2D} context Context.
*/
ol.renderer.canvas.Layer.prototype.composeFrame = function(frameState, layerState, context) {};
_ol_renderer_canvas_Layer_.prototype.composeFrame = function(frameState, layerState, context) {};
/**
* @abstract
@@ -189,4 +190,5 @@ ol.renderer.canvas.Layer.prototype.composeFrame = function(frameState, layerStat
* @param {ol.LayerState} layerState Layer state.
* @return {boolean} whether composeFrame should be called.
*/
ol.renderer.canvas.Layer.prototype.prepareFrame = function(frameState, layerState) {};
_ol_renderer_canvas_Layer_.prototype.prepareFrame = function(frameState, layerState) {};
export default _ol_renderer_canvas_Layer_;
+45 -43
View File
@@ -1,21 +1,21 @@
/**
* @module ol/renderer/canvas/Map
*/
// FIXME offset panning
goog.provide('ol.renderer.canvas.Map');
goog.require('ol.transform');
goog.require('ol');
goog.require('ol.array');
goog.require('ol.css');
goog.require('ol.dom');
goog.require('ol.layer.Layer');
goog.require('ol.render.Event');
goog.require('ol.render.EventType');
goog.require('ol.render.canvas');
goog.require('ol.render.canvas.Immediate');
goog.require('ol.renderer.Map');
goog.require('ol.renderer.Type');
goog.require('ol.source.State');
import _ol_transform_ from '../../transform.js';
import _ol_ from '../../index.js';
import _ol_array_ from '../../array.js';
import _ol_css_ from '../../css.js';
import _ol_dom_ from '../../dom.js';
import _ol_layer_Layer_ from '../../layer/Layer.js';
import _ol_render_Event_ from '../../render/Event.js';
import _ol_render_EventType_ from '../../render/EventType.js';
import _ol_render_canvas_ from '../../render/canvas.js';
import _ol_render_canvas_Immediate_ from '../../render/canvas/Immediate.js';
import _ol_renderer_Map_ from '../Map.js';
import _ol_renderer_Type_ from '../Type.js';
import _ol_source_State_ from '../../source/State.js';
/**
* @constructor
@@ -24,15 +24,15 @@ goog.require('ol.source.State');
* @param {ol.PluggableMap} map Map.
* @api
*/
ol.renderer.canvas.Map = function(container, map) {
var _ol_renderer_canvas_Map_ = function(container, map) {
ol.renderer.Map.call(this, container, map);
_ol_renderer_Map_.call(this, container, map);
/**
* @private
* @type {CanvasRenderingContext2D}
*/
this.context_ = ol.dom.createCanvasContext2D();
this.context_ = _ol_dom_.createCanvasContext2D();
/**
* @private
@@ -43,7 +43,7 @@ ol.renderer.canvas.Map = function(container, map) {
this.canvas_.style.width = '100%';
this.canvas_.style.height = '100%';
this.canvas_.style.display = 'block';
this.canvas_.className = ol.css.CLASS_UNSELECTABLE;
this.canvas_.className = _ol_css_.CLASS_UNSELECTABLE;
container.insertBefore(this.canvas_, container.childNodes[0] || null);
/**
@@ -56,10 +56,11 @@ ol.renderer.canvas.Map = function(container, map) {
* @private
* @type {ol.Transform}
*/
this.transform_ = ol.transform.create();
this.transform_ = _ol_transform_.create();
};
ol.inherits(ol.renderer.canvas.Map, ol.renderer.Map);
_ol_.inherits(_ol_renderer_canvas_Map_, _ol_renderer_Map_);
/**
@@ -67,8 +68,8 @@ ol.inherits(ol.renderer.canvas.Map, ol.renderer.Map);
* @param {ol.renderer.Type} type The renderer type.
* @return {boolean} The renderer can render the layer.
*/
ol.renderer.canvas.Map['handles'] = function(type) {
return type === ol.renderer.Type.CANVAS;
_ol_renderer_canvas_Map_['handles'] = function(type) {
return type === _ol_renderer_Type_.CANVAS;
};
@@ -78,8 +79,8 @@ ol.renderer.canvas.Map['handles'] = function(type) {
* @param {ol.PluggableMap} map Map.
* @return {ol.renderer.canvas.Map} The map renderer.
*/
ol.renderer.canvas.Map['create'] = function(container, map) {
return new ol.renderer.canvas.Map(container, map);
_ol_renderer_canvas_Map_['create'] = function(container, map) {
return new _ol_renderer_canvas_Map_(container, map);
};
@@ -88,7 +89,7 @@ ol.renderer.canvas.Map['create'] = function(container, map) {
* @param {olx.FrameState} frameState Frame state.
* @private
*/
ol.renderer.canvas.Map.prototype.dispatchComposeEvent_ = function(type, frameState) {
_ol_renderer_canvas_Map_.prototype.dispatchComposeEvent_ = function(type, frameState) {
var map = this.getMap();
var context = this.context_;
if (map.hasListener(type)) {
@@ -99,9 +100,9 @@ ol.renderer.canvas.Map.prototype.dispatchComposeEvent_ = function(type, frameSta
var transform = this.getTransform(frameState);
var vectorContext = new ol.render.canvas.Immediate(context, pixelRatio,
var vectorContext = new _ol_render_canvas_Immediate_(context, pixelRatio,
extent, transform, rotation);
var composeEvent = new ol.render.Event(type, vectorContext,
var composeEvent = new _ol_render_Event_(type, vectorContext,
frameState, context, null);
map.dispatchEvent(composeEvent);
}
@@ -113,7 +114,7 @@ ol.renderer.canvas.Map.prototype.dispatchComposeEvent_ = function(type, frameSta
* @protected
* @return {!ol.Transform} Transform.
*/
ol.renderer.canvas.Map.prototype.getTransform = function(frameState) {
_ol_renderer_canvas_Map_.prototype.getTransform = function(frameState) {
var viewState = frameState.viewState;
var dx1 = this.canvas_.width / 2;
var dy1 = this.canvas_.height / 2;
@@ -122,22 +123,22 @@ ol.renderer.canvas.Map.prototype.getTransform = function(frameState) {
var angle = -viewState.rotation;
var dx2 = -viewState.center[0];
var dy2 = -viewState.center[1];
return ol.transform.compose(this.transform_, dx1, dy1, sx, sy, angle, dx2, dy2);
return _ol_transform_.compose(this.transform_, dx1, dy1, sx, sy, angle, dx2, dy2);
};
/**
* @inheritDoc
*/
ol.renderer.canvas.Map.prototype.getType = function() {
return ol.renderer.Type.CANVAS;
_ol_renderer_canvas_Map_.prototype.getType = function() {
return _ol_renderer_Type_.CANVAS;
};
/**
* @inheritDoc
*/
ol.renderer.canvas.Map.prototype.renderFrame = function(frameState) {
_ol_renderer_canvas_Map_.prototype.renderFrame = function(frameState) {
if (!frameState) {
if (this.renderedVisible_) {
@@ -162,14 +163,14 @@ ol.renderer.canvas.Map.prototype.renderFrame = function(frameState) {
this.calculateMatrices2D(frameState);
this.dispatchComposeEvent_(ol.render.EventType.PRECOMPOSE, frameState);
this.dispatchComposeEvent_(_ol_render_EventType_.PRECOMPOSE, frameState);
var layerStatesArray = frameState.layerStatesArray;
ol.array.stableSort(layerStatesArray, ol.renderer.Map.sortByZIndex);
_ol_array_.stableSort(layerStatesArray, _ol_renderer_Map_.sortByZIndex);
if (rotation) {
context.save();
ol.render.canvas.rotateAtOffset(context, rotation, width / 2, height / 2);
_ol_render_canvas_.rotateAtOffset(context, rotation, width / 2, height / 2);
}
var viewResolution = frameState.viewState.resolution;
@@ -178,8 +179,8 @@ ol.renderer.canvas.Map.prototype.renderFrame = function(frameState) {
layerState = layerStatesArray[i];
layer = layerState.layer;
layerRenderer = /** @type {ol.renderer.canvas.Layer} */ (this.getLayerRenderer(layer));
if (!ol.layer.Layer.visibleAtResolution(layerState, viewResolution) ||
layerState.sourceState != ol.source.State.READY) {
if (!_ol_layer_Layer_.visibleAtResolution(layerState, viewResolution) ||
layerState.sourceState != _ol_source_State_.READY) {
continue;
}
if (layerRenderer.prepareFrame(frameState, layerState)) {
@@ -192,7 +193,7 @@ ol.renderer.canvas.Map.prototype.renderFrame = function(frameState) {
}
this.dispatchComposeEvent_(
ol.render.EventType.POSTCOMPOSE, frameState);
_ol_render_EventType_.POSTCOMPOSE, frameState);
if (!this.renderedVisible_) {
this.canvas_.style.display = '';
@@ -207,7 +208,7 @@ ol.renderer.canvas.Map.prototype.renderFrame = function(frameState) {
/**
* @inheritDoc
*/
ol.renderer.canvas.Map.prototype.forEachLayerAtPixel = function(pixel, frameState, callback, thisArg,
_ol_renderer_canvas_Map_.prototype.forEachLayerAtPixel = function(pixel, frameState, callback, thisArg,
layerFilter, thisArg2) {
var result;
var viewState = frameState.viewState;
@@ -216,14 +217,14 @@ ol.renderer.canvas.Map.prototype.forEachLayerAtPixel = function(pixel, frameStat
var layerStates = frameState.layerStatesArray;
var numLayers = layerStates.length;
var coordinate = ol.transform.apply(
var coordinate = _ol_transform_.apply(
frameState.pixelToCoordinateTransform, pixel.slice());
var i;
for (i = numLayers - 1; i >= 0; --i) {
var layerState = layerStates[i];
var layer = layerState.layer;
if (ol.layer.Layer.visibleAtResolution(layerState, viewResolution) &&
if (_ol_layer_Layer_.visibleAtResolution(layerState, viewResolution) &&
layerFilter.call(thisArg2, layer)) {
var layerRenderer = /** @type {ol.renderer.canvas.Layer} */ (this.getLayerRenderer(layer));
result = layerRenderer.forEachLayerAtCoordinate(
@@ -235,3 +236,4 @@ ol.renderer.canvas.Map.prototype.forEachLayerAtPixel = function(pixel, frameStat
}
return undefined;
};
export default _ol_renderer_canvas_Map_;
+47 -45
View File
@@ -1,16 +1,16 @@
goog.provide('ol.renderer.canvas.TileLayer');
goog.require('ol');
goog.require('ol.LayerType');
goog.require('ol.TileRange');
goog.require('ol.TileState');
goog.require('ol.ViewHint');
goog.require('ol.dom');
goog.require('ol.extent');
goog.require('ol.renderer.Type');
goog.require('ol.renderer.canvas.IntermediateCanvas');
goog.require('ol.transform');
/**
* @module ol/renderer/canvas/TileLayer
*/
import _ol_ from '../../index.js';
import _ol_LayerType_ from '../../LayerType.js';
import _ol_TileRange_ from '../../TileRange.js';
import _ol_TileState_ from '../../TileState.js';
import _ol_ViewHint_ from '../../ViewHint.js';
import _ol_dom_ from '../../dom.js';
import _ol_extent_ from '../../extent.js';
import _ol_renderer_Type_ from '../Type.js';
import _ol_renderer_canvas_IntermediateCanvas_ from '../canvas/IntermediateCanvas.js';
import _ol_transform_ from '../../transform.js';
/**
* @constructor
@@ -18,15 +18,15 @@ goog.require('ol.transform');
* @param {ol.layer.Tile|ol.layer.VectorTile} tileLayer Tile layer.
* @api
*/
ol.renderer.canvas.TileLayer = function(tileLayer) {
var _ol_renderer_canvas_TileLayer_ = function(tileLayer) {
ol.renderer.canvas.IntermediateCanvas.call(this, tileLayer);
_ol_renderer_canvas_IntermediateCanvas_.call(this, tileLayer);
/**
* @protected
* @type {CanvasRenderingContext2D}
*/
this.context = this.context === null ? null : ol.dom.createCanvasContext2D();
this.context = this.context === null ? null : _ol_dom_.createCanvasContext2D();
/**
* @private
@@ -56,19 +56,19 @@ ol.renderer.canvas.TileLayer = function(tileLayer) {
* @protected
* @type {ol.Extent}
*/
this.tmpExtent = ol.extent.createEmpty();
this.tmpExtent = _ol_extent_.createEmpty();
/**
* @private
* @type {ol.TileRange}
*/
this.tmpTileRange_ = new ol.TileRange(0, 0, 0, 0);
this.tmpTileRange_ = new _ol_TileRange_(0, 0, 0, 0);
/**
* @private
* @type {ol.Transform}
*/
this.imageTransform_ = ol.transform.create();
this.imageTransform_ = _ol_transform_.create();
/**
* @protected
@@ -77,7 +77,8 @@ ol.renderer.canvas.TileLayer = function(tileLayer) {
this.zDirection = 0;
};
ol.inherits(ol.renderer.canvas.TileLayer, ol.renderer.canvas.IntermediateCanvas);
_ol_.inherits(_ol_renderer_canvas_TileLayer_, _ol_renderer_canvas_IntermediateCanvas_);
/**
@@ -86,8 +87,8 @@ ol.inherits(ol.renderer.canvas.TileLayer, ol.renderer.canvas.IntermediateCanvas)
* @param {ol.layer.Layer} layer The candidate layer.
* @return {boolean} The renderer can render the layer.
*/
ol.renderer.canvas.TileLayer['handles'] = function(type, layer) {
return type === ol.renderer.Type.CANVAS && layer.getType() === ol.LayerType.TILE;
_ol_renderer_canvas_TileLayer_['handles'] = function(type, layer) {
return type === _ol_renderer_Type_.CANVAS && layer.getType() === _ol_LayerType_.TILE;
};
@@ -97,8 +98,8 @@ ol.renderer.canvas.TileLayer['handles'] = function(type, layer) {
* @param {ol.layer.Layer} layer The layer to be rendererd.
* @return {ol.renderer.canvas.TileLayer} The layer renderer.
*/
ol.renderer.canvas.TileLayer['create'] = function(mapRenderer, layer) {
return new ol.renderer.canvas.TileLayer(/** @type {ol.layer.Tile} */ (layer));
_ol_renderer_canvas_TileLayer_['create'] = function(mapRenderer, layer) {
return new _ol_renderer_canvas_TileLayer_(/** @type {ol.layer.Tile} */ (layer));
};
@@ -107,18 +108,18 @@ ol.renderer.canvas.TileLayer['create'] = function(mapRenderer, layer) {
* @param {ol.Tile} tile Tile.
* @return {boolean} Tile is drawable.
*/
ol.renderer.canvas.TileLayer.prototype.isDrawableTile_ = function(tile) {
_ol_renderer_canvas_TileLayer_.prototype.isDrawableTile_ = function(tile) {
var tileState = tile.getState();
var useInterimTilesOnError = this.getLayer().getUseInterimTilesOnError();
return tileState == ol.TileState.LOADED ||
tileState == ol.TileState.EMPTY ||
tileState == ol.TileState.ERROR && !useInterimTilesOnError;
return tileState == _ol_TileState_.LOADED ||
tileState == _ol_TileState_.EMPTY ||
tileState == _ol_TileState_.ERROR && !useInterimTilesOnError;
};
/**
* @inheritDoc
*/
ol.renderer.canvas.TileLayer.prototype.prepareFrame = function(frameState, layerState) {
_ol_renderer_canvas_TileLayer_.prototype.prepareFrame = function(frameState, layerState) {
var pixelRatio = frameState.pixelRatio;
var size = frameState.size;
@@ -137,9 +138,9 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = function(frameState, layer
var extent = frameState.extent;
if (layerState.extent !== undefined) {
extent = ol.extent.getIntersection(extent, layerState.extent);
extent = _ol_extent_.getIntersection(extent, layerState.extent);
}
if (ol.extent.isEmpty(extent)) {
if (_ol_extent_.isEmpty(extent)) {
// Return false to prevent the rendering of the layer.
return false;
}
@@ -165,10 +166,10 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = function(frameState, layer
for (x = tileRange.minX; x <= tileRange.maxX; ++x) {
for (y = tileRange.minY; y <= tileRange.maxY; ++y) {
tile = tileSource.getTile(z, x, y, pixelRatio, projection);
if (tile.getState() == ol.TileState.ERROR) {
if (tile.getState() == _ol_TileState_.ERROR) {
if (!tileLayer.getUseInterimTilesOnError()) {
// When useInterimTilesOnError is false, we consider the error tile as loaded.
tile.setState(ol.TileState.LOADED);
tile.setState(_ol_TileState_.LOADED);
} else if (tileLayer.getPreload() > 0) {
// Preloaded tiles for lower resolutions might have finished loading.
newTiles = true;
@@ -178,8 +179,8 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = function(frameState, layer
tile = tile.getInterimTile();
}
if (this.isDrawableTile_(tile)) {
var uid = ol.getUid(this);
if (tile.getState() == ol.TileState.LOADED) {
var uid = _ol_.getUid(this);
if (tile.getState() == _ol_TileState_.LOADED) {
tilesToDrawByZ[z][tile.tileCoord.toString()] = tile;
var inTransition = tile.inTransition(uid);
if (!newTiles && (inTransition || this.renderedTiles.indexOf(tile) === -1)) {
@@ -208,10 +209,10 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = function(frameState, layer
var renderedResolution = tileResolution * pixelRatio / tilePixelRatio * oversampling;
var hints = frameState.viewHints;
var animatingOrInteracting = hints[ol.ViewHint.ANIMATING] || hints[ol.ViewHint.INTERACTING];
var animatingOrInteracting = hints[_ol_ViewHint_.ANIMATING] || hints[_ol_ViewHint_.INTERACTING];
if (!(this.renderedResolution && Date.now() - frameState.time > 16 && animatingOrInteracting) && (
newTiles ||
!(this.renderedExtent_ && ol.extent.containsExtent(this.renderedExtent_, extent)) ||
!(this.renderedExtent_ && _ol_extent_.containsExtent(this.renderedExtent_, extent)) ||
this.renderedRevision != sourceRevision ||
oversampling != this.oversampling_ ||
!animatingOrInteracting && renderedResolution != this.renderedResolution
@@ -228,7 +229,7 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = function(frameState, layer
canvas.width = width;
canvas.height = height;
} else {
if (this.renderedExtent_ && !ol.extent.equals(imageExtent, this.renderedExtent_)) {
if (this.renderedExtent_ && !_ol_extent_.equals(imageExtent, this.renderedExtent_)) {
context.clearRect(0, 0, width, height);
}
oversampling = this.oversampling_;
@@ -274,13 +275,13 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = function(frameState, layer
}
var scale = this.renderedResolution / viewResolution;
var transform = ol.transform.compose(this.imageTransform_,
var transform = _ol_transform_.compose(this.imageTransform_,
pixelRatio * size[0] / 2, pixelRatio * size[1] / 2,
scale, scale,
0,
(this.renderedExtent_[0] - viewCenter[0]) / this.renderedResolution * pixelRatio,
(viewCenter[1] - this.renderedExtent_[3]) / this.renderedResolution * pixelRatio);
ol.transform.compose(this.coordinateToCanvasPixelTransform,
_ol_transform_.compose(this.coordinateToCanvasPixelTransform,
pixelRatio * size[0] / 2 - transform[4], pixelRatio * size[1] / 2 - transform[5],
pixelRatio / viewResolution, -pixelRatio / viewResolution,
0,
@@ -308,12 +309,12 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = function(frameState, layer
* @param {number} gutter Tile gutter.
* @param {boolean} transition Apply an alpha transition.
*/
ol.renderer.canvas.TileLayer.prototype.drawTileImage = function(tile, frameState, layerState, x, y, w, h, gutter, transition) {
_ol_renderer_canvas_TileLayer_.prototype.drawTileImage = function(tile, frameState, layerState, x, y, w, h, gutter, transition) {
var image = tile.getImage(this.getLayer());
if (!image) {
return;
}
var uid = ol.getUid(this);
var uid = _ol_.getUid(this);
var alpha = transition ? tile.getAlpha(uid, frameState.time) : 1;
if (alpha === 1 && !this.getLayer().getSource().getOpaque(frameState.viewState.projection)) {
this.context.clearRect(x, y, w, h);
@@ -340,7 +341,7 @@ ol.renderer.canvas.TileLayer.prototype.drawTileImage = function(tile, frameState
/**
* @inheritDoc
*/
ol.renderer.canvas.TileLayer.prototype.getImage = function() {
_ol_renderer_canvas_TileLayer_.prototype.getImage = function() {
var context = this.context;
return context ? context.canvas : null;
};
@@ -350,12 +351,13 @@ ol.renderer.canvas.TileLayer.prototype.getImage = function() {
* @function
* @return {ol.layer.Tile|ol.layer.VectorTile}
*/
ol.renderer.canvas.TileLayer.prototype.getLayer;
_ol_renderer_canvas_TileLayer_.prototype.getLayer;
/**
* @inheritDoc
*/
ol.renderer.canvas.TileLayer.prototype.getImageTransform = function() {
_ol_renderer_canvas_TileLayer_.prototype.getImageTransform = function() {
return this.imageTransform_;
};
export default _ol_renderer_canvas_TileLayer_;
+59 -57
View File
@@ -1,20 +1,20 @@
goog.provide('ol.renderer.canvas.VectorLayer');
goog.require('ol');
goog.require('ol.LayerType');
goog.require('ol.ViewHint');
goog.require('ol.dom');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.ext.rbush');
goog.require('ol.extent');
goog.require('ol.render.EventType');
goog.require('ol.render.canvas');
goog.require('ol.render.canvas.ReplayGroup');
goog.require('ol.renderer.Type');
goog.require('ol.renderer.canvas.Layer');
goog.require('ol.renderer.vector');
/**
* @module ol/renderer/canvas/VectorLayer
*/
import _ol_ from '../../index.js';
import _ol_LayerType_ from '../../LayerType.js';
import _ol_ViewHint_ from '../../ViewHint.js';
import _ol_dom_ from '../../dom.js';
import _ol_events_ from '../../events.js';
import _ol_events_EventType_ from '../../events/EventType.js';
import _ol_ext_rbush_ from 'rbush';
import _ol_extent_ from '../../extent.js';
import _ol_render_EventType_ from '../../render/EventType.js';
import _ol_render_canvas_ from '../../render/canvas.js';
import _ol_render_canvas_ReplayGroup_ from '../../render/canvas/ReplayGroup.js';
import _ol_renderer_Type_ from '../Type.js';
import _ol_renderer_canvas_Layer_ from '../canvas/Layer.js';
import _ol_renderer_vector_ from '../vector.js';
/**
* @constructor
@@ -22,16 +22,16 @@ goog.require('ol.renderer.vector');
* @param {ol.layer.Vector} vectorLayer Vector layer.
* @api
*/
ol.renderer.canvas.VectorLayer = function(vectorLayer) {
var _ol_renderer_canvas_VectorLayer_ = function(vectorLayer) {
ol.renderer.canvas.Layer.call(this, vectorLayer);
_ol_renderer_canvas_Layer_.call(this, vectorLayer);
/**
* Declutter tree.
* @private
*/
this.declutterTree_ = vectorLayer.getDeclutter() ?
ol.ext.rbush(9) : null;
_ol_ext_rbush_(9) : null;
/**
* @private
@@ -55,7 +55,7 @@ ol.renderer.canvas.VectorLayer = function(vectorLayer) {
* @private
* @type {ol.Extent}
*/
this.renderedExtent_ = ol.extent.createEmpty();
this.renderedExtent_ = _ol_extent_.createEmpty();
/**
* @private
@@ -78,12 +78,13 @@ ol.renderer.canvas.VectorLayer = function(vectorLayer) {
/**
* @type {CanvasRenderingContext2D}
*/
this.context = ol.dom.createCanvasContext2D();
this.context = _ol_dom_.createCanvasContext2D();
ol.events.listen(ol.render.canvas.labelCache, ol.events.EventType.CLEAR, this.handleFontsChanged_, this);
_ol_events_.listen(_ol_render_canvas_.labelCache, _ol_events_EventType_.CLEAR, this.handleFontsChanged_, this);
};
ol.inherits(ol.renderer.canvas.VectorLayer, ol.renderer.canvas.Layer);
_ol_.inherits(_ol_renderer_canvas_VectorLayer_, _ol_renderer_canvas_Layer_);
/**
@@ -92,8 +93,8 @@ ol.inherits(ol.renderer.canvas.VectorLayer, ol.renderer.canvas.Layer);
* @param {ol.layer.Layer} layer The candidate layer.
* @return {boolean} The renderer can render the layer.
*/
ol.renderer.canvas.VectorLayer['handles'] = function(type, layer) {
return type === ol.renderer.Type.CANVAS && layer.getType() === ol.LayerType.VECTOR;
_ol_renderer_canvas_VectorLayer_['handles'] = function(type, layer) {
return type === _ol_renderer_Type_.CANVAS && layer.getType() === _ol_LayerType_.VECTOR;
};
@@ -103,24 +104,24 @@ ol.renderer.canvas.VectorLayer['handles'] = function(type, layer) {
* @param {ol.layer.Layer} layer The layer to be rendererd.
* @return {ol.renderer.canvas.VectorLayer} The layer renderer.
*/
ol.renderer.canvas.VectorLayer['create'] = function(mapRenderer, layer) {
return new ol.renderer.canvas.VectorLayer(/** @type {ol.layer.Vector} */ (layer));
_ol_renderer_canvas_VectorLayer_['create'] = function(mapRenderer, layer) {
return new _ol_renderer_canvas_VectorLayer_(/** @type {ol.layer.Vector} */ (layer));
};
/**
* @inheritDoc
*/
ol.renderer.canvas.VectorLayer.prototype.disposeInternal = function() {
ol.events.unlisten(ol.render.canvas.labelCache, ol.events.EventType.CLEAR, this.handleFontsChanged_, this);
ol.renderer.canvas.Layer.prototype.disposeInternal.call(this);
_ol_renderer_canvas_VectorLayer_.prototype.disposeInternal = function() {
_ol_events_.unlisten(_ol_render_canvas_.labelCache, _ol_events_EventType_.CLEAR, this.handleFontsChanged_, this);
_ol_renderer_canvas_Layer_.prototype.disposeInternal.call(this);
};
/**
* @inheritDoc
*/
ol.renderer.canvas.VectorLayer.prototype.composeFrame = function(frameState, layerState, context) {
_ol_renderer_canvas_VectorLayer_.prototype.composeFrame = function(frameState, layerState, context) {
var extent = frameState.extent;
var pixelRatio = frameState.pixelRatio;
@@ -152,7 +153,7 @@ ol.renderer.canvas.VectorLayer.prototype.composeFrame = function(frameState, lay
var drawOffsetY = 0;
var replayContext;
var transparentLayer = layerState.opacity !== 1;
var hasRenderListeners = layer.hasListener(ol.render.EventType.RENDER);
var hasRenderListeners = layer.hasListener(_ol_render_EventType_.RENDER);
if (transparentLayer || hasRenderListeners) {
var drawWidth = context.canvas.width;
var drawHeight = context.canvas.height;
@@ -184,13 +185,13 @@ ol.renderer.canvas.VectorLayer.prototype.composeFrame = function(frameState, lay
var width = frameState.size[0] * pixelRatio;
var height = frameState.size[1] * pixelRatio;
ol.render.canvas.rotateAtOffset(replayContext, -rotation,
_ol_render_canvas_.rotateAtOffset(replayContext, -rotation,
width / 2, height / 2);
replayGroup.replay(replayContext, transform, rotation, skippedFeatureUids);
if (vectorSource.getWrapX() && projection.canWrapX() &&
!ol.extent.containsExtent(projectionExtent, extent)) {
!_ol_extent_.containsExtent(projectionExtent, extent)) {
var startX = extent[0];
var worldWidth = ol.extent.getWidth(projectionExtent);
var worldWidth = _ol_extent_.getWidth(projectionExtent);
var world = 0;
var offsetX;
while (startX < projectionExtent[0]) {
@@ -212,7 +213,7 @@ ol.renderer.canvas.VectorLayer.prototype.composeFrame = function(frameState, lay
// restore original transform for render and compose events
transform = this.getTransform(frameState, 0);
}
ol.render.canvas.rotateAtOffset(replayContext, rotation,
_ol_render_canvas_.rotateAtOffset(replayContext, rotation,
width / 2, height / 2);
if (replayContext != context) {
@@ -246,7 +247,7 @@ ol.renderer.canvas.VectorLayer.prototype.composeFrame = function(frameState, lay
/**
* @inheritDoc
*/
ol.renderer.canvas.VectorLayer.prototype.forEachFeatureAtCoordinate = function(coordinate, frameState, hitTolerance, callback, thisArg) {
_ol_renderer_canvas_VectorLayer_.prototype.forEachFeatureAtCoordinate = function(coordinate, frameState, hitTolerance, callback, thisArg) {
if (!this.replayGroup_) {
return undefined;
} else {
@@ -262,7 +263,7 @@ ol.renderer.canvas.VectorLayer.prototype.forEachFeatureAtCoordinate = function(c
* @return {?} Callback result.
*/
function(feature) {
var key = ol.getUid(feature).toString();
var key = _ol_.getUid(feature).toString();
if (!(key in features)) {
features[key] = true;
return callback.call(thisArg, feature, layer);
@@ -276,7 +277,7 @@ ol.renderer.canvas.VectorLayer.prototype.forEachFeatureAtCoordinate = function(c
/**
* @param {ol.events.Event} event Event.
*/
ol.renderer.canvas.VectorLayer.prototype.handleFontsChanged_ = function(event) {
_ol_renderer_canvas_VectorLayer_.prototype.handleFontsChanged_ = function(event) {
var layer = this.getLayer();
if (layer.getVisible() && this.replayGroup_) {
layer.changed();
@@ -289,7 +290,7 @@ ol.renderer.canvas.VectorLayer.prototype.handleFontsChanged_ = function(event) {
* @param {ol.events.Event} event Image style change event.
* @private
*/
ol.renderer.canvas.VectorLayer.prototype.handleStyleImageChange_ = function(event) {
_ol_renderer_canvas_VectorLayer_.prototype.handleStyleImageChange_ = function(event) {
this.renderIfReadyAndVisible();
};
@@ -297,15 +298,15 @@ ol.renderer.canvas.VectorLayer.prototype.handleStyleImageChange_ = function(even
/**
* @inheritDoc
*/
ol.renderer.canvas.VectorLayer.prototype.prepareFrame = function(frameState, layerState) {
_ol_renderer_canvas_VectorLayer_.prototype.prepareFrame = function(frameState, layerState) {
var vectorLayer = /** @type {ol.layer.Vector} */ (this.getLayer());
var vectorSource = vectorLayer.getSource();
this.updateLogos(frameState, vectorSource);
var animating = frameState.viewHints[ol.ViewHint.ANIMATING];
var interacting = frameState.viewHints[ol.ViewHint.INTERACTING];
var animating = frameState.viewHints[_ol_ViewHint_.ANIMATING];
var interacting = frameState.viewHints[_ol_ViewHint_.INTERACTING];
var updateWhileAnimating = vectorLayer.getUpdateWhileAnimating();
var updateWhileInteracting = vectorLayer.getUpdateWhileInteracting();
@@ -324,22 +325,22 @@ ol.renderer.canvas.VectorLayer.prototype.prepareFrame = function(frameState, lay
var vectorLayerRenderOrder = vectorLayer.getRenderOrder();
if (vectorLayerRenderOrder === undefined) {
vectorLayerRenderOrder = ol.renderer.vector.defaultOrder;
vectorLayerRenderOrder = _ol_renderer_vector_.defaultOrder;
}
var extent = ol.extent.buffer(frameStateExtent,
var extent = _ol_extent_.buffer(frameStateExtent,
vectorLayerRenderBuffer * resolution);
var projectionExtent = viewState.projection.getExtent();
if (vectorSource.getWrapX() && viewState.projection.canWrapX() &&
!ol.extent.containsExtent(projectionExtent, frameState.extent)) {
!_ol_extent_.containsExtent(projectionExtent, frameState.extent)) {
// For the replay group, we need an extent that intersects the real world
// (-180° to +180°). To support geometries in a coordinate range from -540°
// to +540°, we add at least 1 world width on each side of the projection
// extent. If the viewport is wider than the world, we need to add half of
// the viewport width to make sure we cover the whole viewport.
var worldWidth = ol.extent.getWidth(projectionExtent);
var buffer = Math.max(ol.extent.getWidth(extent) / 2, worldWidth);
var worldWidth = _ol_extent_.getWidth(projectionExtent);
var buffer = Math.max(_ol_extent_.getWidth(extent) / 2, worldWidth);
extent[0] = projectionExtent[0] - buffer;
extent[2] = projectionExtent[2] + buffer;
}
@@ -348,7 +349,7 @@ ol.renderer.canvas.VectorLayer.prototype.prepareFrame = function(frameState, lay
this.renderedResolution_ == resolution &&
this.renderedRevision_ == vectorLayerRevision &&
this.renderedRenderOrder_ == vectorLayerRenderOrder &&
ol.extent.containsExtent(this.renderedExtent_, extent)) {
_ol_extent_.containsExtent(this.renderedExtent_, extent)) {
this.replayGroupChanged = false;
return true;
}
@@ -357,8 +358,8 @@ ol.renderer.canvas.VectorLayer.prototype.prepareFrame = function(frameState, lay
this.dirty_ = false;
var replayGroup = new ol.render.canvas.ReplayGroup(
ol.renderer.vector.getTolerance(resolution, pixelRatio), extent, resolution,
var replayGroup = new _ol_render_canvas_ReplayGroup_(
_ol_renderer_vector_.getTolerance(resolution, pixelRatio), extent, resolution,
pixelRatio, vectorSource.getOverlaps(), this.declutterTree_, vectorLayer.getRenderBuffer());
vectorSource.loadFeatures(extent, resolution, projection);
/**
@@ -421,23 +422,24 @@ ol.renderer.canvas.VectorLayer.prototype.prepareFrame = function(frameState, lay
* @param {ol.render.canvas.ReplayGroup} replayGroup Replay group.
* @return {boolean} `true` if an image is loading.
*/
ol.renderer.canvas.VectorLayer.prototype.renderFeature = function(feature, resolution, pixelRatio, styles, replayGroup) {
_ol_renderer_canvas_VectorLayer_.prototype.renderFeature = function(feature, resolution, pixelRatio, styles, replayGroup) {
if (!styles) {
return false;
}
var loading = false;
if (Array.isArray(styles)) {
for (var i = 0, ii = styles.length; i < ii; ++i) {
loading = ol.renderer.vector.renderFeature(
loading = _ol_renderer_vector_.renderFeature(
replayGroup, feature, styles[i],
ol.renderer.vector.getSquaredTolerance(resolution, pixelRatio),
_ol_renderer_vector_.getSquaredTolerance(resolution, pixelRatio),
this.handleStyleImageChange_, this) || loading;
}
} else {
loading = ol.renderer.vector.renderFeature(
loading = _ol_renderer_vector_.renderFeature(
replayGroup, feature, styles,
ol.renderer.vector.getSquaredTolerance(resolution, pixelRatio),
_ol_renderer_vector_.getSquaredTolerance(resolution, pixelRatio),
this.handleStyleImageChange_, this);
}
return loading;
};
export default _ol_renderer_canvas_VectorLayer_;
+91 -89
View File
@@ -1,25 +1,25 @@
goog.provide('ol.renderer.canvas.VectorTileLayer');
goog.require('ol');
goog.require('ol.LayerType');
goog.require('ol.TileState');
goog.require('ol.dom');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.ext.rbush');
goog.require('ol.extent');
goog.require('ol.layer.VectorTileRenderType');
goog.require('ol.proj');
goog.require('ol.proj.Units');
goog.require('ol.render.ReplayType');
goog.require('ol.render.canvas');
goog.require('ol.render.canvas.ReplayGroup');
goog.require('ol.render.replay');
goog.require('ol.renderer.Type');
goog.require('ol.renderer.canvas.TileLayer');
goog.require('ol.renderer.vector');
goog.require('ol.transform');
/**
* @module ol/renderer/canvas/VectorTileLayer
*/
import _ol_ from '../../index.js';
import _ol_LayerType_ from '../../LayerType.js';
import _ol_TileState_ from '../../TileState.js';
import _ol_dom_ from '../../dom.js';
import _ol_events_ from '../../events.js';
import _ol_events_EventType_ from '../../events/EventType.js';
import _ol_ext_rbush_ from 'rbush';
import _ol_extent_ from '../../extent.js';
import _ol_layer_VectorTileRenderType_ from '../../layer/VectorTileRenderType.js';
import _ol_proj_ from '../../proj.js';
import _ol_proj_Units_ from '../../proj/Units.js';
import _ol_render_ReplayType_ from '../../render/ReplayType.js';
import _ol_render_canvas_ from '../../render/canvas.js';
import _ol_render_canvas_ReplayGroup_ from '../../render/canvas/ReplayGroup.js';
import _ol_render_replay_ from '../../render/replay.js';
import _ol_renderer_Type_ from '../Type.js';
import _ol_renderer_canvas_TileLayer_ from '../canvas/TileLayer.js';
import _ol_renderer_vector_ from '../vector.js';
import _ol_transform_ from '../../transform.js';
/**
* @constructor
@@ -27,20 +27,20 @@ goog.require('ol.transform');
* @param {ol.layer.VectorTile} layer VectorTile layer.
* @api
*/
ol.renderer.canvas.VectorTileLayer = function(layer) {
var _ol_renderer_canvas_VectorTileLayer_ = function(layer) {
/**
* @type {CanvasRenderingContext2D}
*/
this.context = null;
ol.renderer.canvas.TileLayer.call(this, layer);
_ol_renderer_canvas_TileLayer_.call(this, layer);
/**
* Declutter tree.
* @private
*/
this.declutterTree_ = layer.getDeclutter() ? ol.ext.rbush(9) : null;
this.declutterTree_ = layer.getDeclutter() ? _ol_ext_rbush_(9) : null;
/**
* @private
@@ -58,16 +58,17 @@ ol.renderer.canvas.VectorTileLayer = function(layer) {
* @private
* @type {ol.Transform}
*/
this.tmpTransform_ = ol.transform.create();
this.tmpTransform_ = _ol_transform_.create();
// Use lower resolution for pure vector rendering. Closest resolution otherwise.
this.zDirection =
layer.getRenderMode() == ol.layer.VectorTileRenderType.VECTOR ? 1 : 0;
layer.getRenderMode() == _ol_layer_VectorTileRenderType_.VECTOR ? 1 : 0;
ol.events.listen(ol.render.canvas.labelCache, ol.events.EventType.CLEAR, this.handleFontsChanged_, this);
_ol_events_.listen(_ol_render_canvas_.labelCache, _ol_events_EventType_.CLEAR, this.handleFontsChanged_, this);
};
ol.inherits(ol.renderer.canvas.VectorTileLayer, ol.renderer.canvas.TileLayer);
_ol_.inherits(_ol_renderer_canvas_VectorTileLayer_, _ol_renderer_canvas_TileLayer_);
/**
@@ -76,8 +77,8 @@ ol.inherits(ol.renderer.canvas.VectorTileLayer, ol.renderer.canvas.TileLayer);
* @param {ol.layer.Layer} layer The candidate layer.
* @return {boolean} The renderer can render the layer.
*/
ol.renderer.canvas.VectorTileLayer['handles'] = function(type, layer) {
return type === ol.renderer.Type.CANVAS && layer.getType() === ol.LayerType.VECTOR_TILE;
_ol_renderer_canvas_VectorTileLayer_['handles'] = function(type, layer) {
return type === _ol_renderer_Type_.CANVAS && layer.getType() === _ol_LayerType_.VECTOR_TILE;
};
@@ -87,8 +88,8 @@ ol.renderer.canvas.VectorTileLayer['handles'] = function(type, layer) {
* @param {ol.layer.Layer} layer The layer to be rendererd.
* @return {ol.renderer.canvas.VectorTileLayer} The layer renderer.
*/
ol.renderer.canvas.VectorTileLayer['create'] = function(mapRenderer, layer) {
return new ol.renderer.canvas.VectorTileLayer(/** @type {ol.layer.VectorTile} */ (layer));
_ol_renderer_canvas_VectorTileLayer_['create'] = function(mapRenderer, layer) {
return new _ol_renderer_canvas_VectorTileLayer_(/** @type {ol.layer.VectorTile} */ (layer));
};
@@ -96,10 +97,10 @@ ol.renderer.canvas.VectorTileLayer['create'] = function(mapRenderer, layer) {
* @const
* @type {!Object.<string, Array.<ol.render.ReplayType>>}
*/
ol.renderer.canvas.VectorTileLayer.IMAGE_REPLAYS = {
'image': [ol.render.ReplayType.POLYGON, ol.render.ReplayType.CIRCLE,
ol.render.ReplayType.LINE_STRING, ol.render.ReplayType.IMAGE, ol.render.ReplayType.TEXT],
'hybrid': [ol.render.ReplayType.POLYGON, ol.render.ReplayType.LINE_STRING]
_ol_renderer_canvas_VectorTileLayer_.IMAGE_REPLAYS = {
'image': [_ol_render_ReplayType_.POLYGON, _ol_render_ReplayType_.CIRCLE,
_ol_render_ReplayType_.LINE_STRING, _ol_render_ReplayType_.IMAGE, _ol_render_ReplayType_.TEXT],
'hybrid': [_ol_render_ReplayType_.POLYGON, _ol_render_ReplayType_.LINE_STRING]
};
@@ -107,40 +108,40 @@ ol.renderer.canvas.VectorTileLayer.IMAGE_REPLAYS = {
* @const
* @type {!Object.<string, Array.<ol.render.ReplayType>>}
*/
ol.renderer.canvas.VectorTileLayer.VECTOR_REPLAYS = {
'image': [ol.render.ReplayType.DEFAULT],
'hybrid': [ol.render.ReplayType.IMAGE, ol.render.ReplayType.TEXT, ol.render.ReplayType.DEFAULT],
'vector': ol.render.replay.ORDER
_ol_renderer_canvas_VectorTileLayer_.VECTOR_REPLAYS = {
'image': [_ol_render_ReplayType_.DEFAULT],
'hybrid': [_ol_render_ReplayType_.IMAGE, _ol_render_ReplayType_.TEXT, _ol_render_ReplayType_.DEFAULT],
'vector': _ol_render_replay_.ORDER
};
/**
* @inheritDoc
*/
ol.renderer.canvas.VectorTileLayer.prototype.disposeInternal = function() {
ol.events.unlisten(ol.render.canvas.labelCache, ol.events.EventType.CLEAR, this.handleFontsChanged_, this);
ol.renderer.canvas.TileLayer.prototype.disposeInternal.call(this);
_ol_renderer_canvas_VectorTileLayer_.prototype.disposeInternal = function() {
_ol_events_.unlisten(_ol_render_canvas_.labelCache, _ol_events_EventType_.CLEAR, this.handleFontsChanged_, this);
_ol_renderer_canvas_TileLayer_.prototype.disposeInternal.call(this);
};
/**
* @inheritDoc
*/
ol.renderer.canvas.VectorTileLayer.prototype.prepareFrame = function(frameState, layerState) {
_ol_renderer_canvas_VectorTileLayer_.prototype.prepareFrame = function(frameState, layerState) {
var layer = this.getLayer();
var layerRevision = layer.getRevision();
if (this.renderedLayerRevision_ != layerRevision) {
this.renderedTiles.length = 0;
var renderMode = layer.getRenderMode();
if (!this.context && renderMode != ol.layer.VectorTileRenderType.VECTOR) {
this.context = ol.dom.createCanvasContext2D();
if (!this.context && renderMode != _ol_layer_VectorTileRenderType_.VECTOR) {
this.context = _ol_dom_.createCanvasContext2D();
}
if (this.context && renderMode == ol.layer.VectorTileRenderType.VECTOR) {
if (this.context && renderMode == _ol_layer_VectorTileRenderType_.VECTOR) {
this.context = null;
}
}
this.renderedLayerRevision_ = layerRevision;
return ol.renderer.canvas.TileLayer.prototype.prepareFrame.apply(this, arguments);
return _ol_renderer_canvas_TileLayer_.prototype.prepareFrame.apply(this, arguments);
};
@@ -149,7 +150,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.prepareFrame = function(frameState,
* @param {olx.FrameState} frameState Frame state.
* @private
*/
ol.renderer.canvas.VectorTileLayer.prototype.createReplayGroup_ = function(
_ol_renderer_canvas_VectorTileLayer_.prototype.createReplayGroup_ = function(
tile, frameState) {
var layer = this.getLayer();
var pixelRatio = frameState.pixelRatio;
@@ -173,25 +174,25 @@ ol.renderer.canvas.VectorTileLayer.prototype.createReplayGroup_ = function(
var zIndexKeys = {};
for (var t = 0, tt = tile.tileKeys.length; t < tt; ++t) {
var sourceTile = tile.getTile(tile.tileKeys[t]);
if (sourceTile.getState() == ol.TileState.ERROR) {
if (sourceTile.getState() == _ol_TileState_.ERROR) {
continue;
}
var sourceTileCoord = sourceTile.tileCoord;
var sourceTileExtent = sourceTileGrid.getTileCoordExtent(sourceTileCoord);
var sharedExtent = ol.extent.getIntersection(tileExtent, sourceTileExtent);
var bufferedExtent = ol.extent.equals(sourceTileExtent, sharedExtent) ? null :
ol.extent.buffer(sharedExtent, layer.getRenderBuffer() * resolution);
var sharedExtent = _ol_extent_.getIntersection(tileExtent, sourceTileExtent);
var bufferedExtent = _ol_extent_.equals(sourceTileExtent, sharedExtent) ? null :
_ol_extent_.buffer(sharedExtent, layer.getRenderBuffer() * resolution);
var tileProjection = sourceTile.getProjection();
var reproject = false;
if (!ol.proj.equivalent(projection, tileProjection)) {
if (!_ol_proj_.equivalent(projection, tileProjection)) {
reproject = true;
sourceTile.setProjection(projection);
}
replayState.dirty = false;
var replayGroup = new ol.render.canvas.ReplayGroup(0, sharedExtent, resolution,
var replayGroup = new _ol_render_canvas_ReplayGroup_(0, sharedExtent, resolution,
pixelRatio, source.getOverlaps(), this.declutterTree_, layer.getRenderBuffer());
var squaredTolerance = ol.renderer.vector.getSquaredTolerance(
var squaredTolerance = _ol_renderer_vector_.getSquaredTolerance(
resolution, pixelRatio);
/**
@@ -225,7 +226,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.createReplayGroup_ = function(
for (var i = 0, ii = features.length; i < ii; ++i) {
feature = features[i];
if (reproject) {
if (tileProjection.getUnits() == ol.proj.Units.TILE_PIXELS) {
if (tileProjection.getUnits() == _ol_proj_Units_.TILE_PIXELS) {
// projected tile extent
tileProjection.setWorldExtent(sourceTileExtent);
// tile extent in tile pixel space
@@ -233,7 +234,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.createReplayGroup_ = function(
}
feature.getGeometry().transform(tileProjection, projection);
}
if (!bufferedExtent || ol.extent.intersects(bufferedExtent, feature.getGeometry().getExtent())) {
if (!bufferedExtent || _ol_extent_.intersects(bufferedExtent, feature.getGeometry().getExtent())) {
renderFeature.call(this, feature);
}
}
@@ -251,13 +252,13 @@ ol.renderer.canvas.VectorTileLayer.prototype.createReplayGroup_ = function(
/**
* @inheritDoc
*/
ol.renderer.canvas.VectorTileLayer.prototype.drawTileImage = function(
_ol_renderer_canvas_VectorTileLayer_.prototype.drawTileImage = function(
tile, frameState, layerState, x, y, w, h, gutter, transition) {
var vectorImageTile = /** @type {ol.VectorImageTile} */ (tile);
this.createReplayGroup_(vectorImageTile, frameState);
if (this.context) {
this.renderTileImage_(vectorImageTile, frameState, layerState);
ol.renderer.canvas.TileLayer.prototype.drawTileImage.apply(this, arguments);
_ol_renderer_canvas_TileLayer_.prototype.drawTileImage.apply(this, arguments);
}
};
@@ -265,7 +266,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.drawTileImage = function(
/**
* @inheritDoc
*/
ol.renderer.canvas.VectorTileLayer.prototype.forEachFeatureAtCoordinate = function(coordinate, frameState, hitTolerance, callback, thisArg) {
_ol_renderer_canvas_VectorTileLayer_.prototype.forEachFeatureAtCoordinate = function(coordinate, frameState, hitTolerance, callback, thisArg) {
var resolution = frameState.viewState.resolution;
var rotation = frameState.viewState.rotation;
hitTolerance = hitTolerance == undefined ? 0 : hitTolerance;
@@ -285,13 +286,13 @@ ol.renderer.canvas.VectorTileLayer.prototype.forEachFeatureAtCoordinate = functi
tile = renderedTiles[i];
tileCoord = tile.wrappedTileCoord;
tileExtent = tileGrid.getTileCoordExtent(tileCoord, this.tmpExtent);
bufferedExtent = ol.extent.buffer(tileExtent, hitTolerance * resolution, bufferedExtent);
if (!ol.extent.containsCoordinate(bufferedExtent, coordinate)) {
bufferedExtent = _ol_extent_.buffer(tileExtent, hitTolerance * resolution, bufferedExtent);
if (!_ol_extent_.containsCoordinate(bufferedExtent, coordinate)) {
continue;
}
for (var t = 0, tt = tile.tileKeys.length; t < tt; ++t) {
var sourceTile = tile.getTile(tile.tileKeys[t]);
if (sourceTile.getState() == ol.TileState.ERROR) {
if (sourceTile.getState() == _ol_TileState_.ERROR) {
continue;
}
replayGroup = sourceTile.getReplayGroup(layer, tile.tileCoord.toString());
@@ -302,7 +303,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.forEachFeatureAtCoordinate = functi
* @return {?} Callback result.
*/
function(feature) {
var key = ol.getUid(feature).toString();
var key = _ol_.getUid(feature).toString();
if (!(key in features)) {
features[key] = true;
return callback.call(thisArg, feature, layer);
@@ -320,7 +321,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.forEachFeatureAtCoordinate = functi
* @return {ol.Transform} transform Transform.
* @private
*/
ol.renderer.canvas.VectorTileLayer.prototype.getReplayTransform_ = function(tile, frameState) {
_ol_renderer_canvas_VectorTileLayer_.prototype.getReplayTransform_ = function(tile, frameState) {
var layer = this.getLayer();
var source = /** @type {ol.source.VectorTile} */ (layer.getSource());
var tileGrid = source.getTileGrid();
@@ -331,11 +332,11 @@ ol.renderer.canvas.VectorTileLayer.prototype.getReplayTransform_ = function(tile
var renderResolution = viewState.resolution / pixelRatio;
var tileExtent = tileGrid.getTileCoordExtent(tileCoord, this.tmpExtent);
var center = viewState.center;
var origin = ol.extent.getTopLeft(tileExtent);
var origin = _ol_extent_.getTopLeft(tileExtent);
var size = frameState.size;
var offsetX = Math.round(pixelRatio * size[0] / 2);
var offsetY = Math.round(pixelRatio * size[1] / 2);
return ol.transform.compose(this.tmpTransform_,
return _ol_transform_.compose(this.tmpTransform_,
offsetX, offsetY,
tileResolution / renderResolution, tileResolution / renderResolution,
viewState.rotation,
@@ -347,7 +348,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.getReplayTransform_ = function(tile
/**
* @param {ol.events.Event} event Event.
*/
ol.renderer.canvas.VectorTileLayer.prototype.handleFontsChanged_ = function(event) {
_ol_renderer_canvas_VectorTileLayer_.prototype.handleFontsChanged_ = function(event) {
var layer = this.getLayer();
if (layer.getVisible() && this.renderedLayerRevision_ !== undefined) {
layer.changed();
@@ -360,7 +361,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.handleFontsChanged_ = function(even
* @param {ol.events.Event} event Image style change event.
* @private
*/
ol.renderer.canvas.VectorTileLayer.prototype.handleStyleImageChange_ = function(event) {
_ol_renderer_canvas_VectorTileLayer_.prototype.handleStyleImageChange_ = function(event) {
this.renderIfReadyAndVisible();
};
@@ -368,12 +369,12 @@ ol.renderer.canvas.VectorTileLayer.prototype.handleStyleImageChange_ = function(
/**
* @inheritDoc
*/
ol.renderer.canvas.VectorTileLayer.prototype.postCompose = function(context, frameState, layerState) {
_ol_renderer_canvas_VectorTileLayer_.prototype.postCompose = function(context, frameState, layerState) {
var layer = this.getLayer();
var declutterReplays = layer.getDeclutter() ? {} : null;
var source = /** @type {ol.source.VectorTile} */ (layer.getSource());
var renderMode = layer.getRenderMode();
var replayTypes = ol.renderer.canvas.VectorTileLayer.VECTOR_REPLAYS[renderMode];
var replayTypes = _ol_renderer_canvas_VectorTileLayer_.VECTOR_REPLAYS[renderMode];
var pixelRatio = frameState.pixelRatio;
var rotation = frameState.viewState.rotation;
var size = frameState.size;
@@ -381,7 +382,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.postCompose = function(context, fra
if (rotation) {
offsetX = Math.round(pixelRatio * size[0] / 2);
offsetY = Math.round(pixelRatio * size[1] / 2);
ol.render.canvas.rotateAtOffset(context, -rotation, offsetX, offsetY);
_ol_render_canvas_.rotateAtOffset(context, -rotation, offsetX, offsetY);
}
if (declutterReplays) {
this.declutterTree_.clear();
@@ -392,7 +393,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.postCompose = function(context, fra
var zs = [];
for (var i = tiles.length - 1; i >= 0; --i) {
var tile = /** @type {ol.VectorImageTile} */ (tiles[i]);
if (tile.getState() == ol.TileState.ABORT) {
if (tile.getState() == _ol_TileState_.ABORT) {
continue;
}
var tileCoord = tile.tileCoord;
@@ -401,11 +402,11 @@ ol.renderer.canvas.VectorTileLayer.prototype.postCompose = function(context, fra
var transform = undefined;
for (var t = 0, tt = tile.tileKeys.length; t < tt; ++t) {
var sourceTile = tile.getTile(tile.tileKeys[t]);
if (sourceTile.getState() == ol.TileState.ERROR) {
if (sourceTile.getState() == _ol_TileState_.ERROR) {
continue;
}
var replayGroup = sourceTile.getReplayGroup(layer, tileCoord.toString());
if (renderMode != ol.layer.VectorTileRenderType.VECTOR && !replayGroup.hasReplays(replayTypes)) {
if (renderMode != _ol_layer_VectorTileRenderType_.VECTOR && !replayGroup.hasReplays(replayTypes)) {
continue;
}
if (!transform) {
@@ -441,13 +442,13 @@ ol.renderer.canvas.VectorTileLayer.prototype.postCompose = function(context, fra
}
}
if (declutterReplays) {
ol.render.canvas.ReplayGroup.replayDeclutter(declutterReplays, context, rotation);
_ol_render_canvas_ReplayGroup_.replayDeclutter(declutterReplays, context, rotation);
}
if (rotation) {
ol.render.canvas.rotateAtOffset(context, rotation,
_ol_render_canvas_.rotateAtOffset(context, rotation,
/** @type {number} */ (offsetX), /** @type {number} */ (offsetY));
}
ol.renderer.canvas.TileLayer.prototype.postCompose.apply(this, arguments);
_ol_renderer_canvas_TileLayer_.prototype.postCompose.apply(this, arguments);
};
@@ -459,19 +460,19 @@ ol.renderer.canvas.VectorTileLayer.prototype.postCompose = function(context, fra
* @param {ol.render.canvas.ReplayGroup} replayGroup Replay group.
* @return {boolean} `true` if an image is loading.
*/
ol.renderer.canvas.VectorTileLayer.prototype.renderFeature = function(feature, squaredTolerance, styles, replayGroup) {
_ol_renderer_canvas_VectorTileLayer_.prototype.renderFeature = function(feature, squaredTolerance, styles, replayGroup) {
if (!styles) {
return false;
}
var loading = false;
if (Array.isArray(styles)) {
for (var i = 0, ii = styles.length; i < ii; ++i) {
loading = ol.renderer.vector.renderFeature(
loading = _ol_renderer_vector_.renderFeature(
replayGroup, feature, styles[i], squaredTolerance,
this.handleStyleImageChange_, this) || loading;
}
} else {
loading = ol.renderer.vector.renderFeature(
loading = _ol_renderer_vector_.renderFeature(
replayGroup, feature, styles, squaredTolerance,
this.handleStyleImageChange_, this);
}
@@ -485,12 +486,12 @@ ol.renderer.canvas.VectorTileLayer.prototype.renderFeature = function(feature, s
* @param {ol.LayerState} layerState Layer state.
* @private
*/
ol.renderer.canvas.VectorTileLayer.prototype.renderTileImage_ = function(
_ol_renderer_canvas_VectorTileLayer_.prototype.renderTileImage_ = function(
tile, frameState, layerState) {
var layer = this.getLayer();
var replayState = tile.getReplayState(layer);
var revision = layer.getRevision();
var replays = ol.renderer.canvas.VectorTileLayer.IMAGE_REPLAYS[layer.getRenderMode()];
var replays = _ol_renderer_canvas_VectorTileLayer_.IMAGE_REPLAYS[layer.getRenderMode()];
if (replays && replayState.renderedTileRevision !== revision) {
replayState.renderedTileRevision = revision;
var tileCoord = tile.wrappedTileCoord;
@@ -506,15 +507,16 @@ ol.renderer.canvas.VectorTileLayer.prototype.renderTileImage_ = function(
var tileExtent = tileGrid.getTileCoordExtent(tileCoord);
for (var i = 0, ii = tile.tileKeys.length; i < ii; ++i) {
var sourceTile = tile.getTile(tile.tileKeys[i]);
if (sourceTile.getState() == ol.TileState.ERROR) {
if (sourceTile.getState() == _ol_TileState_.ERROR) {
continue;
}
var pixelScale = pixelRatio / resolution;
var transform = ol.transform.reset(this.tmpTransform_);
ol.transform.scale(transform, pixelScale, -pixelScale);
ol.transform.translate(transform, -tileExtent[0], -tileExtent[3]);
var transform = _ol_transform_.reset(this.tmpTransform_);
_ol_transform_.scale(transform, pixelScale, -pixelScale);
_ol_transform_.translate(transform, -tileExtent[0], -tileExtent[3]);
var replayGroup = sourceTile.getReplayGroup(layer, tile.tileCoord.toString());
replayGroup.replay(context, transform, 0, {}, replays);
}
}
};
export default _ol_renderer_canvas_VectorTileLayer_;