Use ol.vec.Mat4.makeTransform2D in ol.renderer.canvas.TileLayer

This commit is contained in:
Tom Payne
2013-12-01 21:22:01 +01:00
parent 5e5fc85238
commit bf08e6afe3

View File

@@ -18,6 +18,7 @@ goog.require('ol.extent');
goog.require('ol.layer.Tile');
goog.require('ol.renderer.Map');
goog.require('ol.renderer.canvas.Layer');
goog.require('ol.vec.Mat4');
@@ -382,20 +383,12 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame =
this.scheduleExpireCache(frameState, tileSource);
this.updateLogos(frameState, tileSource);
var imageTransform = this.imageTransform_;
goog.vec.Mat4.makeIdentity(imageTransform);
goog.vec.Mat4.translate(imageTransform,
frameState.size[0] / 2, frameState.size[1] / 2, 0);
goog.vec.Mat4.rotateZ(imageTransform, view2DState.rotation);
goog.vec.Mat4.scale(
imageTransform,
ol.vec.Mat4.makeTransform2D(this.imageTransform_,
frameState.size[0] / 2, frameState.size[1] / 2,
tileResolution / view2DState.resolution,
tileResolution / view2DState.resolution,
1);
goog.vec.Mat4.translate(
imageTransform,
view2DState.rotation,
(origin[0] - center[0]) / tileResolution,
(center[1] - origin[1]) / tileResolution,
0);
(center[1] - origin[1]) / tileResolution);
};