From 317294756a2fa620b54f523165be120c03162893 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Mon, 25 Nov 2013 17:12:16 +0100 Subject: [PATCH] Style function takes a resolution arg --- src/ol/renderer/canvas/canvasvectorlayerrenderer.js | 7 ++++--- src/ol/style/style.js | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/ol/renderer/canvas/canvasvectorlayerrenderer.js b/src/ol/renderer/canvas/canvasvectorlayerrenderer.js index 4383c347cc..a649bdfbba 100644 --- a/src/ol/renderer/canvas/canvasvectorlayerrenderer.js +++ b/src/ol/renderer/canvas/canvasvectorlayerrenderer.js @@ -98,8 +98,9 @@ ol.renderer.canvas.VectorLayer.prototype.prepareFrame = var vectorLayer = this.getVectorLayer(); var vectorSource = vectorLayer.getVectorSource(); var frameStateExtent = frameState.extent; + var frameStateResolution = frameState.view2DState.resolution; - if (this.renderedResolution_ == frameState.view2DState.resolution && + if (this.renderedResolution_ == frameStateResolution && this.renderedRevision_ == vectorSource.getRevision() && ol.extent.containsExtent(this.renderedExtent_, frameStateExtent)) { return; @@ -124,7 +125,7 @@ ol.renderer.canvas.VectorLayer.prototype.prepareFrame = * @param {ol.Feature} feature Feature. */ function(feature) { - var styles = styleFunction(feature); + var styles = styleFunction(feature, frameStateResolution); var i, ii = styles.length; for (i = 0; i < ii; ++i) { ol.renderer.vector.renderFeature(replayGroup, feature, styles[i]); @@ -132,7 +133,7 @@ ol.renderer.canvas.VectorLayer.prototype.prepareFrame = }, this); replayGroup.finish(); - this.renderedResolution_ = frameState.view2DState.resolution; + this.renderedResolution_ = frameStateResolution; this.renderedRevision_ = vectorSource.getRevision(); if (!replayGroup.isEmpty()) { this.replayGroup_ = replayGroup; diff --git a/src/ol/style/style.js b/src/ol/style/style.js index 87d7e1b92d..edf130ced6 100644 --- a/src/ol/style/style.js +++ b/src/ol/style/style.js @@ -41,6 +41,6 @@ ol.style.Style = function(options) { /** - * @typedef {function(ol.Feature): Array.} + * @typedef {function(ol.Feature, number): Array.} */ ol.style.StyleFunction;