Making backbuffer order configurable

In OpenLayers 2.12, the backbuffer for each layer was placed right below
the layer itself. With animated zooming, that was changed so backbuffers
are all placed below the base layer. As it turned out, this is only good
for certain kinds of layers (e.g. street labels), so the default now is
to place the backbuffer right below its layer again. But the
transitionEffect option can now have a new value, 'map-resize', which will
cause the backbuffer to be placed below the base layer.
This commit is contained in:
ahocevar
2013-03-27 17:46:36 +01:00
parent fe172ccf6e
commit 434178ef49
2 changed files with 24 additions and 7 deletions
+10 -2
View File
@@ -1049,7 +1049,7 @@
}
function test_createBackBuffer(t) {
t.plan(8);
t.plan(9);
var map = new OpenLayers.Map('map');
var layer = new OpenLayers.Layer.WMS('', '', {}, {
@@ -1074,7 +1074,16 @@
OpenLayers.Tile.Image.prototype.createBackBuffer = function() {
return document.createElement('div');
};
layer.transitionEffect = 'map-resize';
backBuffer = layer.createBackBuffer();
t.ok(backBuffer.style.zIndex == 99, 'z-index of backbuffer correct for "map-resize".');
layer.removeBackBuffer();
layer.transitionEffect = 'resize';
backBuffer = layer.createBackBuffer();
t.ok(backBuffer.style.zIndex == layer.getZIndex() - 1, 'z-index of backbuffer correct for "resize",');
layer.backBufferResolution = 1;
layer.gridResolution = 1;
layer.backBuffer = backBuffer;
@@ -1083,7 +1092,6 @@
layer.applyBackBuffer(1);
t.ok(backBuffer != undefined,
'createBackBuffer returns a back buffer');
t.eq(layer.backBuffer.style.zIndex, '99', 'z-index of backbuffer correct.');
t.eq(backBuffer.childNodes[0].style.left, '0px',
'first tile has correct left');
t.eq(backBuffer.childNodes[0].style.top, '0px',