Use full precision for the declutter box
This commit is contained in:
@@ -226,10 +226,6 @@ ol.render.canvas.Replay.prototype.replayImage_ = function(context, x, y, image,
|
|||||||
anchorY *= scale;
|
anchorY *= scale;
|
||||||
x -= anchorX;
|
x -= anchorX;
|
||||||
y -= anchorY;
|
y -= anchorY;
|
||||||
if (snapToPixel) {
|
|
||||||
x = Math.round(x);
|
|
||||||
y = Math.round(y);
|
|
||||||
}
|
|
||||||
|
|
||||||
var w = (width + originX > image.width) ? image.width - originX : width;
|
var w = (width + originX > image.width) ? image.width - originX : width;
|
||||||
var h = (height + originY > image.height) ? image.height - originY : height;
|
var h = (height + originY > image.height) ? image.height - originY : height;
|
||||||
@@ -271,6 +267,12 @@ ol.render.canvas.Replay.prototype.replayImage_ = function(context, x, y, image,
|
|||||||
}
|
}
|
||||||
var canvas = context.canvas;
|
var canvas = context.canvas;
|
||||||
var intersects = box[0] <= canvas.width && box[2] >= 0 && box[1] <= canvas.height && box[3] >= 0;
|
var intersects = box[0] <= canvas.width && box[2] >= 0 && box[1] <= canvas.height && box[3] >= 0;
|
||||||
|
|
||||||
|
if (snapToPixel) {
|
||||||
|
x = Math.round(x);
|
||||||
|
y = Math.round(y);
|
||||||
|
}
|
||||||
|
|
||||||
if (declutterGroup) {
|
if (declutterGroup) {
|
||||||
if (!intersects && declutterGroup[4] == 1) {
|
if (!intersects && declutterGroup[4] == 1) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -571,11 +571,11 @@ describe('ol.rendering.layer.Vector', function() {
|
|||||||
});
|
});
|
||||||
source.addFeature(centerFeature);
|
source.addFeature(centerFeature);
|
||||||
source.addFeature(new ol.Feature({
|
source.addFeature(new ol.Feature({
|
||||||
geometry: new ol.geom.Point([center[0] - 550, center[1]]),
|
geometry: new ol.geom.Point([center[0] - 540, center[1]]),
|
||||||
text: 'west'
|
text: 'west'
|
||||||
}));
|
}));
|
||||||
source.addFeature(new ol.Feature({
|
source.addFeature(new ol.Feature({
|
||||||
geometry: new ol.geom.Point([center[0] + 550, center[1]]),
|
geometry: new ol.geom.Point([center[0] + 540, center[1]]),
|
||||||
text: 'east'
|
text: 'east'
|
||||||
}));
|
}));
|
||||||
|
|
||||||
@@ -612,11 +612,11 @@ describe('ol.rendering.layer.Vector', function() {
|
|||||||
});
|
});
|
||||||
source.addFeature(centerFeature);
|
source.addFeature(centerFeature);
|
||||||
source.addFeature(new ol.Feature({
|
source.addFeature(new ol.Feature({
|
||||||
geometry: new ol.geom.Point([center[0] - 550, center[1]]),
|
geometry: new ol.geom.Point([center[0] - 540, center[1]]),
|
||||||
text: 'west'
|
text: 'west'
|
||||||
}));
|
}));
|
||||||
source.addFeature(new ol.Feature({
|
source.addFeature(new ol.Feature({
|
||||||
geometry: new ol.geom.Point([center[0] + 550, center[1]]),
|
geometry: new ol.geom.Point([center[0] + 540, center[1]]),
|
||||||
text: 'east'
|
text: 'east'
|
||||||
}));
|
}));
|
||||||
|
|
||||||
@@ -652,12 +652,12 @@ describe('ol.rendering.layer.Vector', function() {
|
|||||||
zIndex: 2
|
zIndex: 2
|
||||||
}));
|
}));
|
||||||
source.addFeature(new ol.Feature({
|
source.addFeature(new ol.Feature({
|
||||||
geometry: new ol.geom.Point([center[0] - 550, center[1]]),
|
geometry: new ol.geom.Point([center[0] - 540, center[1]]),
|
||||||
text: 'west',
|
text: 'west',
|
||||||
zIndex: 3
|
zIndex: 3
|
||||||
}));
|
}));
|
||||||
source.addFeature(new ol.Feature({
|
source.addFeature(new ol.Feature({
|
||||||
geometry: new ol.geom.Point([center[0] + 550, center[1]]),
|
geometry: new ol.geom.Point([center[0] + 540, center[1]]),
|
||||||
text: 'east',
|
text: 'east',
|
||||||
zIndex: 1
|
zIndex: 1
|
||||||
}));
|
}));
|
||||||
@@ -691,10 +691,10 @@ describe('ol.rendering.layer.Vector', function() {
|
|||||||
});
|
});
|
||||||
source.addFeature(centerFeature);
|
source.addFeature(centerFeature);
|
||||||
source.addFeature(new ol.Feature({
|
source.addFeature(new ol.Feature({
|
||||||
geometry: new ol.geom.Point([center[0] - 550, center[1]])
|
geometry: new ol.geom.Point([center[0] - 540, center[1]])
|
||||||
}));
|
}));
|
||||||
source.addFeature(new ol.Feature({
|
source.addFeature(new ol.Feature({
|
||||||
geometry: new ol.geom.Point([center[0] + 550, center[1]])
|
geometry: new ol.geom.Point([center[0] + 540, center[1]])
|
||||||
}));
|
}));
|
||||||
|
|
||||||
layer.setDeclutter(true);
|
layer.setDeclutter(true);
|
||||||
@@ -731,10 +731,10 @@ describe('ol.rendering.layer.Vector', function() {
|
|||||||
});
|
});
|
||||||
source.addFeature(centerFeature);
|
source.addFeature(centerFeature);
|
||||||
source.addFeature(new ol.Feature({
|
source.addFeature(new ol.Feature({
|
||||||
geometry: new ol.geom.Point([center[0] - 550, center[1]])
|
geometry: new ol.geom.Point([center[0] - 540, center[1]])
|
||||||
}));
|
}));
|
||||||
source.addFeature(new ol.Feature({
|
source.addFeature(new ol.Feature({
|
||||||
geometry: new ol.geom.Point([center[0] + 550, center[1]])
|
geometry: new ol.geom.Point([center[0] + 540, center[1]])
|
||||||
}));
|
}));
|
||||||
|
|
||||||
layer.setDeclutter(true);
|
layer.setDeclutter(true);
|
||||||
@@ -770,11 +770,11 @@ describe('ol.rendering.layer.Vector', function() {
|
|||||||
zIndex: 2
|
zIndex: 2
|
||||||
}));
|
}));
|
||||||
source.addFeature(new ol.Feature({
|
source.addFeature(new ol.Feature({
|
||||||
geometry: new ol.geom.Point([center[0] - 550, center[1]]),
|
geometry: new ol.geom.Point([center[0] - 540, center[1]]),
|
||||||
zIndex: 3
|
zIndex: 3
|
||||||
}));
|
}));
|
||||||
source.addFeature(new ol.Feature({
|
source.addFeature(new ol.Feature({
|
||||||
geometry: new ol.geom.Point([center[0] + 550, center[1]]),
|
geometry: new ol.geom.Point([center[0] + 540, center[1]]),
|
||||||
zIndex: 1
|
zIndex: 1
|
||||||
}));
|
}));
|
||||||
|
|
||||||
@@ -809,11 +809,11 @@ describe('ol.rendering.layer.Vector', function() {
|
|||||||
text: 'center'
|
text: 'center'
|
||||||
}));
|
}));
|
||||||
source.addFeature(new ol.Feature({
|
source.addFeature(new ol.Feature({
|
||||||
geometry: new ol.geom.Point([center[0] - 550, center[1]]),
|
geometry: new ol.geom.Point([center[0] - 540, center[1]]),
|
||||||
text: 'west'
|
text: 'west'
|
||||||
}));
|
}));
|
||||||
source.addFeature(new ol.Feature({
|
source.addFeature(new ol.Feature({
|
||||||
geometry: new ol.geom.Point([center[0] + 550, center[1]]),
|
geometry: new ol.geom.Point([center[0] + 540, center[1]]),
|
||||||
text: 'east'
|
text: 'east'
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user