ol 9.0.0-dev.1708371033297 → 9.0.0-dev.1708376390748

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ol",
3
- "version": "9.0.0-dev.1708371033297",
3
+ "version": "9.0.0-dev.1708376390748",
4
4
  "description": "OpenLayers mapping library",
5
5
  "keywords": [
6
6
  "map",
@@ -2,9 +2,6 @@ export default ZIndexContext;
2
2
  export type ZIndexContextProxy = CanvasRenderingContext2D & {
3
3
  globalAlpha: any;
4
4
  };
5
- /**
6
- * @module ol/render/canvas/ZIndexContext
7
- */
8
5
  /** @typedef {CanvasRenderingContext2D & {globalAlpha: any}} ZIndexContextProxy */
9
6
  /**
10
7
  * @extends {CanvasRenderingContext2D}
@@ -1 +1 @@
1
- {"version":3,"file":"ZIndexContext.d.ts","sourceRoot":"","sources":["ZIndexContext.js"],"names":[],"mappings":";iCAIc,wBAAwB,GAAG;IAAC,WAAW,EAAE,GAAG,CAAA;CAAC;AAJ3D;;GAEG;AAEH,kFAAkF;AAElF;;GAEG;AACH;IAEI;;;OAGG;IACH,sBAAuB;IACvB;;OAEG;IACH,QAFU,MAAM,CAED;IACf;;;OAGG;IACH,gBAAgB;IAEhB;;OAEG;IACH,UAFU,kBAAkB,CAuB3B;IAGH;;;;OAIG;IACH,wBAGE;IAEF;;;;;;OAMG;IACH,cAFY,kBAAkB,CAI7B;IAED;;OAEG;IACH,cAFW,wBAAwB,QAkBlC;IAED,cAIC;IAED;;;OAGG;IACH,eAGC;CACF"}
1
+ {"version":3,"file":"ZIndexContext.d.ts","sourceRoot":"","sources":["ZIndexContext.js"],"names":[],"mappings":";iCAMc,wBAAwB,GAAG;IAAC,WAAW,EAAE,GAAG,CAAA;CAAC;AAA3D,kFAAkF;AAElF;;GAEG;AACH;IAEI;;;OAGG;IACH,sBAAuB;IACvB;;OAEG;IACH,QAFU,MAAM,CAED;IACf;;;OAGG;IACH,gBAAgB;IAEhB;;OAEG;IACH,UAFU,kBAAkB,CA0B3B;IAGH;;;;OAIG;IACH,wBAGE;IAEF;;;;;;OAMG;IACH,cAFY,kBAAkB,CAI7B;IAED;;OAEG;IACH,cAFW,wBAAwB,QAkBlC;IAED,cAIC;IAED;;;OAGG;IACH,eAGC;CACF"}
@@ -2,6 +2,8 @@
2
2
  * @module ol/render/canvas/ZIndexContext
3
3
  */
4
4
 
5
+ import {getSharedCanvasContext2D} from '../../dom.js';
6
+
5
7
  /** @typedef {CanvasRenderingContext2D & {globalAlpha: any}} ZIndexContextProxy */
6
8
 
7
9
  /**
@@ -30,7 +32,10 @@ class ZIndexContext {
30
32
  this.context_ = /** @type {ZIndexContextProxy} */ (
31
33
  new Proxy(CanvasRenderingContext2D.prototype, {
32
34
  get: (target, property) => {
33
- if (typeof (/** @type {*} */ (target)[property]) !== 'function') {
35
+ if (
36
+ typeof (/** @type {*} */ (getSharedCanvasContext2D())[property]) !==
37
+ 'function'
38
+ ) {
34
39
  // we only accept calling functions on the proxy, not accessing properties
35
40
  return undefined;
36
41
  }
@@ -56,6 +56,10 @@ declare class CanvasTileLayerRenderer<LayerType extends import("../../layer/Tile
56
56
  * @type {import("../../TileRange.js").default}
57
57
  */
58
58
  private tmpTileRange_;
59
+ /**
60
+ * @type {ZIndexContext}
61
+ */
62
+ deferredContext_: ZIndexContext;
59
63
  /**
60
64
  * @protected
61
65
  * @param {import("../../Tile.js").default} tile Tile.
@@ -142,4 +146,5 @@ declare class CanvasTileLayerRenderer<LayerType extends import("../../layer/Tile
142
146
  protected manageTilePyramid(frameState: import("../../Map.js").FrameState, tileSource: import("../../source/Tile.js").default, tileGrid: import("../../tilegrid/TileGrid.js").default, pixelRatio: number, projection: import("../../proj/Projection.js").default, extent: import("../../extent.js").Extent, currentZ: number, preload: number, tileCallback?: ((arg0: import("../../Tile.js").default) => void) | undefined): void;
143
147
  }
144
148
  import CanvasLayerRenderer from './Layer.js';
149
+ import ZIndexContext from '../../render/canvas/ZIndexContext.js';
145
150
  //# sourceMappingURL=TileLayer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TileLayer.d.ts","sourceRoot":"","sources":["TileLayer.js"],"names":[],"mappings":";AA8BA;;;;;;GAMG;AACH;IACE;;OAEG;IACH,uBAFW,SAAS,EA0DnB;IArDC;;;OAGG;IACH,eAFU,OAAO,CAEQ;IAEzB;;;OAGG;IACH,wBAA2B;IAE3B;;;OAGG;IACH,8BAFU,MAAM,CAEO;IAEvB;;;OAGG;IACH,8BAFU,OAAO,0BAA0B,EAAE,OAAO,CAEtB;IAE9B;;;OAGG;IACH,4BAFU,MAAM,CAEK;IAErB;;;OAGG;IACH,yBAFW,MAAM,OAAO,eAAe,EAAE,OAAO,CAAC,CAE1B;IAEvB;;;OAGG;IACH,kBAAsB;IAEtB;;;OAGG;IACH,qBAFU,OAAO,iBAAiB,EAAE,MAAM,CAEZ;IAE9B;;;OAGG;IACH,sBAA8C;IAGhD;;;;OAIG;IACH,+BAHW,OAAO,eAAe,EAAE,OAAO,GAC9B,OAAO,CAWlB;IAED;;;;;;OAMG;IACH,WANW,MAAM,KACN,MAAM,KACN,MAAM,cACN,OAAO,cAAc,EAAE,UAAU,GAC/B,OAAO,eAAe,EAAE,OAAO,CAkB3C;IAED;;;OAGG;IACH,eAHW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,iBAAiB,CA4E5B;IAwBD;;;;;OAKG;IACH,wBAJW,OAAO,cAAc,EAAE,UAAU,UACjC,WAAW,GACV,WAAW,CAsUtB;IAED;;;;;;;;;OASG;IACH,oBATW,OAAO,oBAAoB,EAAE,OAAO,cACpC,OAAO,cAAc,EAAE,UAAU,KACjC,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,UACN,MAAM,cACN,OAAO,QAqCjB;IAED;;OAEG;IACH,YAFY,iBAAiB,CAK5B;IAED;;;;;OAKG;IACH,6BAJW,OAAO,oBAAoB,EAAE,OAAO,GACnC,iBAAiB,GAAC,gBAAgB,GAAC,gBAAgB,CAK9D;IAED;;;;OAIG;IACH,0CAJW,OAAO,cAAc,EAAE,UAAU,cACjC,OAAO,sBAAsB,EAAE,OAAO,QA0BhD;IAED;;;;;OAKG;IACH;YALmB,MAAM;gBAAU,MAAM,GAAE,OAAO;;mBACvC,OAAO,sBAAsB,EAAE,OAAO,QACtC,OAAO,eAAe,EAAE,OAAO,QAUzC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,wCAXW,OAAO,cAAc,EAAE,UAAU,cACjC,OAAO,sBAAsB,EAAE,OAAO,YACtC,OAAO,4BAA4B,EAAE,OAAO,cAC5C,MAAM,cACN,OAAO,0BAA0B,EAAE,OAAO,UAC1C,OAAO,iBAAiB,EAAE,MAAM,YAChC,MAAM,WACN,MAAM,yBACG,OAAO,eAAe,EAAE,OAAO,KAAE,IAAI,qBAmExD;CACF;gCA5vB+B,YAAY"}
1
+ {"version":3,"file":"TileLayer.d.ts","sourceRoot":"","sources":["TileLayer.js"],"names":[],"mappings":";AA+BA;;;;;;GAMG;AACH;IACE;;OAEG;IACH,uBAFW,SAAS,EAiEnB;IA5DC;;;OAGG;IACH,eAFU,OAAO,CAEQ;IAEzB;;;OAGG;IACH,wBAA2B;IAE3B;;;OAGG;IACH,8BAFU,MAAM,CAEO;IAEvB;;;OAGG;IACH,8BAFU,OAAO,0BAA0B,EAAE,OAAO,CAEtB;IAE9B;;;OAGG;IACH,4BAFU,MAAM,CAEK;IAErB;;;OAGG;IACH,yBAFW,MAAM,OAAO,eAAe,EAAE,OAAO,CAAC,CAE1B;IAEvB;;;OAGG;IACH,kBAAsB;IAEtB;;;OAGG;IACH,qBAFU,OAAO,iBAAiB,EAAE,MAAM,CAEZ;IAE9B;;;OAGG;IACH,sBAA8C;IAE9C;;OAEG;IACH,kBAFU,aAAa,CAIf;IAGV;;;;OAIG;IACH,+BAHW,OAAO,eAAe,EAAE,OAAO,GAC9B,OAAO,CAWlB;IAED;;;;;;OAMG;IACH,WANW,MAAM,KACN,MAAM,KACN,MAAM,cACN,OAAO,cAAc,EAAE,UAAU,GAC/B,OAAO,eAAe,EAAE,OAAO,CAkB3C;IAED;;;OAGG;IACH,eAHW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,iBAAiB,CA4E5B;IAwBD;;;;;OAKG;IACH,wBAJW,OAAO,cAAc,EAAE,UAAU,UACjC,WAAW,GACV,WAAW,CAwUtB;IAYD;;;;;;;;;OASG;IACH,oBATW,OAAO,oBAAoB,EAAE,OAAO,cACpC,OAAO,cAAc,EAAE,UAAU,KACjC,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,UACN,MAAM,cACN,OAAO,QAyCjB;IAED;;OAEG;IACH,YAFY,iBAAiB,CAK5B;IAED;;;;;OAKG;IACH,6BAJW,OAAO,oBAAoB,EAAE,OAAO,GACnC,iBAAiB,GAAC,gBAAgB,GAAC,gBAAgB,CAK9D;IAED;;;;OAIG;IACH,0CAJW,OAAO,cAAc,EAAE,UAAU,cACjC,OAAO,sBAAsB,EAAE,OAAO,QA0BhD;IAED;;;;;OAKG;IACH;YALmB,MAAM;gBAAU,MAAM,GAAE,OAAO;;mBACvC,OAAO,sBAAsB,EAAE,OAAO,QACtC,OAAO,eAAe,EAAE,OAAO,QAUzC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,wCAXW,OAAO,cAAc,EAAE,UAAU,cACjC,OAAO,sBAAsB,EAAE,OAAO,YACtC,OAAO,4BAA4B,EAAE,OAAO,cAC5C,MAAM,cACN,OAAO,0BAA0B,EAAE,OAAO,UAC1C,OAAO,iBAAiB,EAAE,MAAM,YAChC,MAAM,WACN,MAAM,yBACG,OAAO,eAAe,EAAE,OAAO,KAAE,IAAI,qBAmExD;CACF;gCApxB+B,YAAY;0BAKlB,sCAAsC"}
@@ -6,6 +6,7 @@ import ImageTile from '../../ImageTile.js';
6
6
  import ReprojTile from '../../reproj/Tile.js';
7
7
  import TileRange from '../../TileRange.js';
8
8
  import TileState from '../../TileState.js';
9
+ import ZIndexContext from '../../render/canvas/ZIndexContext.js';
9
10
  import {
10
11
  apply as applyTransform,
11
12
  compose as composeTransform,
@@ -95,6 +96,13 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
95
96
  * @type {import("../../TileRange.js").default}
96
97
  */
97
98
  this.tmpTileRange_ = new TileRange(0, 0, 0, 0);
99
+
100
+ /**
101
+ * @type {ZIndexContext}
102
+ */
103
+ this.deferredContext_ = tileLayer.getDeclutter()
104
+ ? new ZIndexContext()
105
+ : null;
98
106
  }
99
107
 
100
108
  /**
@@ -383,8 +391,10 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
383
391
  const canvasTransform = toTransformString(this.pixelTransform);
384
392
 
385
393
  this.useContainer(target, canvasTransform, this.getBackground(frameState));
386
- const context = this.context;
387
- const canvas = context.canvas;
394
+ const context = this.deferredContext_
395
+ ? this.deferredContext_.getContext()
396
+ : this.context;
397
+ const canvas = this.context.canvas;
388
398
 
389
399
  makeInverse(this.inversePixelTransform, this.pixelTransform);
390
400
 
@@ -558,7 +568,7 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
558
568
  );
559
569
  this.scheduleExpireCache(frameState, tileSource);
560
570
 
561
- this.postRender(context, frameState);
571
+ this.postRender(this.context, frameState);
562
572
 
563
573
  if (layerState.extent) {
564
574
  context.restore();
@@ -572,6 +582,16 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
572
582
  return this.container;
573
583
  }
574
584
 
585
+ /**
586
+ * @param {import("../../Map.js").FrameState} frameState Frame state.
587
+ */
588
+ renderDeferredInternal(frameState) {
589
+ if (this.deferredContext_) {
590
+ this.deferredContext_.draw(this.context);
591
+ this.deferredContext_.clear();
592
+ }
593
+ }
594
+
575
595
  /**
576
596
  * @param {import("../../ImageTile.js").default} tile Tile.
577
597
  * @param {import("../../Map.js").FrameState} frameState Frame state.
@@ -587,17 +607,21 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
587
607
  if (!image) {
588
608
  return;
589
609
  }
610
+ /** @type {import('../../render/canvas/ZIndexContext.js').ZIndexContextProxy} */
611
+ const context = this.deferredContext_
612
+ ? this.deferredContext_.getContext()
613
+ : this.context;
590
614
  const uid = getUid(this);
591
615
  const layerState = frameState.layerStatesArray[frameState.layerIndex];
592
616
  const alpha =
593
617
  layerState.opacity *
594
618
  (transition ? tile.getAlpha(uid, frameState.time) : 1);
595
- const alphaChanged = alpha !== this.context.globalAlpha;
619
+ const alphaChanged = alpha !== context.globalAlpha;
596
620
  if (alphaChanged) {
597
- this.context.save();
598
- this.context.globalAlpha = alpha;
621
+ context.save();
622
+ context.globalAlpha = alpha;
599
623
  }
600
- this.context.drawImage(
624
+ context.drawImage(
601
625
  image,
602
626
  gutter,
603
627
  gutter,
@@ -610,7 +634,7 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
610
634
  );
611
635
 
612
636
  if (alphaChanged) {
613
- this.context.restore();
637
+ context.restore();
614
638
  }
615
639
  if (alpha !== layerState.opacity) {
616
640
  frameState.animate = true;
@@ -77,7 +77,6 @@ declare class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer<impo
77
77
  * @param {import("../../layer/Layer.js").State} layerState Layer state.
78
78
  */
79
79
  renderDeclutter(frameState: import("../../Map.js").FrameState, layerState: import("../../layer/Layer.js").State): void;
80
- renderDeferredInternal(): void;
81
80
  getTileRenderTransform(tile: any, frameState: any): number[];
82
81
  /**
83
82
  * @param {import("../../Feature.js").FeatureLike} feature Feature.
@@ -1 +1 @@
1
- {"version":3,"file":"VectorTileLayer.d.ts","sourceRoot":"","sources":["VectorTileLayer.js"],"names":[],"mappings":";AA4DA;;;;;GAKG;AACH;IACE;;OAEG;IACH,mBAFW,OAAO,2BAA2B,EAAE,OAAO,EA2CrD;IAtCC,eAAe;IACf,qCAA2E;IAE3E;;;OAGG;IACH,+BAA2B;IAE3B;;;OAGG;IACH,4CAA+C;IAE/C;;;OAGG;IACH,0BAAsB;IAEtB;;;OAGG;IACH,yBAAyB;IAEzB;;;OAGG;IACH,sBAAsC;IAEtC;;;OAGG;IACH,0BAA6B;IAG/B;;;;;OAKG;IACH,kBALW,OAAO,2BAA2B,EAAE,OAAO,cAC3C,MAAM,cACN,OAAO,uBAAuB,EAAE,OAAO,GACtC,OAAO,GAAC,SAAS,CAY5B;IAkCD;;;OAGG;IACH,qBAHW,OAAO,2BAA2B,EAAE,OAAO,GAC1C,OAAO,CAUlB;IAED;;OAEG;IACH,6BAEC;IAgBD;;;;;OAKG;IACH,6BAqHC;IAyND;;;;OAIG;IACH,gCAEC;IAED;;;;OAIG;IACH,4BAHW,OAAO,cAAc,EAAE,UAAU,cACjC,OAAO,sBAAsB,EAAE,KAAK,QAiC9C;IAED,+BA6CC;IAED,6DA+BC;IAgID;;;;;;;;OAQG;IACH,uBARW,OAAO,kBAAkB,EAAE,WAAW,oBACtC,MAAM,UACN,OAAO,sBAAsB,EAAE,OAAO,GAAC,MAAM,OAAO,sBAAsB,EAAE,OAAO,CAAC,gBACpF,OAAO,qCAAqC,EAAE,OAAO,gEAGpD,OAAO,CAyClB;IAED;;;;OAIG;IACH,8BAcC;IAED;;;;OAIG;IACH,yBAwDC;CACF;oCAr5BmC,gBAAgB"}
1
+ {"version":3,"file":"VectorTileLayer.d.ts","sourceRoot":"","sources":["VectorTileLayer.js"],"names":[],"mappings":";AA4DA;;;;;GAKG;AACH;IACE;;OAEG;IACH,mBAFW,OAAO,2BAA2B,EAAE,OAAO,EA2CrD;IAtCC,eAAe;IACf,qCAA2E;IAE3E;;;OAGG;IACH,+BAA2B;IAE3B;;;OAGG;IACH,4CAA+C;IAE/C;;;OAGG;IACH,0BAAsB;IAEtB;;;OAGG;IACH,yBAAyB;IAEzB;;;OAGG;IACH,sBAAsC;IAEtC;;;OAGG;IACH,0BAA6B;IAG/B;;;;;OAKG;IACH,kBALW,OAAO,2BAA2B,EAAE,OAAO,cAC3C,MAAM,cACN,OAAO,uBAAuB,EAAE,OAAO,GACtC,OAAO,GAAC,SAAS,CAY5B;IAkCD;;;OAGG;IACH,qBAHW,OAAO,2BAA2B,EAAE,OAAO,GAC1C,OAAO,CAUlB;IAED;;OAEG;IACH,6BAEC;IAgBD;;;;;OAKG;IACH,6BAqHC;IAyND;;;;OAIG;IACH,gCAEC;IAED;;;;OAIG;IACH,4BAHW,OAAO,cAAc,EAAE,UAAU,cACjC,OAAO,sBAAsB,EAAE,KAAK,QAiC9C;IAqDD,6DA+BC;IAgID;;;;;;;;OAQG;IACH,uBARW,OAAO,kBAAkB,EAAE,WAAW,oBACtC,MAAM,UACN,OAAO,sBAAsB,EAAE,OAAO,GAAC,MAAM,OAAO,sBAAsB,EAAE,OAAO,CAAC,gBACpF,OAAO,qCAAqC,EAAE,OAAO,gEAGpD,OAAO,CAyClB;IAED;;;;OAIG;IACH,8BAcC;IAED;;;;OAIG;IACH,yBAwDC;CACF;oCAz5BmC,gBAAgB"}
@@ -583,7 +583,11 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
583
583
  context.globalAlpha = alpha;
584
584
  }
585
585
 
586
- renderDeferredInternal() {
586
+ /**
587
+ * @param {import("../../Map.js").FrameState} frameState Frame state.
588
+ */
589
+ renderDeferredInternal(frameState) {
590
+ super.renderDeferredInternal(frameState);
587
591
  const tiles =
588
592
  /** @type {Array<import("../../VectorRenderTile.js").default>} */ (
589
593
  this.renderedTiles
package/source.d.ts CHANGED
@@ -16,6 +16,7 @@ export { default as CartoDB } from "./source/CartoDB.js";
16
16
  export { default as Cluster } from "./source/Cluster.js";
17
17
  export { default as DataTile } from "./source/DataTile.js";
18
18
  export { default as GeoTIFF } from "./source/GeoTIFF.js";
19
+ export { default as Google } from "./source/Google.js";
19
20
  export { default as IIIF } from "./source/IIIF.js";
20
21
  export { default as Image } from "./source/Image.js";
21
22
  export { default as ImageArcGISRest } from "./source/ImageArcGISRest.js";
package/source.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["source.js"],"names":[],"mappings":"AA2CA;;;;;;;;;;;GAWG;AACH,8CATW,OAAO,wBAAwB,EAAE,OAAO,kBAC/B,OAAO,gBAAgB,EAAE,SAAS,KAAG,OAAO,oBAAoB,EAAE,OAAO,UAKxE,OAAO,aAAa,EAAE,MAAM,QAAE,MAAM,KAAG,MAAM,OAAO,oBAAoB,EAAE,OAAO,CAAC,CAuBtG"}
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["source.js"],"names":[],"mappings":"AA4CA;;;;;;;;;;;GAWG;AACH,8CATW,OAAO,wBAAwB,EAAE,OAAO,kBAC/B,OAAO,gBAAgB,EAAE,SAAS,KAAG,OAAO,oBAAoB,EAAE,OAAO,UAKxE,OAAO,aAAa,EAAE,MAAM,QAAE,MAAM,KAAG,MAAM,OAAO,oBAAoB,EAAE,OAAO,CAAC,CAuBtG"}
package/source.js CHANGED
@@ -10,6 +10,7 @@ export {default as CartoDB} from './source/CartoDB.js';
10
10
  export {default as Cluster} from './source/Cluster.js';
11
11
  export {default as DataTile} from './source/DataTile.js';
12
12
  export {default as GeoTIFF} from './source/GeoTIFF.js';
13
+ export {default as Google} from './source/Google.js';
13
14
  export {default as IIIF} from './source/IIIF.js';
14
15
  export {default as Image} from './source/Image.js';
15
16
  export {default as ImageArcGISRest} from './source/ImageArcGISRest.js';
package/util.js CHANGED
@@ -33,4 +33,4 @@ export function getUid(obj) {
33
33
  * OpenLayers version.
34
34
  * @type {string}
35
35
  */
36
- export const VERSION = '9.0.0-dev.1708371033297';
36
+ export const VERSION = '9.0.0-dev.1708376390748';