From c42ec27a4a3ae1e335fba2e03c99c71fa758bd2e Mon Sep 17 00:00:00 2001 From: Thomas Hirsch Date: Fri, 28 Nov 2014 22:09:45 +0100 Subject: [PATCH 1/4] image layer renderers use source projection if given and equivalent --- src/ol/renderer/canvas/canvasimagelayerrenderer.js | 8 +++++++- src/ol/renderer/dom/domimagelayerrenderer.js | 8 +++++++- src/ol/renderer/webgl/webglimagelayerrenderer.js | 8 +++++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/ol/renderer/canvas/canvasimagelayerrenderer.js b/src/ol/renderer/canvas/canvasimagelayerrenderer.js index c223d84f1c..290f641a1d 100644 --- a/src/ol/renderer/canvas/canvasimagelayerrenderer.js +++ b/src/ol/renderer/canvas/canvasimagelayerrenderer.js @@ -108,8 +108,14 @@ ol.renderer.canvas.ImageLayer.prototype.prepareFrame = if (!hints[ol.ViewHint.ANIMATING] && !hints[ol.ViewHint.INTERACTING] && !ol.extent.isEmpty(renderedExtent)) { + var projection = viewState.projection; + var sourceProjection = imageSource.getProjection() + if (goog.isDefAndNotNull(sourceProjection)) { + goog.asserts.assert(ol.proj.equivalent(projection, sourceProjection)); + projection = sourceProjection; + } image = imageSource.getImage( - renderedExtent, viewResolution, pixelRatio, viewState.projection); + renderedExtent, viewResolution, pixelRatio, projection); if (!goog.isNull(image)) { var imageState = image.getState(); if (imageState == ol.ImageState.IDLE) { diff --git a/src/ol/renderer/dom/domimagelayerrenderer.js b/src/ol/renderer/dom/domimagelayerrenderer.js index ce2ca367c7..5cd126f67c 100644 --- a/src/ol/renderer/dom/domimagelayerrenderer.js +++ b/src/ol/renderer/dom/domimagelayerrenderer.js @@ -104,8 +104,14 @@ ol.renderer.dom.ImageLayer.prototype.prepareFrame = if (!hints[ol.ViewHint.ANIMATING] && !hints[ol.ViewHint.INTERACTING] && !ol.extent.isEmpty(renderedExtent)) { + var projection = viewState.projection; + var sourceProjection = imageSource.getProjection() + if (goog.isDefAndNotNull(sourceProjection)) { + goog.asserts.assert(ol.proj.equivalent(projection, sourceProjection)); + projection = sourceProjection; + } var image_ = imageSource.getImage(renderedExtent, viewResolution, - frameState.pixelRatio, viewState.projection); + frameState.pixelRatio, projection); if (!goog.isNull(image_)) { var imageState = image_.getState(); if (imageState == ol.ImageState.IDLE) { diff --git a/src/ol/renderer/webgl/webglimagelayerrenderer.js b/src/ol/renderer/webgl/webglimagelayerrenderer.js index 8579d2cc9c..39df83f58d 100644 --- a/src/ol/renderer/webgl/webglimagelayerrenderer.js +++ b/src/ol/renderer/webgl/webglimagelayerrenderer.js @@ -124,8 +124,14 @@ ol.renderer.webgl.ImageLayer.prototype.prepareFrame = } if (!hints[ol.ViewHint.ANIMATING] && !hints[ol.ViewHint.INTERACTING] && !ol.extent.isEmpty(renderedExtent)) { + var projection = viewState.projection; + var sourceProjection = imageSource.getProjection() + if (goog.isDefAndNotNull(sourceProjection)) { + goog.asserts.assert(ol.proj.equivalent(projection, sourceProjection)); + projection = sourceProjection; + } var image_ = imageSource.getImage(renderedExtent, viewResolution, - frameState.pixelRatio, viewState.projection); + frameState.pixelRatio, projection); if (!goog.isNull(image_)) { var imageState = image_.getState(); if (imageState == ol.ImageState.IDLE) { From e385e81a202a00bf1271be1aaafaf06972c8d7eb Mon Sep 17 00:00:00 2001 From: Thomas Hirsch Date: Sun, 30 Nov 2014 10:08:41 +0100 Subject: [PATCH 2/4] linting --- src/ol/renderer/canvas/canvasimagelayerrenderer.js | 2 +- src/ol/renderer/dom/domimagelayerrenderer.js | 2 +- src/ol/renderer/webgl/webglimagelayerrenderer.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ol/renderer/canvas/canvasimagelayerrenderer.js b/src/ol/renderer/canvas/canvasimagelayerrenderer.js index 290f641a1d..d26155fb62 100644 --- a/src/ol/renderer/canvas/canvasimagelayerrenderer.js +++ b/src/ol/renderer/canvas/canvasimagelayerrenderer.js @@ -109,7 +109,7 @@ ol.renderer.canvas.ImageLayer.prototype.prepareFrame = if (!hints[ol.ViewHint.ANIMATING] && !hints[ol.ViewHint.INTERACTING] && !ol.extent.isEmpty(renderedExtent)) { var projection = viewState.projection; - var sourceProjection = imageSource.getProjection() + var sourceProjection = imageSource.getProjection(); if (goog.isDefAndNotNull(sourceProjection)) { goog.asserts.assert(ol.proj.equivalent(projection, sourceProjection)); projection = sourceProjection; diff --git a/src/ol/renderer/dom/domimagelayerrenderer.js b/src/ol/renderer/dom/domimagelayerrenderer.js index 5cd126f67c..1d5953ac0f 100644 --- a/src/ol/renderer/dom/domimagelayerrenderer.js +++ b/src/ol/renderer/dom/domimagelayerrenderer.js @@ -105,7 +105,7 @@ ol.renderer.dom.ImageLayer.prototype.prepareFrame = if (!hints[ol.ViewHint.ANIMATING] && !hints[ol.ViewHint.INTERACTING] && !ol.extent.isEmpty(renderedExtent)) { var projection = viewState.projection; - var sourceProjection = imageSource.getProjection() + var sourceProjection = imageSource.getProjection(); if (goog.isDefAndNotNull(sourceProjection)) { goog.asserts.assert(ol.proj.equivalent(projection, sourceProjection)); projection = sourceProjection; diff --git a/src/ol/renderer/webgl/webglimagelayerrenderer.js b/src/ol/renderer/webgl/webglimagelayerrenderer.js index 39df83f58d..dfd1ee88c8 100644 --- a/src/ol/renderer/webgl/webglimagelayerrenderer.js +++ b/src/ol/renderer/webgl/webglimagelayerrenderer.js @@ -125,7 +125,7 @@ ol.renderer.webgl.ImageLayer.prototype.prepareFrame = if (!hints[ol.ViewHint.ANIMATING] && !hints[ol.ViewHint.INTERACTING] && !ol.extent.isEmpty(renderedExtent)) { var projection = viewState.projection; - var sourceProjection = imageSource.getProjection() + var sourceProjection = imageSource.getProjection(); if (goog.isDefAndNotNull(sourceProjection)) { goog.asserts.assert(ol.proj.equivalent(projection, sourceProjection)); projection = sourceProjection; From d5bafc5e9f365b2efbe829fdb8c02a3b30145187 Mon Sep 17 00:00:00 2001 From: Thomas Hirsch Date: Mon, 1 Dec 2014 10:53:36 +0100 Subject: [PATCH 3/4] linting --- src/ol/renderer/canvas/canvasimagelayerrenderer.js | 1 + src/ol/renderer/dom/domimagelayerrenderer.js | 1 + src/ol/renderer/webgl/webglimagelayerrenderer.js | 1 + 3 files changed, 3 insertions(+) diff --git a/src/ol/renderer/canvas/canvasimagelayerrenderer.js b/src/ol/renderer/canvas/canvasimagelayerrenderer.js index d26155fb62..afbaebfbf4 100644 --- a/src/ol/renderer/canvas/canvasimagelayerrenderer.js +++ b/src/ol/renderer/canvas/canvasimagelayerrenderer.js @@ -9,6 +9,7 @@ goog.require('ol.ImageState'); goog.require('ol.ViewHint'); goog.require('ol.extent'); goog.require('ol.layer.Image'); +goog.require('ol.proj'); goog.require('ol.renderer.Map'); goog.require('ol.renderer.canvas.Layer'); goog.require('ol.vec.Mat4'); diff --git a/src/ol/renderer/dom/domimagelayerrenderer.js b/src/ol/renderer/dom/domimagelayerrenderer.js index 1d5953ac0f..fabf03ea8c 100644 --- a/src/ol/renderer/dom/domimagelayerrenderer.js +++ b/src/ol/renderer/dom/domimagelayerrenderer.js @@ -12,6 +12,7 @@ goog.require('ol.ViewHint'); goog.require('ol.dom'); goog.require('ol.extent'); goog.require('ol.layer.Image'); +goog.require('ol.proj'); goog.require('ol.renderer.dom.Layer'); goog.require('ol.vec.Mat4'); diff --git a/src/ol/renderer/webgl/webglimagelayerrenderer.js b/src/ol/renderer/webgl/webglimagelayerrenderer.js index dfd1ee88c8..07721bcb10 100644 --- a/src/ol/renderer/webgl/webglimagelayerrenderer.js +++ b/src/ol/renderer/webgl/webglimagelayerrenderer.js @@ -12,6 +12,7 @@ goog.require('ol.ImageState'); goog.require('ol.ViewHint'); goog.require('ol.extent'); goog.require('ol.layer.Image'); +goog.require('ol.proj'); goog.require('ol.renderer.webgl.Layer'); From 8e4d7c0715ffcaf011e6c7b3b2dc77c0ab3bceca Mon Sep 17 00:00:00 2001 From: Thomas Hirsch Date: Mon, 1 Dec 2014 12:57:35 +0100 Subject: [PATCH 4/4] isDefAndNotNull -> !isNull --- src/ol/renderer/canvas/canvasimagelayerrenderer.js | 2 +- src/ol/renderer/dom/domimagelayerrenderer.js | 2 +- src/ol/renderer/webgl/webglimagelayerrenderer.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ol/renderer/canvas/canvasimagelayerrenderer.js b/src/ol/renderer/canvas/canvasimagelayerrenderer.js index afbaebfbf4..6fad17913b 100644 --- a/src/ol/renderer/canvas/canvasimagelayerrenderer.js +++ b/src/ol/renderer/canvas/canvasimagelayerrenderer.js @@ -111,7 +111,7 @@ ol.renderer.canvas.ImageLayer.prototype.prepareFrame = !ol.extent.isEmpty(renderedExtent)) { var projection = viewState.projection; var sourceProjection = imageSource.getProjection(); - if (goog.isDefAndNotNull(sourceProjection)) { + if (!goog.isNull(sourceProjection)) { goog.asserts.assert(ol.proj.equivalent(projection, sourceProjection)); projection = sourceProjection; } diff --git a/src/ol/renderer/dom/domimagelayerrenderer.js b/src/ol/renderer/dom/domimagelayerrenderer.js index fabf03ea8c..0a8f59388b 100644 --- a/src/ol/renderer/dom/domimagelayerrenderer.js +++ b/src/ol/renderer/dom/domimagelayerrenderer.js @@ -107,7 +107,7 @@ ol.renderer.dom.ImageLayer.prototype.prepareFrame = !ol.extent.isEmpty(renderedExtent)) { var projection = viewState.projection; var sourceProjection = imageSource.getProjection(); - if (goog.isDefAndNotNull(sourceProjection)) { + if (!goog.isNull(sourceProjection)) { goog.asserts.assert(ol.proj.equivalent(projection, sourceProjection)); projection = sourceProjection; } diff --git a/src/ol/renderer/webgl/webglimagelayerrenderer.js b/src/ol/renderer/webgl/webglimagelayerrenderer.js index 07721bcb10..b8ce5a1fa0 100644 --- a/src/ol/renderer/webgl/webglimagelayerrenderer.js +++ b/src/ol/renderer/webgl/webglimagelayerrenderer.js @@ -127,7 +127,7 @@ ol.renderer.webgl.ImageLayer.prototype.prepareFrame = !ol.extent.isEmpty(renderedExtent)) { var projection = viewState.projection; var sourceProjection = imageSource.getProjection(); - if (goog.isDefAndNotNull(sourceProjection)) { + if (!goog.isNull(sourceProjection)) { goog.asserts.assert(ol.proj.equivalent(projection, sourceProjection)); projection = sourceProjection; }