ol 9.1.1-dev.1714573976514 → 9.1.1-dev.1714847031230
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
package/renderer/canvas/Layer.js
CHANGED
|
@@ -283,7 +283,7 @@ class CanvasLayerRenderer extends LayerRenderer {
|
|
|
283
283
|
canvas.width = width;
|
|
284
284
|
canvas.height = height;
|
|
285
285
|
} else {
|
|
286
|
-
this.
|
|
286
|
+
this.context.clearRect(0, 0, width, height);
|
|
287
287
|
}
|
|
288
288
|
if (canvasTransform !== canvas.style.transform) {
|
|
289
289
|
canvas.style.transform = canvasTransform;
|
|
@@ -20,9 +20,15 @@ declare class CanvasVectorLayerRenderer extends CanvasLayerRenderer<any> {
|
|
|
20
20
|
*/
|
|
21
21
|
hitDetectionImageData_: ImageData | null;
|
|
22
22
|
/**
|
|
23
|
+
* @private
|
|
24
|
+
* @type {boolean}
|
|
25
|
+
*/
|
|
26
|
+
private clipped_;
|
|
27
|
+
/**
|
|
28
|
+
* @private
|
|
23
29
|
* @type {Array<import("../../Feature.js").default>}
|
|
24
30
|
*/
|
|
25
|
-
renderedFeatures_
|
|
31
|
+
private renderedFeatures_;
|
|
26
32
|
/**
|
|
27
33
|
* @private
|
|
28
34
|
* @type {number}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VectorLayer.d.ts","sourceRoot":"","sources":["VectorLayer.js"],"names":[],"mappings":";AA4CA;;;;GAIG;AACH;IACE;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"VectorLayer.d.ts","sourceRoot":"","sources":["VectorLayer.js"],"names":[],"mappings":";AA4CA;;;;GAIG;AACH;IACE;;OAEG;IACH,gFAqHC;IAlHC,eAAe;IACf,qCAA2E;IAE3E;;OAEG;IACH,yBAFU,OAAO,CAEW;IAE5B;;OAEG;IACH,wBAFU,SAAS,GAAC,IAAI,CAEU;IAElC;;;OAGG;IACH,iBAAqB;IAErB;;;OAGG;IACH,0BAA6B;IAE7B;;;OAGG;IACH,0BAA2B;IAE3B;;;OAGG;IACH,4BAA8B;IAE9B;;;OAGG;IACH,wBAAoC;IAEpC;;;OAGG;IACH,+BAA2C;IAE3C;;;OAGG;IACH,0BAAsB;IAEtB;;;OAGG;IACH,wBAA2B;IAE3B;;;OAGG;IACH,4BAA+B;IAE/B;;;OAGG;IACH,4BAA4B;IAE5B;;;OAGG;IACH,6BAAgC;IAEhC;;;OAGG;IACH,gCAA4B;IAE5B;;;OAGG;IACH,qBAAwB;IAExB;;;OAGG;IACH,oBAFU,OAAO,CAEa;IAE9B;;;OAGG;IACH,UAFU,OAAO,CAEG;IAEpB;;;OAGG;IACH,uBAA0B;IAE1B;;;OAGG;IACH,iBAAiB;IAGnB;;;;;OAKG;IACH,4BALW,aAAa,cACb,OAAO,cAAc,EAAE,UAAU,6CA4D3C;IAED;;OAEG;IACH,wBASC;IAED;;OAEG;IACH,0BAWC;IAED;;;OAGG;IACH,4BAFW,OAAO,cAAc,EAAE,UAAU,QAO3C;IAmFD;;;;;OAKG;IACH,mBAJW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,QAAQ,MAAM,OAAO,eAAe,EAAE,OAAO,CAAC,CAAC,CA8F1D;IA4FD;;;;OAIG;IACH,gCAEC;IA0MD;;;;;;;;;OASG;IACH,uBATW,OAAO,kBAAkB,EAAE,OAAO,oBAClC,MAAM,UACN,OAAO,sBAAsB,EAAE,OAAO,GAAC,MAAM,OAAO,sBAAsB,EAAE,OAAO,CAAC,gBACpF,OAAO,qCAAqC,EAAE,OAAO,mIAIpD,OAAO,CA0ClB;CACF;gCAnyB6C,YAAY;0BAKnD,sCAAsC"}
|
|
@@ -68,6 +68,13 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
|
|
|
68
68
|
this.hitDetectionImageData_ = null;
|
|
69
69
|
|
|
70
70
|
/**
|
|
71
|
+
* @private
|
|
72
|
+
* @type {boolean}
|
|
73
|
+
*/
|
|
74
|
+
this.clipped_ = false;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* @private
|
|
71
78
|
* @type {Array<import("../../Feature.js").default>}
|
|
72
79
|
*/
|
|
73
80
|
this.renderedFeatures_ = null;
|
|
@@ -197,7 +204,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
|
|
|
197
204
|
? Math.floor((extent[0] - projectionExtent[0]) / worldWidth)
|
|
198
205
|
: 0;
|
|
199
206
|
do {
|
|
200
|
-
|
|
207
|
+
let transform = this.getRenderTransform(
|
|
201
208
|
center,
|
|
202
209
|
resolution,
|
|
203
210
|
0,
|
|
@@ -206,6 +213,9 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
|
|
|
206
213
|
height,
|
|
207
214
|
world * worldWidth,
|
|
208
215
|
);
|
|
216
|
+
if (frameState.declutter) {
|
|
217
|
+
transform = transform.slice(0);
|
|
218
|
+
}
|
|
209
219
|
executorGroup.execute(
|
|
210
220
|
context,
|
|
211
221
|
[context.canvas.width, context.canvas.height],
|
|
@@ -274,6 +284,9 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
|
|
|
274
284
|
return;
|
|
275
285
|
}
|
|
276
286
|
this.replayGroup_.renderDeferred();
|
|
287
|
+
if (this.clipped_) {
|
|
288
|
+
this.context.restore();
|
|
289
|
+
}
|
|
277
290
|
this.resetDrawContext_();
|
|
278
291
|
}
|
|
279
292
|
|
|
@@ -309,12 +322,12 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
|
|
|
309
322
|
const projection = viewState.projection;
|
|
310
323
|
|
|
311
324
|
// clipped rendering if layer extent is set
|
|
312
|
-
|
|
325
|
+
this.clipped_ = false;
|
|
313
326
|
if (render && layerState.extent && this.clipping) {
|
|
314
327
|
const layerExtent = fromUserExtent(layerState.extent, projection);
|
|
315
328
|
render = intersectsExtent(layerExtent, frameState.extent);
|
|
316
|
-
|
|
317
|
-
if (
|
|
329
|
+
this.clipped_ = render && !containsExtent(layerExtent, frameState.extent);
|
|
330
|
+
if (this.clipped_) {
|
|
318
331
|
this.clipUnrotated(context, frameState, layerExtent);
|
|
319
332
|
}
|
|
320
333
|
}
|
|
@@ -327,7 +340,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
|
|
|
327
340
|
);
|
|
328
341
|
}
|
|
329
342
|
|
|
330
|
-
if (
|
|
343
|
+
if (!frameState.declutter && this.clipped_) {
|
|
331
344
|
context.restore();
|
|
332
345
|
}
|
|
333
346
|
|
package/util.js
CHANGED