Always use a defined renderGeometryFunction, thanks @elemoine
This commit is contained in:
@@ -114,8 +114,8 @@ ol.render.canvas.Replay.prototype.beginGeometry = function(geometry) {
|
||||
/**
|
||||
* @param {CanvasRenderingContext2D} context Context.
|
||||
* @param {goog.vec.Mat4.AnyType} transform Transform.
|
||||
* @param {function(ol.geom.Geometry): boolean|undefined} renderGeometryFunction
|
||||
* Render geometry function.
|
||||
* @param {function(ol.geom.Geometry): boolean} renderGeometryFunction Render
|
||||
* geometry function.
|
||||
*/
|
||||
ol.render.canvas.Replay.prototype.draw =
|
||||
function(context, transform, renderGeometryFunction) {
|
||||
@@ -139,12 +139,11 @@ ol.render.canvas.Replay.prototype.draw =
|
||||
var type = /** @type {ol.render.canvas.Instruction} */ (instruction[0]);
|
||||
if (type == ol.render.canvas.Instruction.BEGIN_GEOMETRY) {
|
||||
var geometry = /** @type {ol.geom.Geometry} */ (instruction[1]);
|
||||
if (goog.isDef(renderGeometryFunction) &&
|
||||
!renderGeometryFunction(geometry)) {
|
||||
if (renderGeometryFunction(geometry)) {
|
||||
++i;
|
||||
} else {
|
||||
d = /** @type {number} */ (instruction[2]);
|
||||
i = /** @type {number} */ (instruction[3]);
|
||||
} else {
|
||||
++i;
|
||||
}
|
||||
} else if (type == ol.render.canvas.Instruction.BEGIN_PATH) {
|
||||
context.beginPath();
|
||||
@@ -795,8 +794,8 @@ ol.render.canvas.ReplayGroup = function() {
|
||||
* @param {CanvasRenderingContext2D} context Context.
|
||||
* @param {ol.Extent} extent Extent.
|
||||
* @param {goog.vec.Mat4.AnyType} transform Transform.
|
||||
* @param {function(ol.geom.Geometry): boolean|undefined} renderGeometryFunction
|
||||
* Render geometry function.
|
||||
* @param {function(ol.geom.Geometry): boolean} renderGeometryFunction Render
|
||||
* geometry function.
|
||||
*/
|
||||
ol.render.canvas.ReplayGroup.prototype.draw =
|
||||
function(context, extent, transform, renderGeometryFunction) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
goog.provide('ol.renderer.canvas.VectorLayer');
|
||||
|
||||
goog.require('goog.vec.Mat4');
|
||||
goog.require('goog.asserts');
|
||||
goog.require('goog.functions');
|
||||
goog.require('ol.ViewHint');
|
||||
goog.require('ol.extent');
|
||||
goog.require('ol.render.canvas.ReplayGroup');
|
||||
@@ -61,6 +62,10 @@ ol.renderer.canvas.VectorLayer.prototype.composeFrame =
|
||||
if (!goog.isNull(replayGroup)) {
|
||||
var vectorLayer = this.getVectorLayer();
|
||||
var renderGeometryFunction = vectorLayer.getRenderGeometryFunction();
|
||||
if (!goog.isDef(renderGeometryFunction)) {
|
||||
renderGeometryFunction = goog.functions.TRUE;
|
||||
}
|
||||
goog.asserts.assert(goog.isFunction(renderGeometryFunction));
|
||||
context.globalAlpha = layerState.opacity;
|
||||
replayGroup.draw(
|
||||
context, frameState.extent, transform, renderGeometryFunction);
|
||||
|
||||
Reference in New Issue
Block a user