ol 9.0.0-dev.1707154322322 → 9.0.0-dev.1707413332477
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/Map.d.ts +5 -10
- package/Map.d.ts.map +1 -1
- package/Map.js +3 -17
- package/VectorRenderTile.d.ts +0 -7
- package/VectorRenderTile.d.ts.map +1 -1
- package/VectorRenderTile.js +0 -6
- package/dist/ol.d.ts +2 -0
- package/dist/ol.d.ts.map +1 -1
- package/dist/ol.js +2 -2
- package/dist/ol.js.map +1 -1
- package/layer/BaseVector.d.ts +7 -22
- package/layer/BaseVector.d.ts.map +1 -1
- package/layer/BaseVector.js +12 -20
- package/layer/Layer.d.ts +12 -0
- package/layer/Layer.d.ts.map +1 -1
- package/layer/Layer.js +23 -0
- package/layer/VectorImage.d.ts +10 -6
- package/layer/VectorImage.d.ts.map +1 -1
- package/layer/VectorImage.js +5 -3
- package/layer/VectorTile.d.ts +22 -30
- package/layer/VectorTile.d.ts.map +1 -1
- package/layer/VectorTile.js +10 -14
- package/package.json +1 -1
- package/render/VectorContext.d.ts +22 -11
- package/render/VectorContext.d.ts.map +1 -1
- package/render/VectorContext.js +22 -11
- package/render/canvas/Builder.d.ts +2 -1
- package/render/canvas/Builder.d.ts.map +1 -1
- package/render/canvas/Builder.js +19 -3
- package/render/canvas/Executor.d.ts +18 -7
- package/render/canvas/Executor.d.ts.map +1 -1
- package/render/canvas/Executor.js +101 -57
- package/render/canvas/ExecutorGroup.d.ts +39 -9
- package/render/canvas/ExecutorGroup.d.ts.map +1 -1
- package/render/canvas/ExecutorGroup.js +96 -25
- package/render/canvas/ImageBuilder.d.ts +1 -1
- package/render/canvas/ImageBuilder.d.ts.map +1 -1
- package/render/canvas/ImageBuilder.js +30 -8
- package/render/canvas/Immediate.d.ts +11 -0
- package/render/canvas/Immediate.d.ts.map +1 -1
- package/render/canvas/LineStringBuilder.d.ts.map +1 -1
- package/render/canvas/LineStringBuilder.js +6 -4
- package/render/canvas/PolygonBuilder.d.ts.map +1 -1
- package/render/canvas/PolygonBuilder.js +9 -6
- package/render/canvas/TextBuilder.d.ts +4 -0
- package/render/canvas/TextBuilder.d.ts.map +1 -1
- package/render/canvas/TextBuilder.js +15 -6
- package/render/canvas/ZIndexContext.d.ts +56 -0
- package/render/canvas/ZIndexContext.d.ts.map +1 -0
- package/render/canvas/ZIndexContext.js +112 -0
- package/render/canvas/style.d.ts.map +1 -1
- package/render/canvas/style.js +9 -2
- package/render/canvas.d.ts +2 -2
- package/render/canvas.d.ts.map +1 -1
- package/render/canvas.js +6 -2
- package/renderer/Composite.d.ts +3 -2
- package/renderer/Composite.d.ts.map +1 -1
- package/renderer/Composite.js +26 -19
- package/renderer/Layer.d.ts +4 -0
- package/renderer/Layer.d.ts.map +1 -1
- package/renderer/Layer.js +5 -0
- package/renderer/Map.d.ts +0 -4
- package/renderer/Map.d.ts.map +1 -1
- package/renderer/Map.js +0 -5
- package/renderer/canvas/Layer.d.ts +4 -0
- package/renderer/canvas/Layer.d.ts.map +1 -1
- package/renderer/canvas/Layer.js +32 -0
- package/renderer/canvas/VectorImageLayer.d.ts.map +1 -1
- package/renderer/canvas/VectorImageLayer.js +8 -1
- package/renderer/canvas/VectorLayer.d.ts +6 -5
- package/renderer/canvas/VectorLayer.d.ts.map +1 -1
- package/renderer/canvas/VectorLayer.js +55 -58
- package/renderer/canvas/VectorTileLayer.d.ts +14 -3
- package/renderer/canvas/VectorTileLayer.d.ts.map +1 -1
- package/renderer/canvas/VectorTileLayer.js +129 -60
- package/renderer/vector.d.ts +3 -2
- package/renderer/vector.d.ts.map +1 -1
- package/renderer/vector.js +68 -126
- package/renderer/webgl/PointsLayer.d.ts +1 -0
- package/renderer/webgl/PointsLayer.d.ts.map +1 -1
- package/renderer/webgl/PointsLayer.js +2 -0
- package/source/Raster.js +1 -1
- package/source/WMTS.js +1 -1
- package/style/Circle.d.ts +2 -2
- package/style/Circle.d.ts.map +1 -1
- package/style/Circle.js +1 -1
- package/style/Icon.d.ts +1 -1
- package/style/Icon.d.ts.map +1 -1
- package/style/Icon.js +1 -1
- package/style/Image.d.ts +7 -6
- package/style/Image.d.ts.map +1 -1
- package/style/Image.js +4 -3
- package/style/RegularShape.d.ts +2 -2
- package/style/RegularShape.d.ts.map +1 -1
- package/style/RegularShape.js +1 -1
- package/style/Style.d.ts +17 -0
- package/style/Style.d.ts.map +1 -1
- package/style/Style.js +10 -0
- package/style/Text.d.ts +16 -0
- package/style/Text.d.ts.map +1 -1
- package/style/Text.js +17 -0
- package/style/flat.d.ts +11 -6
- package/style/flat.d.ts.map +1 -1
- package/style/flat.js +4 -3
- package/util.js +1 -1
|
@@ -2,10 +2,13 @@
|
|
|
2
2
|
* @module ol/renderer/canvas/VectorTileLayer
|
|
3
3
|
*/
|
|
4
4
|
import CanvasBuilderGroup from '../../render/canvas/BuilderGroup.js';
|
|
5
|
-
import CanvasExecutorGroup
|
|
5
|
+
import CanvasExecutorGroup, {
|
|
6
|
+
DECLUTTER,
|
|
7
|
+
} from '../../render/canvas/ExecutorGroup.js';
|
|
6
8
|
import CanvasTileLayerRenderer from './TileLayer.js';
|
|
7
9
|
import TileState from '../../TileState.js';
|
|
8
10
|
import ViewHint from '../../ViewHint.js';
|
|
11
|
+
import ZIndexContext from '../../render/canvas/ZIndexContext.js';
|
|
9
12
|
import {
|
|
10
13
|
HIT_DETECT_RESOLUTION,
|
|
11
14
|
createHitDetectionImageData,
|
|
@@ -20,6 +23,7 @@ import {
|
|
|
20
23
|
scale as scaleTransform,
|
|
21
24
|
translate as translateTransform,
|
|
22
25
|
} from '../../transform.js';
|
|
26
|
+
import {ascending} from '../../array.js';
|
|
23
27
|
import {
|
|
24
28
|
boundingExtent,
|
|
25
29
|
buffer,
|
|
@@ -88,11 +92,23 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
88
92
|
*/
|
|
89
93
|
this.renderedRotation_;
|
|
90
94
|
|
|
95
|
+
/**
|
|
96
|
+
* @private
|
|
97
|
+
* @type {number}
|
|
98
|
+
*/
|
|
99
|
+
this.renderedOpacity_ = 1;
|
|
100
|
+
|
|
91
101
|
/**
|
|
92
102
|
* @private
|
|
93
103
|
* @type {import("../../transform.js").Transform}
|
|
94
104
|
*/
|
|
95
105
|
this.tmpTransform_ = createTransform();
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* @private
|
|
109
|
+
* @type {Array<ZIndexContext>}
|
|
110
|
+
*/
|
|
111
|
+
this.tileClipContexts_ = null;
|
|
96
112
|
}
|
|
97
113
|
|
|
98
114
|
/**
|
|
@@ -205,7 +221,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
205
221
|
}
|
|
206
222
|
|
|
207
223
|
const source = layer.getSource();
|
|
208
|
-
const declutter = layer.getDeclutter();
|
|
224
|
+
const declutter = !!layer.getDeclutter();
|
|
209
225
|
const sourceTileGrid = source.getTileGrid();
|
|
210
226
|
const tileGrid = source.getTileGridForProjection(projection);
|
|
211
227
|
const tileExtent = tileGrid.getTileCoordExtent(tile.wrappedTileCoord);
|
|
@@ -214,9 +230,6 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
214
230
|
const layerUid = getUid(layer);
|
|
215
231
|
delete tile.hitDetectionImageData[layerUid];
|
|
216
232
|
tile.executorGroups[layerUid] = [];
|
|
217
|
-
if (declutter) {
|
|
218
|
-
tile.declutterExecutorGroups[layerUid] = [];
|
|
219
|
-
}
|
|
220
233
|
builderState.dirty = false;
|
|
221
234
|
for (let t = 0, tt = sourceTiles.length; t < tt; ++t) {
|
|
222
235
|
const sourceTile = sourceTiles[t];
|
|
@@ -237,13 +250,10 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
237
250
|
: builderExtent;
|
|
238
251
|
const builderGroup = new CanvasBuilderGroup(
|
|
239
252
|
0,
|
|
240
|
-
|
|
253
|
+
sharedExtent,
|
|
241
254
|
resolution,
|
|
242
255
|
pixelRatio,
|
|
243
256
|
);
|
|
244
|
-
const declutterBuilderGroup = declutter
|
|
245
|
-
? new CanvasBuilderGroup(0, sharedExtent, resolution, pixelRatio)
|
|
246
|
-
: undefined;
|
|
247
257
|
const squaredTolerance = getSquaredRenderTolerance(
|
|
248
258
|
resolution,
|
|
249
259
|
pixelRatio,
|
|
@@ -251,9 +261,10 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
251
261
|
|
|
252
262
|
/**
|
|
253
263
|
* @param {import("../../Feature.js").FeatureLike} feature Feature.
|
|
264
|
+
* @param {number} [index] Render order index.
|
|
254
265
|
* @this {CanvasVectorTileLayerRenderer}
|
|
255
266
|
*/
|
|
256
|
-
const render = function (feature) {
|
|
267
|
+
const render = function (feature, index) {
|
|
257
268
|
let styles;
|
|
258
269
|
const styleFunction =
|
|
259
270
|
feature.getStyleFunction() || layer.getStyleFunction();
|
|
@@ -266,7 +277,8 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
266
277
|
squaredTolerance,
|
|
267
278
|
styles,
|
|
268
279
|
builderGroup,
|
|
269
|
-
|
|
280
|
+
declutter,
|
|
281
|
+
index,
|
|
270
282
|
);
|
|
271
283
|
builderState.dirty = builderState.dirty || dirty;
|
|
272
284
|
}
|
|
@@ -282,7 +294,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
282
294
|
!bufferedExtent ||
|
|
283
295
|
intersects(bufferedExtent, feature.getGeometry().getExtent())
|
|
284
296
|
) {
|
|
285
|
-
render.call(this, feature);
|
|
297
|
+
render.call(this, feature, i);
|
|
286
298
|
}
|
|
287
299
|
}
|
|
288
300
|
const executorGroupInstructions = builderGroup.finish();
|
|
@@ -300,19 +312,9 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
300
312
|
source.getOverlaps(),
|
|
301
313
|
executorGroupInstructions,
|
|
302
314
|
layer.getRenderBuffer(),
|
|
315
|
+
!!this.frameState?.declutter,
|
|
303
316
|
);
|
|
304
317
|
tile.executorGroups[layerUid].push(renderingReplayGroup);
|
|
305
|
-
if (declutterBuilderGroup) {
|
|
306
|
-
const declutterExecutorGroup = new CanvasExecutorGroup(
|
|
307
|
-
null,
|
|
308
|
-
resolution,
|
|
309
|
-
pixelRatio,
|
|
310
|
-
source.getOverlaps(),
|
|
311
|
-
declutterBuilderGroup.finish(),
|
|
312
|
-
layer.getRenderBuffer(),
|
|
313
|
-
);
|
|
314
|
-
tile.declutterExecutorGroups[layerUid].push(declutterExecutorGroup);
|
|
315
|
-
}
|
|
316
318
|
}
|
|
317
319
|
builderState.renderedRevision = revision;
|
|
318
320
|
builderState.renderedRenderOrder = renderOrder;
|
|
@@ -403,15 +405,11 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
403
405
|
|
|
404
406
|
const layerUid = getUid(layer);
|
|
405
407
|
const executorGroups = [tile.executorGroups[layerUid]];
|
|
406
|
-
const
|
|
407
|
-
if (declutterExecutorGroups) {
|
|
408
|
-
executorGroups.push(declutterExecutorGroups);
|
|
409
|
-
}
|
|
408
|
+
const declutter = layer.getDeclutter();
|
|
410
409
|
executorGroups.some((executorGroups) => {
|
|
411
|
-
const declutteredFeatures =
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
: null;
|
|
410
|
+
const declutteredFeatures = declutter
|
|
411
|
+
? frameState.declutter[declutter].all().map((item) => item.value)
|
|
412
|
+
: null;
|
|
415
413
|
for (let t = 0, tt = executorGroups.length; t < tt; ++t) {
|
|
416
414
|
const executorGroup = executorGroups[t];
|
|
417
415
|
found = executorGroup.forEachFeatureAtCoordinate(
|
|
@@ -566,18 +564,18 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
566
564
|
);
|
|
567
565
|
for (let i = 0, ii = tiles.length; i < ii; ++i) {
|
|
568
566
|
const tile = tiles[i];
|
|
569
|
-
const
|
|
570
|
-
|
|
571
|
-
if (
|
|
572
|
-
for (let j =
|
|
573
|
-
|
|
567
|
+
const executorGroups = tile.executorGroups[getUid(this.getLayer())];
|
|
568
|
+
const declutter = this.getLayer().getDeclutter();
|
|
569
|
+
if (executorGroups) {
|
|
570
|
+
for (let j = executorGroups.length - 1; j >= 0; --j) {
|
|
571
|
+
executorGroups[j].execute(
|
|
574
572
|
this.context,
|
|
575
|
-
|
|
573
|
+
[this.context.canvas.width, this.context.canvas.height],
|
|
576
574
|
this.getTileRenderTransform(tile, frameState),
|
|
577
575
|
frameState.viewState.rotation,
|
|
578
576
|
hifi,
|
|
579
|
-
|
|
580
|
-
frameState.
|
|
577
|
+
DECLUTTER,
|
|
578
|
+
declutter ? frameState.declutter[declutter] : undefined,
|
|
581
579
|
);
|
|
582
580
|
}
|
|
583
581
|
}
|
|
@@ -585,6 +583,53 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
585
583
|
context.globalAlpha = alpha;
|
|
586
584
|
}
|
|
587
585
|
|
|
586
|
+
renderDeferredInternal() {
|
|
587
|
+
const tiles =
|
|
588
|
+
/** @type {Array<import("../../VectorRenderTile.js").default>} */ (
|
|
589
|
+
this.renderedTiles
|
|
590
|
+
);
|
|
591
|
+
const executorGroups = tiles.reduce((acc, tile, index) => {
|
|
592
|
+
tile.executorGroups[getUid(this.getLayer())].forEach((executorGroup) =>
|
|
593
|
+
acc.push({
|
|
594
|
+
executorGroup,
|
|
595
|
+
index,
|
|
596
|
+
}),
|
|
597
|
+
);
|
|
598
|
+
return acc;
|
|
599
|
+
}, []);
|
|
600
|
+
|
|
601
|
+
const executorGroupZIndexContexts = executorGroups.map(({executorGroup}) =>
|
|
602
|
+
executorGroup.getDeferredZIndexContexts(),
|
|
603
|
+
);
|
|
604
|
+
const zIndexKeys = executorGroupZIndexContexts
|
|
605
|
+
.map((zIndexContext) => Object.keys(zIndexContext))
|
|
606
|
+
.flat()
|
|
607
|
+
.sort(ascending);
|
|
608
|
+
zIndexKeys.map(Number).forEach((zIndex) => {
|
|
609
|
+
executorGroupZIndexContexts.forEach((zIndexContexts, i) => {
|
|
610
|
+
if (!zIndexContexts[zIndex]) {
|
|
611
|
+
return;
|
|
612
|
+
}
|
|
613
|
+
zIndexContexts[zIndex].forEach((zIndexContext) => {
|
|
614
|
+
const {executorGroup, index} = executorGroups[i];
|
|
615
|
+
const context = executorGroup.getRenderedContext();
|
|
616
|
+
const alpha = context.globalAlpha;
|
|
617
|
+
context.globalAlpha = this.renderedOpacity_;
|
|
618
|
+
const tileClipContext = this.tileClipContexts_[index];
|
|
619
|
+
if (tileClipContext) {
|
|
620
|
+
tileClipContext.draw(context);
|
|
621
|
+
}
|
|
622
|
+
zIndexContext.draw(context);
|
|
623
|
+
if (tileClipContext) {
|
|
624
|
+
context.restore();
|
|
625
|
+
}
|
|
626
|
+
context.globalAlpha = alpha;
|
|
627
|
+
zIndexContext.clear();
|
|
628
|
+
});
|
|
629
|
+
});
|
|
630
|
+
});
|
|
631
|
+
}
|
|
632
|
+
|
|
588
633
|
getTileRenderTransform(tile, frameState) {
|
|
589
634
|
const pixelRatio = frameState.pixelRatio;
|
|
590
635
|
const viewState = frameState.viewState;
|
|
@@ -632,15 +677,19 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
632
677
|
this.renderedPixelToCoordinateTransform_ =
|
|
633
678
|
frameState.pixelToCoordinateTransform.slice();
|
|
634
679
|
this.renderedRotation_ = frameState.viewState.rotation;
|
|
680
|
+
this.renderedOpacity_ =
|
|
681
|
+
frameState.layerStatesArray[frameState.layerIndex].opacity;
|
|
635
682
|
|
|
636
683
|
const layer = /** @type {import("../../layer/VectorTile.js").default} */ (
|
|
637
684
|
this.getLayer()
|
|
638
685
|
);
|
|
639
686
|
const renderMode = layer.getRenderMode();
|
|
640
687
|
const alpha = context.globalAlpha;
|
|
641
|
-
context.globalAlpha =
|
|
642
|
-
|
|
643
|
-
const replayTypes =
|
|
688
|
+
context.globalAlpha = this.renderedOpacity_;
|
|
689
|
+
const declutter = layer.getDeclutter();
|
|
690
|
+
const replayTypes = declutter
|
|
691
|
+
? VECTOR_REPLAYS[renderMode].filter((type) => !DECLUTTER.includes(type))
|
|
692
|
+
: VECTOR_REPLAYS[renderMode];
|
|
644
693
|
const viewState = frameState.viewState;
|
|
645
694
|
const rotation = viewState.rotation;
|
|
646
695
|
const tileSource = layer.getSource();
|
|
@@ -653,6 +702,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
653
702
|
const tiles = this.renderedTiles;
|
|
654
703
|
const clips = [];
|
|
655
704
|
const clipZs = [];
|
|
705
|
+
const tileClipContexts = [];
|
|
656
706
|
let ready = true;
|
|
657
707
|
for (let i = tiles.length - 1; i >= 0; --i) {
|
|
658
708
|
const tile = /** @type {import("../../VectorRenderTile.js").default} */ (
|
|
@@ -670,7 +720,13 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
670
720
|
let contextSaved = false;
|
|
671
721
|
// Clip mask for regions in this tile that already filled by a higher z tile
|
|
672
722
|
const currentClip = executorGroups[0].getClipCoords(transform);
|
|
723
|
+
let clipContext = context;
|
|
724
|
+
let tileClipContext;
|
|
673
725
|
if (currentClip) {
|
|
726
|
+
if (declutter) {
|
|
727
|
+
tileClipContext = new ZIndexContext();
|
|
728
|
+
clipContext = tileClipContext.getContext();
|
|
729
|
+
}
|
|
674
730
|
for (let j = 0, jj = clips.length; j < jj; ++j) {
|
|
675
731
|
if (z !== currentZ && currentZ < clipZs[j]) {
|
|
676
732
|
const clip = clips[j];
|
|
@@ -686,21 +742,21 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
686
742
|
)
|
|
687
743
|
) {
|
|
688
744
|
if (!contextSaved) {
|
|
689
|
-
|
|
745
|
+
clipContext.save();
|
|
690
746
|
contextSaved = true;
|
|
691
747
|
}
|
|
692
|
-
|
|
748
|
+
clipContext.beginPath();
|
|
693
749
|
// counter-clockwise (outer ring) for current tile
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
750
|
+
clipContext.moveTo(currentClip[0], currentClip[1]);
|
|
751
|
+
clipContext.lineTo(currentClip[2], currentClip[3]);
|
|
752
|
+
clipContext.lineTo(currentClip[4], currentClip[5]);
|
|
753
|
+
clipContext.lineTo(currentClip[6], currentClip[7]);
|
|
698
754
|
// clockwise (inner ring) for higher z tile
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
755
|
+
clipContext.moveTo(clip[6], clip[7]);
|
|
756
|
+
clipContext.lineTo(clip[4], clip[5]);
|
|
757
|
+
clipContext.lineTo(clip[2], clip[3]);
|
|
758
|
+
clipContext.lineTo(clip[0], clip[1]);
|
|
759
|
+
clipContext.clip();
|
|
704
760
|
}
|
|
705
761
|
}
|
|
706
762
|
}
|
|
@@ -711,7 +767,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
711
767
|
const executorGroup = executorGroups[t];
|
|
712
768
|
executorGroup.execute(
|
|
713
769
|
context,
|
|
714
|
-
|
|
770
|
+
[context.canvas.width, context.canvas.height],
|
|
715
771
|
transform,
|
|
716
772
|
rotation,
|
|
717
773
|
hifi,
|
|
@@ -719,11 +775,16 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
719
775
|
);
|
|
720
776
|
}
|
|
721
777
|
if (contextSaved) {
|
|
722
|
-
context
|
|
778
|
+
if (clipContext === context) {
|
|
779
|
+
clipContext.restore();
|
|
780
|
+
} else {
|
|
781
|
+
tileClipContexts[i] = tileClipContext;
|
|
782
|
+
}
|
|
723
783
|
}
|
|
724
784
|
}
|
|
725
785
|
context.globalAlpha = alpha;
|
|
726
786
|
this.ready = ready;
|
|
787
|
+
this.tileClipContexts_ = tileClipContexts;
|
|
727
788
|
|
|
728
789
|
super.postRender(context, frameState);
|
|
729
790
|
}
|
|
@@ -733,7 +794,8 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
733
794
|
* @param {number} squaredTolerance Squared tolerance.
|
|
734
795
|
* @param {import("../../style/Style.js").default|Array<import("../../style/Style.js").default>} styles The style or array of styles.
|
|
735
796
|
* @param {import("../../render/canvas/BuilderGroup.js").default} builderGroup Replay group.
|
|
736
|
-
* @param {
|
|
797
|
+
* @param {boolean} [declutter] Enable decluttering.
|
|
798
|
+
* @param {number} [index] Render order index.
|
|
737
799
|
* @return {boolean} `true` if an image is loading.
|
|
738
800
|
*/
|
|
739
801
|
renderFeature(
|
|
@@ -741,7 +803,8 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
741
803
|
squaredTolerance,
|
|
742
804
|
styles,
|
|
743
805
|
builderGroup,
|
|
744
|
-
|
|
806
|
+
declutter,
|
|
807
|
+
index,
|
|
745
808
|
) {
|
|
746
809
|
if (!styles) {
|
|
747
810
|
return false;
|
|
@@ -757,7 +820,8 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
757
820
|
squaredTolerance,
|
|
758
821
|
this.boundHandleStyleImageChange_,
|
|
759
822
|
undefined,
|
|
760
|
-
|
|
823
|
+
declutter,
|
|
824
|
+
index,
|
|
761
825
|
) || loading;
|
|
762
826
|
}
|
|
763
827
|
} else {
|
|
@@ -768,7 +832,8 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
768
832
|
squaredTolerance,
|
|
769
833
|
this.boundHandleStyleImageChange_,
|
|
770
834
|
undefined,
|
|
771
|
-
|
|
835
|
+
declutter,
|
|
836
|
+
index,
|
|
772
837
|
);
|
|
773
838
|
}
|
|
774
839
|
return loading;
|
|
@@ -844,11 +909,15 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
844
909
|
const executorGroup = executorGroups[i];
|
|
845
910
|
executorGroup.execute(
|
|
846
911
|
context,
|
|
847
|
-
|
|
912
|
+
[
|
|
913
|
+
context.canvas.width * renderScale,
|
|
914
|
+
context.canvas.height * renderScale,
|
|
915
|
+
],
|
|
848
916
|
transform,
|
|
849
917
|
0,
|
|
850
918
|
true,
|
|
851
919
|
IMAGE_REPLAYS[layer.getRenderMode()],
|
|
920
|
+
null,
|
|
852
921
|
);
|
|
853
922
|
}
|
|
854
923
|
replayState.renderedTileResolution = tile.wantedResolution;
|
package/renderer/vector.d.ts
CHANGED
|
@@ -23,10 +23,11 @@ export function getTolerance(resolution: number, pixelRatio: number): number;
|
|
|
23
23
|
* @param {number} squaredTolerance Squared tolerance.
|
|
24
24
|
* @param {function(import("../events/Event.js").default): void} listener Listener function.
|
|
25
25
|
* @param {import("../proj.js").TransformFunction} [transform] Transform from user to view projection.
|
|
26
|
-
* @param {
|
|
26
|
+
* @param {boolean} [declutter] Enable decluttering.
|
|
27
|
+
* @param {number} [index] Render order index..
|
|
27
28
|
* @return {boolean} `true` if style is loading.
|
|
28
29
|
*/
|
|
29
|
-
export function renderFeature(replayGroup: import("../render/canvas/BuilderGroup.js").default, feature: import("../Feature.js").FeatureLike, style: import("../style/Style.js").default, squaredTolerance: number, listener: (arg0: import("../events/Event.js").default) => void, transform?: import("../proj.js").TransformFunction | undefined,
|
|
30
|
+
export function renderFeature(replayGroup: import("../render/canvas/BuilderGroup.js").default, feature: import("../Feature.js").FeatureLike, style: import("../style/Style.js").default, squaredTolerance: number, listener: (arg0: import("../events/Event.js").default) => void, transform?: import("../proj.js").TransformFunction | undefined, declutter?: boolean | undefined, index?: number | undefined): boolean;
|
|
30
31
|
/**
|
|
31
32
|
* Feature callback. The callback will be called with three arguments. The first
|
|
32
33
|
* argument is one {@link module :ol/Feature~Feature feature} or {@link module :ol/render/Feature~RenderFeature render feature}
|
package/renderer/vector.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["vector.js"],"names":[],"mappings":"AAuCA;;;;GAIG;AACH,uCAJW,OAAO,eAAe,EAAE,WAAW,YACnC,OAAO,eAAe,EAAE,WAAW,GAClC,MAAM,CAIjB;AAED;;;;GAIG;AACH,gDAJW,MAAM,cACN,MAAM,GACL,MAAM,CAKjB;AAED;;;;GAIG;AACH,yCAJW,MAAM,cACN,MAAM,GACL,MAAM,CAIjB;
|
|
1
|
+
{"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["vector.js"],"names":[],"mappings":"AAuCA;;;;GAIG;AACH,uCAJW,OAAO,eAAe,EAAE,WAAW,YACnC,OAAO,eAAe,EAAE,WAAW,GAClC,MAAM,CAIjB;AAED;;;;GAIG;AACH,gDAJW,MAAM,cACN,MAAM,GACL,MAAM,CAKjB;AAED;;;;GAIG;AACH,yCAJW,MAAM,cACN,MAAM,GACL,MAAM,CAIjB;AAwBD;;;;;;;;;;GAUG;AACH,2CAVW,OAAO,kCAAkC,EAAE,OAAO,WAClD,OAAO,eAAe,EAAE,WAAW,SACnC,OAAO,mBAAmB,EAAE,OAAO,oBACnC,MAAM,mBACG,OAAO,oBAAoB,EAAE,OAAO,KAAG,IAAI,gIAInD,OAAO,CA+ClB;;;;;;;;wCApIqB,OAAO,eAAe,EAAE,WAAW,QAAE,OAAO,mBAAmB,EAAE,OAAO,CAAC,OAAO,kBAAkB,EAAE,OAAO,CAAC,QAAE,OAAO,2BAA2B,EAAE,OAAO,KAAG,CAAC"}
|