Merge pull request #239 from ahocevar/3625
Removing imageOffset and using getImageSize. r=@elemoine
This commit is contained in:
@@ -45,7 +45,7 @@
|
|||||||
"http://demo.opengeo.org/geoserver/wms",
|
"http://demo.opengeo.org/geoserver/wms",
|
||||||
{layers: 'topp:states'},
|
{layers: 'topp:states'},
|
||||||
{gutter: 15});
|
{gutter: 15});
|
||||||
var states = new OpenLayers.Layer.WMS( "Roads (no gutter)",
|
var states = new OpenLayers.Layer.WMS( "States (no gutter)",
|
||||||
"http://demo.opengeo.org/geoserver/wms",
|
"http://demo.opengeo.org/geoserver/wms",
|
||||||
{layers: 'topp:states'});
|
{layers: 'topp:states'});
|
||||||
map.addLayers([states, states15]);
|
map.addLayers([states, states15]);
|
||||||
|
|||||||
@@ -159,13 +159,6 @@ OpenLayers.Layer = OpenLayers.Class({
|
|||||||
*/
|
*/
|
||||||
imageSize: null,
|
imageSize: null,
|
||||||
|
|
||||||
/**
|
|
||||||
* Property: imageOffset
|
|
||||||
* {<OpenLayers.Pixel>} For layers with a gutter, the image offset
|
|
||||||
* represents displacement due to the gutter.
|
|
||||||
*/
|
|
||||||
imageOffset: null,
|
|
||||||
|
|
||||||
// OPTIONS
|
// OPTIONS
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -693,7 +686,7 @@ OpenLayers.Layer = OpenLayers.Class({
|
|||||||
/**
|
/**
|
||||||
* APIMethod: setTileSize
|
* APIMethod: setTileSize
|
||||||
* Set the tile size based on the map size. This also sets layer.imageSize
|
* Set the tile size based on the map size. This also sets layer.imageSize
|
||||||
* and layer.imageOffset for use by Tile.Image.
|
* or use by Tile.Image.
|
||||||
*
|
*
|
||||||
* Parameters:
|
* Parameters:
|
||||||
* size - {<OpenLayers.Size>}
|
* size - {<OpenLayers.Size>}
|
||||||
@@ -710,8 +703,6 @@ OpenLayers.Layer = OpenLayers.Class({
|
|||||||
// this.name + ": layers with " +
|
// this.name + ": layers with " +
|
||||||
// "gutters need non-null tile sizes");
|
// "gutters need non-null tile sizes");
|
||||||
//}
|
//}
|
||||||
this.imageOffset = new OpenLayers.Pixel(-this.gutter,
|
|
||||||
-this.gutter);
|
|
||||||
this.imageSize = new OpenLayers.Size(tileSize.w + (2*this.gutter),
|
this.imageSize = new OpenLayers.Size(tileSize.w + (2*this.gutter),
|
||||||
tileSize.h + (2*this.gutter));
|
tileSize.h + (2*this.gutter));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -208,11 +208,12 @@ OpenLayers.Tile.Image = OpenLayers.Class(OpenLayers.Tile, {
|
|||||||
* code.
|
* code.
|
||||||
*/
|
*/
|
||||||
positionTile: function() {
|
positionTile: function() {
|
||||||
var style = this.getTile().style;
|
var style = this.getTile().style,
|
||||||
|
size = this.layer.getImageSize(this.bounds);
|
||||||
style.left = this.position.x + "%";
|
style.left = this.position.x + "%";
|
||||||
style.top = this.position.y + "%";
|
style.top = this.position.y + "%";
|
||||||
style.width = this.size.w + "%";
|
style.width = size.w + "%";
|
||||||
style.height = this.size.h + "%";
|
style.height = size.h + "%";
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -256,11 +257,6 @@ OpenLayers.Tile.Image = OpenLayers.Class(OpenLayers.Tile, {
|
|||||||
var top = this.layer.gutter / this.layer.tileSize.h * 100;
|
var top = this.layer.gutter / this.layer.tileSize.h * 100;
|
||||||
style.left = -left + "%";
|
style.left = -left + "%";
|
||||||
style.top = -top + "%";
|
style.top = -top + "%";
|
||||||
style.width = (2 * left + 100) + "%";
|
|
||||||
style.height = (2 * top + 100) + "%";
|
|
||||||
} else {
|
|
||||||
style.width = "100%";
|
|
||||||
style.height = "100%";
|
|
||||||
}
|
}
|
||||||
style.visibility = "hidden";
|
style.visibility = "hidden";
|
||||||
style.opacity = 0;
|
style.opacity = 0;
|
||||||
|
|||||||
@@ -764,7 +764,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function test_layer_setTileSize(t) {
|
function test_layer_setTileSize(t) {
|
||||||
t.plan(6);
|
t.plan(4);
|
||||||
|
|
||||||
layer = new OpenLayers.Layer();
|
layer = new OpenLayers.Layer();
|
||||||
|
|
||||||
@@ -784,7 +784,6 @@
|
|||||||
var size = new OpenLayers.Size(2,2);
|
var size = new OpenLayers.Size(2,2);
|
||||||
layer.setTileSize(size);
|
layer.setTileSize(size);
|
||||||
t.ok(layer.tileSize.equals(size), "size paramater set correctly to layer's tile size");
|
t.ok(layer.tileSize.equals(size), "size paramater set correctly to layer's tile size");
|
||||||
t.ok(layer.imageOffset == null, "imageOffset and imageSize null when no gutters")
|
|
||||||
|
|
||||||
//set on layer
|
//set on layer
|
||||||
layer.tileSize = layerTileSize;
|
layer.tileSize = layerTileSize;
|
||||||
@@ -803,10 +802,8 @@
|
|||||||
size = new OpenLayers.Size(10,100);
|
size = new OpenLayers.Size(10,100);
|
||||||
layer.setTileSize(size);
|
layer.setTileSize(size);
|
||||||
|
|
||||||
var desiredImageOffset = new OpenLayers.Pixel(-15, -15);
|
|
||||||
var desiredImageSize = new OpenLayers.Size(40, 130);
|
var desiredImageSize = new OpenLayers.Size(40, 130);
|
||||||
|
|
||||||
t.ok(layer.imageOffset.equals(desiredImageOffset), "image offset correctly calculated");
|
|
||||||
t.ok(layer.imageSize.equals(desiredImageSize), "image size correctly calculated");
|
t.ok(layer.imageSize.equals(desiredImageSize), "image size correctly calculated");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -295,9 +295,6 @@
|
|||||||
t.ok(tile.layer.imageSize == null,
|
t.ok(tile.layer.imageSize == null,
|
||||||
"zero size gutter doesn't set image size");
|
"zero size gutter doesn't set image size");
|
||||||
|
|
||||||
t.ok(tile.layer.imageOffset == null,
|
|
||||||
"zero size gutter doesn't set image offset");
|
|
||||||
|
|
||||||
var zero_gutter_bounds = tile.bounds;
|
var zero_gutter_bounds = tile.bounds;
|
||||||
|
|
||||||
map.destroy();
|
map.destroy();
|
||||||
@@ -312,8 +309,12 @@
|
|||||||
tile.size.h + (2 * gutter))),
|
tile.size.h + (2 * gutter))),
|
||||||
"gutter properly changes image size");
|
"gutter properly changes image size");
|
||||||
|
|
||||||
t.ok(tile.layer.imageOffset.equals(new OpenLayers.Pixel(-gutter, -gutter)),
|
var offsetLeft = -(gutter / layer.tileSize.w * 100) | 0;
|
||||||
"gutter properly sets image offset");
|
var offsetTop = -(gutter / layer.tileSize.h * 100) | 0;
|
||||||
|
t.eq(parseInt(tile.imgDiv.style.left, 10), offsetLeft,
|
||||||
|
"gutter properly sets image left style");
|
||||||
|
t.eq(parseInt(tile.imgDiv.style.top, 10), offsetTop,
|
||||||
|
"gutter properly sets image top style");
|
||||||
t.ok(tile.bounds.equals(zero_gutter_bounds),
|
t.ok(tile.bounds.equals(zero_gutter_bounds),
|
||||||
"gutter doesn't affect tile bounds");
|
"gutter doesn't affect tile bounds");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user