From 465e24cf4e1dc9a789f9afde7fb36e1cfd48fcda Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Tue, 16 Apr 2013 16:25:27 +0200 Subject: [PATCH] Port ol.renderer.canvas to new extents --- .../canvas/canvasimagelayerrenderer.js | 4 ++-- .../canvas/canvastilelayerrenderer.js | 19 ++++++++++--------- .../canvas/canvasvectorlayerrenderer.js | 12 ++++++------ 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/ol/renderer/canvas/canvasimagelayerrenderer.js b/src/ol/renderer/canvas/canvasimagelayerrenderer.js index 47385527af..d0f1599c1a 100644 --- a/src/ol/renderer/canvas/canvasimagelayerrenderer.js +++ b/src/ol/renderer/canvas/canvasimagelayerrenderer.js @@ -113,8 +113,8 @@ ol.renderer.canvas.ImageLayer.prototype.renderFrame = 1); goog.vec.Mat4.translate( transform, - (imageExtent.minX - viewCenter[0]) / imageResolution, - (viewCenter[1] - imageExtent.maxY) / imageResolution, + (imageExtent[0] - viewCenter[0]) / imageResolution, + (viewCenter[1] - imageExtent[3]) / imageResolution, 0); this.updateAttributions(frameState.attributions, image.getAttributions()); diff --git a/src/ol/renderer/canvas/canvastilelayerrenderer.js b/src/ol/renderer/canvas/canvastilelayerrenderer.js index a84f67ca10..55ffae16b7 100644 --- a/src/ol/renderer/canvas/canvastilelayerrenderer.js +++ b/src/ol/renderer/canvas/canvastilelayerrenderer.js @@ -9,12 +9,12 @@ goog.require('goog.dom'); goog.require('goog.dom.TagName'); goog.require('goog.object'); goog.require('goog.vec.Mat4'); -goog.require('ol.Extent'); goog.require('ol.Size'); goog.require('ol.Tile'); goog.require('ol.TileCoord'); goog.require('ol.TileRange'); goog.require('ol.TileState'); +goog.require('ol.extent'); goog.require('ol.layer.TileLayer'); goog.require('ol.renderer.Map'); goog.require('ol.renderer.canvas.Layer'); @@ -187,7 +187,7 @@ ol.renderer.canvas.TileLayer.prototype.renderFrame = var extent; if (tileResolution == view2DState.resolution) { center = this.snapCenterToPixel(center, tileResolution, frameState.size); - extent = ol.Extent.getForView2DAndSize( + extent = ol.extent.getForView2DAndSize( center, tileResolution, view2DState.rotation, frameState.size); } else { extent = frameState.extent; @@ -244,8 +244,8 @@ ol.renderer.canvas.TileLayer.prototype.renderFrame = Math.floor((canvasTileRangeHeight - tileRange.getHeight()) / 2); this.renderedCanvasZ_ = z; this.renderedCanvasTileRange_ = new ol.TileRange( - minX, minY, - minX + canvasTileRangeWidth - 1, minY + canvasTileRangeHeight - 1); + minX, minX + canvasTileRangeWidth - 1, + minY, minY + canvasTileRangeHeight - 1); this.renderedTiles_ = new Array(canvasTileRangeWidth * canvasTileRangeHeight); canvasTileRange = this.renderedCanvasTileRange_; @@ -271,7 +271,7 @@ ol.renderer.canvas.TileLayer.prototype.renderFrame = tilesToDrawByZ, getTileIfLoaded); var allTilesLoaded = true; - var tmpExtent = new ol.Extent(0, 0, 0, 0); + var tmpExtent = ol.extent.createEmptyExtent(); var tmpTileRange = new ol.TileRange(0, 0, 0, 0); var childTileRange, fullyLoaded, tile, tileState, x, y; for (x = tileRange.minX; x <= tileRange.maxX; ++x) { @@ -315,8 +315,9 @@ ol.renderer.canvas.TileLayer.prototype.renderFrame = var zs = goog.array.map(goog.object.getKeys(tilesToDrawByZ), Number); goog.array.sort(zs); var opaque = tileSource.getOpaque(); - var origin = tileGrid.getTileCoordExtent(new ol.TileCoord( - z, canvasTileRange.minX, canvasTileRange.maxY), tmpExtent).getTopLeft(); + var origin = ol.extent.getTopLeft(tileGrid.getTileCoordExtent( + new ol.TileCoord(z, canvasTileRange.minX, canvasTileRange.maxY), + tmpExtent)); var currentZ, index, scale, tileCoordKey, tileExtent, tilesToDraw; var ix, iy, interimTileExtent, interimTileRange, maxX, maxY; var height, width; @@ -348,8 +349,8 @@ ol.renderer.canvas.TileLayer.prototype.renderFrame = for (tileCoordKey in tilesToDraw) { tile = tilesToDraw[tileCoordKey]; tileExtent = tileGrid.getTileCoordExtent(tile.tileCoord, tmpExtent); - x = (tileExtent.minX - origin[0]) / tileResolution; - y = (origin[1] - tileExtent.maxY) / tileResolution; + x = (tileExtent[0] - origin[0]) / tileResolution; + y = (origin[1] - tileExtent[3]) / tileResolution; width = scale * tileSize.width; height = scale * tileSize.height; tileState = tile.getState(); diff --git a/src/ol/renderer/canvas/canvasvectorlayerrenderer.js b/src/ol/renderer/canvas/canvasvectorlayerrenderer.js index 923b8a4f15..b343880a36 100644 --- a/src/ol/renderer/canvas/canvasvectorlayerrenderer.js +++ b/src/ol/renderer/canvas/canvasvectorlayerrenderer.js @@ -6,11 +6,11 @@ goog.require('goog.events'); goog.require('goog.events.EventType'); goog.require('goog.object'); goog.require('goog.vec.Mat4'); -goog.require('ol.Extent'); goog.require('ol.Size'); goog.require('ol.TileCache'); goog.require('ol.TileCoord'); goog.require('ol.ViewHint'); +goog.require('ol.extent'); goog.require('ol.filter.Extent'); goog.require('ol.filter.Geometry'); goog.require('ol.filter.Logical'); @@ -229,7 +229,7 @@ ol.renderer.canvas.VectorLayer.prototype.renderFrame = extent, tileResolution), tileRangeExtent = tileGrid.getTileRangeExtent(z, tileRange), tileSize = tileGrid.getTileSize(z), - sketchOrigin = tileRangeExtent.getTopLeft(), + sketchOrigin = ol.extent.getTopLeft(tileRangeExtent), transform = this.transform_; goog.vec.Mat4.makeIdentity(transform); @@ -324,10 +324,10 @@ ol.renderer.canvas.VectorLayer.prototype.renderFrame = tilesToRender[key] = tileCoord; } else if (!frameState.viewHints[ol.ViewHint.ANIMATING]) { tileExtent = tileGrid.getTileCoordExtent(tileCoord); - tileExtent.minX -= tileGutter; - tileExtent.minY -= tileGutter; - tileExtent.maxX += tileGutter; - tileExtent.maxY += tileGutter; + tileExtent[0] -= tileGutter; + tileExtent[1] += tileGutter; + tileExtent[2] -= tileGutter; + tileExtent[3] += tileGutter; extentFilter = new ol.filter.Extent(tileExtent); for (i = 0; i < numFilters; ++i) { geomFilter = filters[i];