Port ol.renderer.canvas to new extents
This commit is contained in:
@@ -113,8 +113,8 @@ ol.renderer.canvas.ImageLayer.prototype.renderFrame =
|
|||||||
1);
|
1);
|
||||||
goog.vec.Mat4.translate(
|
goog.vec.Mat4.translate(
|
||||||
transform,
|
transform,
|
||||||
(imageExtent.minX - viewCenter[0]) / imageResolution,
|
(imageExtent[0] - viewCenter[0]) / imageResolution,
|
||||||
(viewCenter[1] - imageExtent.maxY) / imageResolution,
|
(viewCenter[1] - imageExtent[3]) / imageResolution,
|
||||||
0);
|
0);
|
||||||
|
|
||||||
this.updateAttributions(frameState.attributions, image.getAttributions());
|
this.updateAttributions(frameState.attributions, image.getAttributions());
|
||||||
|
|||||||
@@ -9,12 +9,12 @@ goog.require('goog.dom');
|
|||||||
goog.require('goog.dom.TagName');
|
goog.require('goog.dom.TagName');
|
||||||
goog.require('goog.object');
|
goog.require('goog.object');
|
||||||
goog.require('goog.vec.Mat4');
|
goog.require('goog.vec.Mat4');
|
||||||
goog.require('ol.Extent');
|
|
||||||
goog.require('ol.Size');
|
goog.require('ol.Size');
|
||||||
goog.require('ol.Tile');
|
goog.require('ol.Tile');
|
||||||
goog.require('ol.TileCoord');
|
goog.require('ol.TileCoord');
|
||||||
goog.require('ol.TileRange');
|
goog.require('ol.TileRange');
|
||||||
goog.require('ol.TileState');
|
goog.require('ol.TileState');
|
||||||
|
goog.require('ol.extent');
|
||||||
goog.require('ol.layer.TileLayer');
|
goog.require('ol.layer.TileLayer');
|
||||||
goog.require('ol.renderer.Map');
|
goog.require('ol.renderer.Map');
|
||||||
goog.require('ol.renderer.canvas.Layer');
|
goog.require('ol.renderer.canvas.Layer');
|
||||||
@@ -187,7 +187,7 @@ ol.renderer.canvas.TileLayer.prototype.renderFrame =
|
|||||||
var extent;
|
var extent;
|
||||||
if (tileResolution == view2DState.resolution) {
|
if (tileResolution == view2DState.resolution) {
|
||||||
center = this.snapCenterToPixel(center, tileResolution, frameState.size);
|
center = this.snapCenterToPixel(center, tileResolution, frameState.size);
|
||||||
extent = ol.Extent.getForView2DAndSize(
|
extent = ol.extent.getForView2DAndSize(
|
||||||
center, tileResolution, view2DState.rotation, frameState.size);
|
center, tileResolution, view2DState.rotation, frameState.size);
|
||||||
} else {
|
} else {
|
||||||
extent = frameState.extent;
|
extent = frameState.extent;
|
||||||
@@ -244,8 +244,8 @@ ol.renderer.canvas.TileLayer.prototype.renderFrame =
|
|||||||
Math.floor((canvasTileRangeHeight - tileRange.getHeight()) / 2);
|
Math.floor((canvasTileRangeHeight - tileRange.getHeight()) / 2);
|
||||||
this.renderedCanvasZ_ = z;
|
this.renderedCanvasZ_ = z;
|
||||||
this.renderedCanvasTileRange_ = new ol.TileRange(
|
this.renderedCanvasTileRange_ = new ol.TileRange(
|
||||||
minX, minY,
|
minX, minX + canvasTileRangeWidth - 1,
|
||||||
minX + canvasTileRangeWidth - 1, minY + canvasTileRangeHeight - 1);
|
minY, minY + canvasTileRangeHeight - 1);
|
||||||
this.renderedTiles_ =
|
this.renderedTiles_ =
|
||||||
new Array(canvasTileRangeWidth * canvasTileRangeHeight);
|
new Array(canvasTileRangeWidth * canvasTileRangeHeight);
|
||||||
canvasTileRange = this.renderedCanvasTileRange_;
|
canvasTileRange = this.renderedCanvasTileRange_;
|
||||||
@@ -271,7 +271,7 @@ ol.renderer.canvas.TileLayer.prototype.renderFrame =
|
|||||||
tilesToDrawByZ, getTileIfLoaded);
|
tilesToDrawByZ, getTileIfLoaded);
|
||||||
|
|
||||||
var allTilesLoaded = true;
|
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 tmpTileRange = new ol.TileRange(0, 0, 0, 0);
|
||||||
var childTileRange, fullyLoaded, tile, tileState, x, y;
|
var childTileRange, fullyLoaded, tile, tileState, x, y;
|
||||||
for (x = tileRange.minX; x <= tileRange.maxX; ++x) {
|
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);
|
var zs = goog.array.map(goog.object.getKeys(tilesToDrawByZ), Number);
|
||||||
goog.array.sort(zs);
|
goog.array.sort(zs);
|
||||||
var opaque = tileSource.getOpaque();
|
var opaque = tileSource.getOpaque();
|
||||||
var origin = tileGrid.getTileCoordExtent(new ol.TileCoord(
|
var origin = ol.extent.getTopLeft(tileGrid.getTileCoordExtent(
|
||||||
z, canvasTileRange.minX, canvasTileRange.maxY), tmpExtent).getTopLeft();
|
new ol.TileCoord(z, canvasTileRange.minX, canvasTileRange.maxY),
|
||||||
|
tmpExtent));
|
||||||
var currentZ, index, scale, tileCoordKey, tileExtent, tilesToDraw;
|
var currentZ, index, scale, tileCoordKey, tileExtent, tilesToDraw;
|
||||||
var ix, iy, interimTileExtent, interimTileRange, maxX, maxY;
|
var ix, iy, interimTileExtent, interimTileRange, maxX, maxY;
|
||||||
var height, width;
|
var height, width;
|
||||||
@@ -348,8 +349,8 @@ ol.renderer.canvas.TileLayer.prototype.renderFrame =
|
|||||||
for (tileCoordKey in tilesToDraw) {
|
for (tileCoordKey in tilesToDraw) {
|
||||||
tile = tilesToDraw[tileCoordKey];
|
tile = tilesToDraw[tileCoordKey];
|
||||||
tileExtent = tileGrid.getTileCoordExtent(tile.tileCoord, tmpExtent);
|
tileExtent = tileGrid.getTileCoordExtent(tile.tileCoord, tmpExtent);
|
||||||
x = (tileExtent.minX - origin[0]) / tileResolution;
|
x = (tileExtent[0] - origin[0]) / tileResolution;
|
||||||
y = (origin[1] - tileExtent.maxY) / tileResolution;
|
y = (origin[1] - tileExtent[3]) / tileResolution;
|
||||||
width = scale * tileSize.width;
|
width = scale * tileSize.width;
|
||||||
height = scale * tileSize.height;
|
height = scale * tileSize.height;
|
||||||
tileState = tile.getState();
|
tileState = tile.getState();
|
||||||
|
|||||||
@@ -6,11 +6,11 @@ goog.require('goog.events');
|
|||||||
goog.require('goog.events.EventType');
|
goog.require('goog.events.EventType');
|
||||||
goog.require('goog.object');
|
goog.require('goog.object');
|
||||||
goog.require('goog.vec.Mat4');
|
goog.require('goog.vec.Mat4');
|
||||||
goog.require('ol.Extent');
|
|
||||||
goog.require('ol.Size');
|
goog.require('ol.Size');
|
||||||
goog.require('ol.TileCache');
|
goog.require('ol.TileCache');
|
||||||
goog.require('ol.TileCoord');
|
goog.require('ol.TileCoord');
|
||||||
goog.require('ol.ViewHint');
|
goog.require('ol.ViewHint');
|
||||||
|
goog.require('ol.extent');
|
||||||
goog.require('ol.filter.Extent');
|
goog.require('ol.filter.Extent');
|
||||||
goog.require('ol.filter.Geometry');
|
goog.require('ol.filter.Geometry');
|
||||||
goog.require('ol.filter.Logical');
|
goog.require('ol.filter.Logical');
|
||||||
@@ -229,7 +229,7 @@ ol.renderer.canvas.VectorLayer.prototype.renderFrame =
|
|||||||
extent, tileResolution),
|
extent, tileResolution),
|
||||||
tileRangeExtent = tileGrid.getTileRangeExtent(z, tileRange),
|
tileRangeExtent = tileGrid.getTileRangeExtent(z, tileRange),
|
||||||
tileSize = tileGrid.getTileSize(z),
|
tileSize = tileGrid.getTileSize(z),
|
||||||
sketchOrigin = tileRangeExtent.getTopLeft(),
|
sketchOrigin = ol.extent.getTopLeft(tileRangeExtent),
|
||||||
transform = this.transform_;
|
transform = this.transform_;
|
||||||
|
|
||||||
goog.vec.Mat4.makeIdentity(transform);
|
goog.vec.Mat4.makeIdentity(transform);
|
||||||
@@ -324,10 +324,10 @@ ol.renderer.canvas.VectorLayer.prototype.renderFrame =
|
|||||||
tilesToRender[key] = tileCoord;
|
tilesToRender[key] = tileCoord;
|
||||||
} else if (!frameState.viewHints[ol.ViewHint.ANIMATING]) {
|
} else if (!frameState.viewHints[ol.ViewHint.ANIMATING]) {
|
||||||
tileExtent = tileGrid.getTileCoordExtent(tileCoord);
|
tileExtent = tileGrid.getTileCoordExtent(tileCoord);
|
||||||
tileExtent.minX -= tileGutter;
|
tileExtent[0] -= tileGutter;
|
||||||
tileExtent.minY -= tileGutter;
|
tileExtent[1] += tileGutter;
|
||||||
tileExtent.maxX += tileGutter;
|
tileExtent[2] -= tileGutter;
|
||||||
tileExtent.maxY += tileGutter;
|
tileExtent[3] += tileGutter;
|
||||||
extentFilter = new ol.filter.Extent(tileExtent);
|
extentFilter = new ol.filter.Extent(tileExtent);
|
||||||
for (i = 0; i < numFilters; ++i) {
|
for (i = 0; i < numFilters; ++i) {
|
||||||
geomFilter = filters[i];
|
geomFilter = filters[i];
|
||||||
|
|||||||
Reference in New Issue
Block a user