ol 10.6.2-dev.1761596224169 → 10.6.2-dev.1761658982871

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.
Files changed (85) hide show
  1. package/DataTile.d.ts +2 -2
  2. package/DataTile.d.ts.map +1 -1
  3. package/DataTile.js +2 -2
  4. package/ImageCanvas.d.ts +5 -5
  5. package/ImageCanvas.d.ts.map +1 -1
  6. package/ImageCanvas.js +3 -3
  7. package/ImageTile.d.ts +11 -6
  8. package/ImageTile.d.ts.map +1 -1
  9. package/ImageTile.js +31 -11
  10. package/Map.d.ts +5 -8
  11. package/Map.d.ts.map +1 -1
  12. package/Map.js +137 -110
  13. package/VectorRenderTile.d.ts +5 -5
  14. package/VectorRenderTile.d.ts.map +1 -1
  15. package/VectorRenderTile.js +4 -4
  16. package/dist/ol.d.ts +6 -0
  17. package/dist/ol.d.ts.map +1 -1
  18. package/dist/ol.js +1 -1
  19. package/dist/ol.js.map +1 -1
  20. package/dom.d.ts +17 -7
  21. package/dom.d.ts.map +1 -1
  22. package/dom.js +81 -8
  23. package/layer/Heatmap.d.ts +1 -1
  24. package/layer/Heatmap.js +2 -2
  25. package/package.json +1 -1
  26. package/render/Event.d.ts +4 -4
  27. package/render/Event.d.ts.map +1 -1
  28. package/render/Event.js +2 -2
  29. package/render/canvas/Executor.d.ts +8 -8
  30. package/render/canvas/Executor.d.ts.map +1 -1
  31. package/render/canvas/Executor.js +6 -6
  32. package/render/canvas/ExecutorGroup.d.ts +7 -7
  33. package/render/canvas/ExecutorGroup.d.ts.map +1 -1
  34. package/render/canvas/ExecutorGroup.js +4 -4
  35. package/render/canvas/Immediate.d.ts +3 -3
  36. package/render/canvas/Immediate.d.ts.map +1 -1
  37. package/render/canvas/Immediate.js +2 -2
  38. package/render/canvas/ZIndexContext.d.ts +5 -5
  39. package/render/canvas/ZIndexContext.d.ts.map +1 -1
  40. package/render/canvas/ZIndexContext.js +2 -2
  41. package/render/canvas.js +2 -2
  42. package/renderer/Composite.d.ts.map +1 -1
  43. package/renderer/Composite.js +48 -3
  44. package/renderer/canvas/ImageLayer.d.ts.map +1 -1
  45. package/renderer/canvas/ImageLayer.js +0 -1
  46. package/renderer/canvas/Layer.d.ts +13 -11
  47. package/renderer/canvas/Layer.d.ts.map +1 -1
  48. package/renderer/canvas/Layer.js +23 -14
  49. package/renderer/canvas/TileLayer.d.ts +4 -4
  50. package/renderer/canvas/TileLayer.d.ts.map +1 -1
  51. package/renderer/canvas/TileLayer.js +4 -3
  52. package/renderer/canvas/VectorLayer.d.ts +1 -1
  53. package/renderer/canvas/VectorLayer.js +1 -1
  54. package/renderer/canvas/VectorTileLayer.js +1 -1
  55. package/reproj/Image.d.ts +3 -3
  56. package/reproj/Image.d.ts.map +1 -1
  57. package/reproj/Image.js +2 -2
  58. package/reproj/Tile.d.ts +3 -3
  59. package/reproj/Tile.d.ts.map +1 -1
  60. package/reproj/Tile.js +7 -3
  61. package/reproj.d.ts +4 -4
  62. package/reproj.d.ts.map +1 -1
  63. package/reproj.js +3 -3
  64. package/source/OSM.d.ts.map +1 -1
  65. package/source/OSM.js +3 -1
  66. package/source/Raster.d.ts.map +1 -1
  67. package/source/Raster.js +5 -2
  68. package/source/TileImage.d.ts.map +1 -1
  69. package/source/TileImage.js +47 -0
  70. package/source/Zoomify.d.ts +1 -1
  71. package/source/Zoomify.js +2 -2
  72. package/style/Icon.d.ts +5 -5
  73. package/style/Icon.d.ts.map +1 -1
  74. package/style/Icon.js +3 -3
  75. package/style/IconImage.d.ts +11 -11
  76. package/style/IconImage.d.ts.map +1 -1
  77. package/style/IconImage.js +8 -8
  78. package/style/RegularShape.d.ts +9 -9
  79. package/style/RegularShape.d.ts.map +1 -1
  80. package/style/RegularShape.js +8 -8
  81. package/transform.d.ts +6 -0
  82. package/transform.d.ts.map +1 -1
  83. package/transform.js +1 -1
  84. package/util.js +1 -1
  85. package/webgl/TileTexture.js +1 -1
@@ -3,13 +3,15 @@
3
3
  */
4
4
  import ObjectEventType from '../ObjectEventType.js';
5
5
  import {CLASS_UNSELECTABLE} from '../css.js';
6
- import {replaceChildren} from '../dom.js';
6
+ import {createMockDiv, isCanvas, replaceChildren} from '../dom.js';
7
7
  import {listen, unlistenByKey} from '../events.js';
8
+ import {WORKER_OFFSCREEN_CANVAS} from '../has.js';
8
9
  import BaseVectorLayer from '../layer/BaseVector.js';
9
10
  import {inView} from '../layer/Layer.js';
10
11
  import RenderEvent from '../render/Event.js';
11
12
  import RenderEventType from '../render/EventType.js';
12
13
  import {checkedFonts} from '../render/canvas.js';
14
+ import {fromString} from '../transform.js';
13
15
  import MapRenderer from './Map.js';
14
16
 
15
17
  /**
@@ -39,7 +41,9 @@ class CompositeMapRenderer extends MapRenderer {
39
41
  * @private
40
42
  * @type {HTMLDivElement}
41
43
  */
42
- this.element_ = document.createElement('div');
44
+ this.element_ = WORKER_OFFSCREEN_CANVAS
45
+ ? createMockDiv()
46
+ : document.createElement('div');
43
47
  const style = this.element_.style;
44
48
  style.position = 'absolute';
45
49
  style.width = '100%';
@@ -49,7 +53,10 @@ class CompositeMapRenderer extends MapRenderer {
49
53
  this.element_.className = CLASS_UNSELECTABLE + ' ol-layers';
50
54
 
51
55
  const container = map.getViewport();
52
- container.insertBefore(this.element_, container.firstChild || null);
56
+ if (container) {
57
+ // maps in a worker do not have a viewport.
58
+ container.insertBefore(this.element_, container.firstChild || null);
59
+ }
53
60
 
54
61
  /**
55
62
  * @private
@@ -151,6 +158,44 @@ class CompositeMapRenderer extends MapRenderer {
151
158
 
152
159
  replaceChildren(this.element_, this.children_);
153
160
 
161
+ const map = this.getMap();
162
+ const mapCanvas = map.getTargetElement();
163
+ if (isCanvas(mapCanvas)) {
164
+ // Canvas composition when container is a canvas
165
+ const mapContext = mapCanvas.getContext('2d');
166
+ for (const container of this.children_) {
167
+ const canvas = container.firstElementChild || container;
168
+ if (!isCanvas(canvas)) {
169
+ continue;
170
+ }
171
+ if (canvas.width > 0) {
172
+ const opacity = container.style.opacity || canvas.style.opacity;
173
+ mapContext.globalAlpha = opacity === '' ? 1 : Number(opacity);
174
+ const transform = canvas.style.transform;
175
+ if (transform) {
176
+ // Get the transform parameters from the style's transform matrix
177
+ mapContext.setTransform(
178
+ .../** @type {[number, number, number, number, number, number]} */ (
179
+ fromString(transform)
180
+ ),
181
+ );
182
+ } else {
183
+ const w = parseFloat(canvas.style.width) / canvas.width;
184
+ const h = parseFloat(canvas.style.height) / canvas.height;
185
+ mapContext.setTransform(w, 0, 0, h, 0, 0);
186
+ }
187
+ const backgroundColor = container.style.backgroundColor;
188
+ if (backgroundColor) {
189
+ mapContext.fillStyle = backgroundColor;
190
+ mapContext.fillRect(0, 0, canvas.width, canvas.height);
191
+ }
192
+ mapContext.drawImage(canvas, 0, 0);
193
+ }
194
+ }
195
+ mapContext.globalAlpha = 1;
196
+ mapContext.setTransform(1, 0, 0, 1, 0, 0);
197
+ }
198
+
154
199
  this.dispatchRenderEvent(RenderEventType.POSTCOMPOSE, frameState);
155
200
 
156
201
  if (!this.renderedVisible_) {
@@ -1 +1 @@
1
- {"version":3,"file":"ImageLayer.d.ts","sourceRoot":"","sources":["ImageLayer.js"],"names":[],"mappings":";AAqBA;;;;GAIG;AACH;IACE;;OAEG;IACH,qEAQC;IALC;;;OAGG;IACH,iBAFW,OAAO,gBAAgB,EAAE,OAAO,OAAA,CAE1B;IAGnB;;OAEG;IACH,YAFY,OAAO,mBAAmB,EAAE,SAAS,CAIhD;IAsDD;;;;OAIG;IACH,wBAJW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,iBAAiB,CA0C5B;IAED;;;;;;OAMG;IACH,iCALW,OAAO,cAAc,EAAE,UAAU,UACjC,WAAW,GACV,WAAW,CAwFtB;CACF;gCA3N+B,YAAY"}
1
+ {"version":3,"file":"ImageLayer.d.ts","sourceRoot":"","sources":["ImageLayer.js"],"names":[],"mappings":";AAqBA;;;;GAIG;AACH;IACE;;OAEG;IACH,qEAQC;IALC;;;OAGG;IACH,iBAFW,OAAO,gBAAgB,EAAE,OAAO,OAAA,CAE1B;IAGnB;;OAEG;IACH,YAFY,OAAO,mBAAmB,EAAE,SAAS,CAIhD;IAsDD;;;;OAIG;IACH,wBAJW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,iBAAiB,CA0C5B;IAED;;;;;;OAMG;IACH,iCALW,OAAO,cAAc,EAAE,UAAU,UACjC,WAAW,GACV,WAAW,CAuFtB;CACF;gCA1N+B,YAAY"}
@@ -233,7 +233,6 @@ class CanvasImageLayerRenderer extends CanvasLayerRenderer {
233
233
  context.restore();
234
234
  }
235
235
  context.imageSmoothingEnabled = true;
236
-
237
236
  return this.container;
238
237
  }
239
238
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @type {Array<HTMLCanvasElement>}
2
+ * @type {Array<HTMLCanvasElement|OffscreenCanvas>}
3
3
  */
4
- export const canvasPool: Array<HTMLCanvasElement>;
4
+ export const canvasPool: Array<HTMLCanvasElement | OffscreenCanvas>;
5
5
  export default CanvasLayerRenderer;
6
6
  /**
7
7
  * @abstract
@@ -10,6 +10,7 @@ export default CanvasLayerRenderer;
10
10
  */
11
11
  declare class CanvasLayerRenderer<LayerType extends import("../../layer/Layer.js").default> extends LayerRenderer<LayerType> {
12
12
  /**
13
+ * HTMLElement container for the layer to be rendered in.
13
14
  * @protected
14
15
  * @type {HTMLElement}
15
16
  */
@@ -41,15 +42,16 @@ declare class CanvasLayerRenderer<LayerType extends import("../../layer/Layer.js
41
42
  */
42
43
  protected inversePixelTransform: import("../../transform.js").Transform;
43
44
  /**
44
- * @type {CanvasRenderingContext2D}
45
+ * @type {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D}
45
46
  */
46
- context: CanvasRenderingContext2D;
47
+ context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D;
47
48
  /**
48
49
  * @private
49
50
  * @type {ZIndexContext}
50
51
  */
51
52
  private deferredContext_;
52
53
  /**
54
+ * true if the container has been reused from the previous renderer
53
55
  * @type {boolean}
54
56
  */
55
57
  containerReused: boolean;
@@ -78,12 +80,12 @@ declare class CanvasLayerRenderer<LayerType extends import("../../layer/Layer.js
78
80
  */
79
81
  useContainer(target: HTMLElement, transform: string, backgroundColor?: string): void;
80
82
  /**
81
- * @param {CanvasRenderingContext2D} context Context.
83
+ * @param {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D} context Context.
82
84
  * @param {import("../../Map.js").FrameState} frameState Frame state.
83
85
  * @param {import("../../extent.js").Extent} extent Clip extent.
84
86
  * @protected
85
87
  */
86
- protected clipUnrotated(context: CanvasRenderingContext2D, frameState: import("../../Map.js").FrameState, extent: import("../../extent.js").Extent): void;
88
+ protected clipUnrotated(context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, frameState: import("../../Map.js").FrameState, extent: import("../../extent.js").Extent): void;
87
89
  /**
88
90
  * @param {import("../../Map.js").FrameState} frameState Frame state.
89
91
  * @param {HTMLElement} target Target that may be used to render content to.
@@ -92,23 +94,23 @@ declare class CanvasLayerRenderer<LayerType extends import("../../layer/Layer.js
92
94
  protected prepareContainer(frameState: import("../../Map.js").FrameState, target: HTMLElement): void;
93
95
  /**
94
96
  * @param {import("../../render/EventType.js").default} type Event type.
95
- * @param {CanvasRenderingContext2D} context Context.
97
+ * @param {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D} context Context.
96
98
  * @param {import("../../Map.js").FrameState} frameState Frame state.
97
99
  * @private
98
100
  */
99
101
  private dispatchRenderEvent_;
100
102
  /**
101
- * @param {CanvasRenderingContext2D} context Context.
103
+ * @param {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D} context Context.
102
104
  * @param {import("../../Map.js").FrameState} frameState Frame state.
103
105
  * @protected
104
106
  */
105
- protected preRender(context: CanvasRenderingContext2D, frameState: import("../../Map.js").FrameState): void;
107
+ protected preRender(context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, frameState: import("../../Map.js").FrameState): void;
106
108
  /**
107
- * @param {CanvasRenderingContext2D} context Context.
109
+ * @param {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D} context Context.
108
110
  * @param {import("../../Map.js").FrameState} frameState Frame state.
109
111
  * @protected
110
112
  */
111
- protected postRender(context: CanvasRenderingContext2D, frameState: import("../../Map.js").FrameState): void;
113
+ protected postRender(context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, frameState: import("../../Map.js").FrameState): void;
112
114
  /**
113
115
  * @param {import("../../Map.js").FrameState} frameState Frame state.
114
116
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Layer.d.ts","sourceRoot":"","sources":["Layer.js"],"names":[],"mappings":"AA2BA;;GAEG;AACH,yBAFU,KAAK,CAAC,iBAAiB,CAAC,CAEL;;AAa7B;;;;GAIG;AACH,kCAHsD,SAAS,SAAlD,OAAQ,sBAAsB,EAAE,OAAQ;IAUjD;;;OAGG;IACH,qBAFU,WAAW,CAEA;IAErB;;;OAGG;IACH,8BAFU,MAAM,CAEO;IAEvB;;;;;OAKG;IACH,yBAFU,OAAO,oBAAoB,EAAE,SAAS,CAEV;IAEtC;;;;;OAKG;IACH,0BAFU,OAAO,oBAAoB,EAAE,SAAS,CAET;IAEvC;;;;;OAKG;IACH,iCAFU,OAAO,oBAAoB,EAAE,SAAS,CAEF;IAE9C;;OAEG;IACH,SAFU,wBAAwB,CAEf;IAEnB;;;OAGG;IACH,yBAA4B;IAE5B;;OAEG;IACH,iBAFU,OAAO,CAEW;IAE5B;;;OAGG;IACH,sBAFU,OAAO,cAAc,EAAE,UAAU,GAAC,IAAI,CAE1B;IAGxB;;;;;OAKG;IACH,oBALW,OAAO,mBAAmB,EAAE,SAAS,OACrC,MAAM,OACN,MAAM,GACL,iBAAiB,GAAC,IAAI,CAiBjC;IAED;;;OAGG;IACH,0BAHW,OAAO,cAAc,EAAE,UAAU,GAChC,MAAM,CASjB;IAED;;;;;OAKG;IACH,qBAJW,WAAW,aACX,MAAM,oBACN,MAAM,QA0DhB;IAED;;;;;OAKG;IACH,iCALW,wBAAwB,cACxB,OAAO,cAAc,EAAE,UAAU,UACjC,OAAO,iBAAiB,EAAE,MAAM,QA2B1C;IAED;;;;OAIG;IACH,uCAJW,OAAO,cAAc,EAAE,UAAU,UACjC,WAAW,QAsCrB;IAED;;;;;OAKG;IACH,6BAWC;IAED;;;;OAIG;IACH,6BAJW,wBAAwB,cACxB,OAAO,cAAc,EAAE,UAAU,QAS3C;IAED;;;;OAIG;IACH,8BAJW,wBAAwB,cACxB,OAAO,cAAc,EAAE,UAAU,QAQ3C;IAED;;OAEG;IACH,mCAFW,OAAO,cAAc,EAAE,UAAU,QAEP;IAErC;;;OAGG;IACH,6BAHW,OAAO,cAAc,EAAE,UAAU,GAChC,OAAO,sCAAsC,EAAE,kBAAkB,CAS5E;IA2BD;;;;;;;;;;;OAWG;IACH,qCAVW,OAAO,qBAAqB,EAAE,UAAU,cACxC,MAAM,YACN,MAAM,cACN,MAAM,SACN,MAAM,UACN,MAAM,WACN,MAAM,GAEL,OAAQ,oBAAoB,EAAE,SAAS,CA2BlD;CAUF;0BA7YyB,aAAa"}
1
+ {"version":3,"file":"Layer.d.ts","sourceRoot":"","sources":["Layer.js"],"names":[],"mappings":"AA4BA;;GAEG;AACH,yBAFU,KAAK,CAAC,iBAAiB,GAAC,eAAe,CAAC,CAErB;;AAa7B;;;;GAIG;AACH,kCAHsD,SAAS,SAAlD,OAAQ,sBAAsB,EAAE,OAAQ;IAUjD;;;;OAIG;IACH,qBAFU,WAAW,CAEA;IAErB;;;OAGG;IACH,8BAFU,MAAM,CAEO;IAEvB;;;;;OAKG;IACH,yBAFU,OAAO,oBAAoB,EAAE,SAAS,CAEV;IAEtC;;;;;OAKG;IACH,0BAFU,OAAO,oBAAoB,EAAE,SAAS,CAET;IAEvC;;;;;OAKG;IACH,iCAFU,OAAO,oBAAoB,EAAE,SAAS,CAEF;IAE9C;;OAEG;IACH,SAFU,wBAAwB,GAAC,iCAAiC,CAEjD;IAEnB;;;OAGG;IACH,yBAA4B;IAE5B;;;OAGG;IACH,iBAFU,OAAO,CAEW;IAE5B;;;OAGG;IACH,sBAFU,OAAO,cAAc,EAAE,UAAU,GAAC,IAAI,CAE1B;IAGxB;;;;;OAKG;IACH,oBALW,OAAO,mBAAmB,EAAE,SAAS,OACrC,MAAM,OACN,MAAM,GACL,iBAAiB,GAAC,IAAI,CAiBjC;IAED;;;OAGG;IACH,0BAHW,OAAO,cAAc,EAAE,UAAU,GAChC,MAAM,CASjB;IAED;;;;;OAKG;IACH,qBAJW,WAAW,aACX,MAAM,oBACN,MAAM,QA6DhB;IAED;;;;;OAKG;IACH,iCALW,wBAAwB,GAAC,iCAAiC,cAC1D,OAAO,cAAc,EAAE,UAAU,UACjC,OAAO,iBAAiB,EAAE,MAAM,QA2B1C;IAED;;;;OAIG;IACH,uCAJW,OAAO,cAAc,EAAE,UAAU,UACjC,WAAW,QAyCrB;IAED;;;;;OAKG;IACH,6BAWC;IAED;;;;OAIG;IACH,6BAJW,wBAAwB,GAAC,iCAAiC,cAC1D,OAAO,cAAc,EAAE,UAAU,QAS3C;IAED;;;;OAIG;IACH,8BAJW,wBAAwB,GAAC,iCAAiC,cAC1D,OAAO,cAAc,EAAE,UAAU,QAQ3C;IAED;;OAEG;IACH,mCAFW,OAAO,cAAc,EAAE,UAAU,QAEP;IAErC;;;OAGG;IACH,6BAHW,OAAO,cAAc,EAAE,UAAU,GAChC,OAAO,sCAAsC,EAAE,kBAAkB,CAS5E;IA2BD;;;;;;;;;;;OAWG;IACH,qCAVW,OAAO,qBAAqB,EAAE,UAAU,cACxC,MAAM,YACN,MAAM,cACN,MAAM,SACN,MAAM,UACN,MAAM,WACN,MAAM,GAEL,OAAQ,oBAAoB,EAAE,SAAS,CA2BlD;CAUF;0BArZyB,aAAa"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import {equals} from '../../array.js';
5
5
  import {asArray} from '../../color.js';
6
- import {createCanvasContext2D} from '../../dom.js';
6
+ import {createCanvasContext2D, createMockDiv, isCanvas} from '../../dom.js';
7
7
  import {
8
8
  getBottomLeft,
9
9
  getBottomRight,
@@ -12,6 +12,7 @@ import {
12
12
  getTopRight,
13
13
  getWidth,
14
14
  } from '../../extent.js';
15
+ import {WORKER_OFFSCREEN_CANVAS} from '../../has.js';
15
16
  import RenderEvent from '../../render/Event.js';
16
17
  import RenderEventType from '../../render/EventType.js';
17
18
  import ZIndexContext from '../../render/canvas/ZIndexContext.js';
@@ -26,12 +27,12 @@ import {
26
27
  import LayerRenderer from '../Layer.js';
27
28
 
28
29
  /**
29
- * @type {Array<HTMLCanvasElement>}
30
+ * @type {Array<HTMLCanvasElement|OffscreenCanvas>}
30
31
  */
31
32
  export const canvasPool = [];
32
33
 
33
34
  /**
34
- * @type {CanvasRenderingContext2D}
35
+ * @type {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D}
35
36
  */
36
37
  let pixelContext = null;
37
38
 
@@ -54,6 +55,7 @@ class CanvasLayerRenderer extends LayerRenderer {
54
55
  super(layer);
55
56
 
56
57
  /**
58
+ * HTMLElement container for the layer to be rendered in.
57
59
  * @protected
58
60
  * @type {HTMLElement}
59
61
  */
@@ -90,7 +92,7 @@ class CanvasLayerRenderer extends LayerRenderer {
90
92
  this.inversePixelTransform = createTransform();
91
93
 
92
94
  /**
93
- * @type {CanvasRenderingContext2D}
95
+ * @type {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D}
94
96
  */
95
97
  this.context = null;
96
98
 
@@ -101,6 +103,7 @@ class CanvasLayerRenderer extends LayerRenderer {
101
103
  this.deferredContext_ = null;
102
104
 
103
105
  /**
106
+ * true if the container has been reused from the previous renderer
104
107
  * @type {boolean}
105
108
  */
106
109
  this.containerReused = false;
@@ -155,6 +158,7 @@ class CanvasLayerRenderer extends LayerRenderer {
155
158
  * @param {string} [backgroundColor] Background color.
156
159
  */
157
160
  useContainer(target, transform, backgroundColor) {
161
+ // renderer canvas to target canvas
158
162
  const layerClassName = this.getLayer().getClassName();
159
163
  let container, context;
160
164
  if (
@@ -169,7 +173,7 @@ class CanvasLayerRenderer extends LayerRenderer {
169
173
  )))
170
174
  ) {
171
175
  const canvas = target.firstElementChild;
172
- if (canvas instanceof HTMLCanvasElement) {
176
+ if (isCanvas(canvas)) {
173
177
  context = canvas.getContext('2d');
174
178
  }
175
179
  }
@@ -187,14 +191,16 @@ class CanvasLayerRenderer extends LayerRenderer {
187
191
  this.container.style.backgroundColor = null;
188
192
  }
189
193
  if (!this.container) {
190
- container = document.createElement('div');
194
+ container = WORKER_OFFSCREEN_CANVAS
195
+ ? createMockDiv()
196
+ : document.createElement('div');
191
197
  container.className = layerClassName;
192
198
  let style = container.style;
193
199
  style.position = 'absolute';
194
200
  style.width = '100%';
195
201
  style.height = '100%';
196
202
  context = createCanvasContext2D();
197
- const canvas = context.canvas;
203
+ const canvas = /** @type {HTMLCanvasElement} */ (context.canvas);
198
204
  container.appendChild(canvas);
199
205
  style = canvas.style;
200
206
  style.position = 'absolute';
@@ -213,7 +219,7 @@ class CanvasLayerRenderer extends LayerRenderer {
213
219
  }
214
220
 
215
221
  /**
216
- * @param {CanvasRenderingContext2D} context Context.
222
+ * @param {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D} context Context.
217
223
  * @param {import("../../Map.js").FrameState} frameState Frame state.
218
224
  * @param {import("../../extent.js").Extent} extent Clip extent.
219
225
  * @protected
@@ -271,7 +277,6 @@ class CanvasLayerRenderer extends LayerRenderer {
271
277
 
272
278
  const canvasTransform = toTransformString(this.pixelTransform);
273
279
  this.useContainer(target, canvasTransform, this.getBackground(frameState));
274
-
275
280
  if (!this.containerReused) {
276
281
  const canvas = this.context.canvas;
277
282
  if (canvas.width != width || canvas.height != height) {
@@ -280,15 +285,19 @@ class CanvasLayerRenderer extends LayerRenderer {
280
285
  } else {
281
286
  this.context.clearRect(0, 0, width, height);
282
287
  }
283
- if (canvasTransform !== canvas.style.transform) {
284
- canvas.style.transform = canvasTransform;
288
+ if (
289
+ canvasTransform !==
290
+ /** @type {HTMLCanvasElement} */ (canvas).style.transform
291
+ ) {
292
+ /** @type {HTMLCanvasElement} */ (canvas).style.transform =
293
+ canvasTransform;
285
294
  }
286
295
  }
287
296
  }
288
297
 
289
298
  /**
290
299
  * @param {import("../../render/EventType.js").default} type Event type.
291
- * @param {CanvasRenderingContext2D} context Context.
300
+ * @param {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D} context Context.
292
301
  * @param {import("../../Map.js").FrameState} frameState Frame state.
293
302
  * @private
294
303
  */
@@ -306,7 +315,7 @@ class CanvasLayerRenderer extends LayerRenderer {
306
315
  }
307
316
 
308
317
  /**
309
- * @param {CanvasRenderingContext2D} context Context.
318
+ * @param {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D} context Context.
310
319
  * @param {import("../../Map.js").FrameState} frameState Frame state.
311
320
  * @protected
312
321
  */
@@ -319,7 +328,7 @@ class CanvasLayerRenderer extends LayerRenderer {
319
328
  }
320
329
 
321
330
  /**
322
- * @param {CanvasRenderingContext2D} context Context.
331
+ * @param {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D} context Context.
323
332
  * @param {import("../../Map.js").FrameState} frameState Frame state.
324
333
  * @protected
325
334
  */
@@ -182,16 +182,16 @@ declare class CanvasTileLayerRenderer<LayerType extends import("../../layer/Tile
182
182
  */
183
183
  protected drawTile(tile: import("../../Tile.js").default, frameState: import("../../Map.js").FrameState, x: number, y: number, w: number, h: number, gutter: number, transition: boolean): void;
184
184
  /**
185
- * @return {HTMLCanvasElement} Image
185
+ * @return {HTMLCanvasElement|OffscreenCanvas} Image
186
186
  */
187
- getImage(): HTMLCanvasElement;
187
+ getImage(): HTMLCanvasElement | OffscreenCanvas;
188
188
  /**
189
189
  * Get the image from a tile.
190
190
  * @param {import("../../ImageTile.js").default} tile Tile.
191
- * @return {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} Image.
191
+ * @return {HTMLCanvasElement|OffscreenCanvas|HTMLImageElement|HTMLVideoElement} Image.
192
192
  * @protected
193
193
  */
194
- protected getTileImage(tile: import("../../ImageTile.js").default): HTMLCanvasElement | HTMLImageElement | HTMLVideoElement;
194
+ protected getTileImage(tile: import("../../ImageTile.js").default): HTMLCanvasElement | OffscreenCanvas | HTMLImageElement | HTMLVideoElement;
195
195
  /**
196
196
  * @param {!Object<string, !Object<string, boolean>>} usedTiles Used tiles.
197
197
  * @param {import("../../source/Tile.js").default} tileSource Tile source.
@@ -1 +1 @@
1
- {"version":3,"file":"TileLayer.d.ts","sourceRoot":"","sources":["TileLayer.js"],"names":[],"mappings":";;;;;;;;;;AA2GA;;;GAGG;AAEH;;;;;;GAMG;AACH,sCAHkG,SAAS,SAA7F,OAAO,qBAAqB,EAAE,OAAO,GAAC,OAAO,2BAA2B,EAAE,OAAQ;IAI9F;;;OAGG;IACH,uBAHW,SAAS,YACT,OAAO,EAkFjB;IA3EC;;;OAGG;IACH,eAFU,OAAO,CAEQ;IAEzB;;;OAGG;IACH,gBAFU,OAAO,CAEU;IAE3B;;;OAGG;IACH,wBAA2B;IAE3B;;;OAGG;IACH,8BAFU,MAAM,CAEO;IAEvB;;;OAGG;IACH,8BAFU,OAAO,0BAA0B,EAAE,OAAO,GAAC,IAAI,CAE3B;IAE9B;;;OAGG;IACH,yBAFW,KAAK,CAAC,OAAO,eAAe,EAAE,OAAO,CAAC,CAE1B;IAEvB;;;OAGG;IACH,2BAAuB;IAEvB;;;OAGG;IACH,gCAA4B;IAE5B;;;OAGG;IACH,sBAFU,OAAO,iBAAiB,EAAE,MAAM,CAEX;IAE/B;;;OAGG;IACH,uBAA+C;IAE/C;;;OAGG;IACH,uBAA8C;IAI9C;;;OAGG;IACH,mBAAyC;IAK3C;;OAEG;IACH,8BAEC;IAED;;;;;;;;;OASG;IACH,6BAPW,MAAM,KACN,MAAM,KACN,MAAM,cACN,OAAO,cAAc,EAAE,UAAU,GAChC,OAAO,eAAe,EAAE,OAAO,GAAC,IAAI,CA4B/C;IAED;;;;;;;OAOG;IACH,qBAPW,MAAM,KACN,MAAM,KACN,MAAM,cACN,OAAO,cAAc,EAAE,UAAU,GAChC,OAAO,eAAe,EAAE,OAAO,GAAC,IAAI,CAS/C;IAED;;;;OAIG;IACH,wBAJW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,iBAAiB,CA6E5B;IAgCD;;;;OAIG;IACH,uCAHY,OAAO,CAKlB;IAED;;;;;;OAMG;IACH,yBANW,OAAO,cAAc,EAAE,UAAU,UACjC,OAAO,iBAAiB,EAAE,MAAM,YAChC,MAAM,YACN,UAAU,WACV,MAAM,QAmFhB;IAED;;;;;;;OAOG;IACH,uBAwBC;IAED;;;;;;;;;OASG;IACH,sBAgCC;IAED;;;;;;;;;;;;;OAaG;IACH,iCALW,OAAO,cAAc,EAAE,UAAU,UACjC,WAAW,GACV,WAAW,CA6TtB;IAED;;;OAGG;IACH,2BAFW,MAAM,QAOhB;IAED;;;;;;;;;;OAUG;IACH,yBAVW,OAAO,eAAe,EAAE,OAAO,cAC/B,OAAO,cAAc,EAAE,UAAU,KACjC,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,UACN,MAAM,cACN,OAAO,QAiDjB;IAED;;OAEG;IACH,YAFY,iBAAiB,CAK5B;IAED;;;;;OAKG;IACH,6BAJW,OAAO,oBAAoB,EAAE,OAAO,GACnC,iBAAiB,GAAC,gBAAgB,GAAC,gBAAgB,CAK9D;IAED;;;;;OAKG;IACH,qCALW;YAAQ,MAAM,GAAE;gBAAQ,MAAM,GAAE,OAAO;SAAC;KAAC,cACzC,OAAO,sBAAsB,EAAE,OAAO,QACtC,OAAO,eAAe,EAAE,OAAO,QAUzC;CACF;gCA/7B+B,YAAY;qBAPvB,2BAA2B"}
1
+ {"version":3,"file":"TileLayer.d.ts","sourceRoot":"","sources":["TileLayer.js"],"names":[],"mappings":";;;;;;;;;;AA2GA;;;GAGG;AAEH;;;;;;GAMG;AACH,sCAHkG,SAAS,SAA7F,OAAO,qBAAqB,EAAE,OAAO,GAAC,OAAO,2BAA2B,EAAE,OAAQ;IAI9F;;;OAGG;IACH,uBAHW,SAAS,YACT,OAAO,EAkFjB;IA3EC;;;OAGG;IACH,eAFU,OAAO,CAEQ;IAEzB;;;OAGG;IACH,gBAFU,OAAO,CAEU;IAE3B;;;OAGG;IACH,wBAA2B;IAE3B;;;OAGG;IACH,8BAFU,MAAM,CAEO;IAEvB;;;OAGG;IACH,8BAFU,OAAO,0BAA0B,EAAE,OAAO,GAAC,IAAI,CAE3B;IAE9B;;;OAGG;IACH,yBAFW,KAAK,CAAC,OAAO,eAAe,EAAE,OAAO,CAAC,CAE1B;IAEvB;;;OAGG;IACH,2BAAuB;IAEvB;;;OAGG;IACH,gCAA4B;IAE5B;;;OAGG;IACH,sBAFU,OAAO,iBAAiB,EAAE,MAAM,CAEX;IAE/B;;;OAGG;IACH,uBAA+C;IAE/C;;;OAGG;IACH,uBAA8C;IAI9C;;;OAGG;IACH,mBAAyC;IAK3C;;OAEG;IACH,8BAEC;IAED;;;;;;;;;OASG;IACH,6BAPW,MAAM,KACN,MAAM,KACN,MAAM,cACN,OAAO,cAAc,EAAE,UAAU,GAChC,OAAO,eAAe,EAAE,OAAO,GAAC,IAAI,CA4B/C;IAED;;;;;;;OAOG;IACH,qBAPW,MAAM,KACN,MAAM,KACN,MAAM,cACN,OAAO,cAAc,EAAE,UAAU,GAChC,OAAO,eAAe,EAAE,OAAO,GAAC,IAAI,CAS/C;IAED;;;;OAIG;IACH,wBAJW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,iBAAiB,CA6E5B;IAgCD;;;;OAIG;IACH,uCAHY,OAAO,CAKlB;IAED;;;;;;OAMG;IACH,yBANW,OAAO,cAAc,EAAE,UAAU,UACjC,OAAO,iBAAiB,EAAE,MAAM,YAChC,MAAM,YACN,UAAU,WACV,MAAM,QAmFhB;IAED;;;;;;;OAOG;IACH,uBAwBC;IAED;;;;;;;;;OASG;IACH,sBAgCC;IAED;;;;;;;;;;;;;OAaG;IACH,iCALW,OAAO,cAAc,EAAE,UAAU,UACjC,WAAW,GACV,WAAW,CA6TtB;IAED;;;OAGG;IACH,2BAFW,MAAM,QAOhB;IAED;;;;;;;;;;OAUG;IACH,yBAVW,OAAO,eAAe,EAAE,OAAO,cAC/B,OAAO,cAAc,EAAE,UAAU,KACjC,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,UACN,MAAM,cACN,OAAO,QAkDjB;IAED;;OAEG;IACH,YAFY,iBAAiB,GAAC,eAAe,CAK5C;IAED;;;;;OAKG;IACH,6BAJW,OAAO,oBAAoB,EAAE,OAAO,GACnC,iBAAiB,GAAC,eAAe,GAAC,gBAAgB,GAAC,gBAAgB,CAK9E;IAED;;;;;OAKG;IACH,qCALW;YAAQ,MAAM,GAAE;gBAAQ,MAAM,GAAE,OAAO;SAAC;KAAC,cACzC,OAAO,sBAAsB,EAAE,OAAO,QACtC,OAAO,eAAe,EAAE,OAAO,QAUzC;CACF;gCAh8B+B,YAAY;qBAPvB,2BAA2B"}
@@ -568,7 +568,6 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
568
568
  */
569
569
  renderFrame(frameState, target) {
570
570
  this.renderComplete = true;
571
-
572
571
  /**
573
572
  * TODO:
574
573
  * maybe skip transition when not fully opaque
@@ -879,6 +878,7 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
879
878
  frameState.postRenderFunctions.push(postRenderFunction);
880
879
  }
881
880
 
881
+ // this normally is `div.ol-layer` and is a mocked div in worker
882
882
  return this.container;
883
883
  }
884
884
 
@@ -916,6 +916,7 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
916
916
  /** @type {import("../../ImageTile.js").default} */ (tile),
917
917
  );
918
918
  }
919
+
919
920
  if (!image) {
920
921
  return;
921
922
  }
@@ -953,7 +954,7 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
953
954
  }
954
955
 
955
956
  /**
956
- * @return {HTMLCanvasElement} Image
957
+ * @return {HTMLCanvasElement|OffscreenCanvas} Image
957
958
  */
958
959
  getImage() {
959
960
  const context = this.context;
@@ -963,7 +964,7 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
963
964
  /**
964
965
  * Get the image from a tile.
965
966
  * @param {import("../../ImageTile.js").default} tile Tile.
966
- * @return {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} Image.
967
+ * @return {HTMLCanvasElement|OffscreenCanvas|HTMLImageElement|HTMLVideoElement} Image.
967
968
  * @protected
968
969
  */
969
970
  getTileImage(tile) {
@@ -98,7 +98,7 @@ declare class CanvasVectorLayerRenderer extends CanvasLayerRenderer<any> {
98
98
  clipping: boolean;
99
99
  /**
100
100
  * @private
101
- * @type {CanvasRenderingContext2D}
101
+ * @type {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D}
102
102
  */
103
103
  private targetContext_;
104
104
  /**
@@ -161,7 +161,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
161
161
 
162
162
  /**
163
163
  * @private
164
- * @type {CanvasRenderingContext2D}
164
+ * @type {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D}
165
165
  */
166
166
  this.targetContext_ = null;
167
167
 
@@ -756,7 +756,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
756
756
 
757
757
  /**
758
758
  * Render the vectors for this layer.
759
- * @param {CanvasRenderingContext2D} context Target context.
759
+ * @param {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D} context Target context.
760
760
  * @param {import("../../Map.js").FrameState} frameState Frame state.
761
761
  * @override
762
762
  */
package/reproj/Image.d.ts CHANGED
@@ -62,7 +62,7 @@ declare class ReprojImage extends ImageWrapper {
62
62
  private interpolate_;
63
63
  /**
64
64
  * @private
65
- * @type {HTMLCanvasElement}
65
+ * @type {HTMLCanvasElement|OffscreenCanvas}
66
66
  */
67
67
  private canvas_;
68
68
  /**
@@ -71,10 +71,10 @@ declare class ReprojImage extends ImageWrapper {
71
71
  */
72
72
  private sourceListenerKey_;
73
73
  /**
74
- * @return {HTMLCanvasElement} Image.
74
+ * @return {HTMLCanvasElement|OffscreenCanvas} Image.
75
75
  * @override
76
76
  */
77
- override getImage(): HTMLCanvasElement;
77
+ override getImage(): HTMLCanvasElement | OffscreenCanvas;
78
78
  /**
79
79
  * @return {import("../proj/Projection.js").default} Projection.
80
80
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["Image.js"],"names":[],"mappings":";2BAwBa,CAAS,IAA6B,EAA7B,OAAO,cAAc,EAAE,MAAM,EAAE,IAAM,EAAN,MAAM,EAAE,IAAM,EAAN,MAAM,KAAI,OAAO,aAAa,EAAE,OAAO;AADpG;;GAEG;AAEH;;;;GAIG;AACH;IACE;;;;;;;;;OASG;IACH,wBATW,OAAO,uBAAuB,EAAE,OAAO,cACvC,OAAO,uBAAuB,EAAE,OAAO,gBACvC,OAAO,cAAc,EAAE,MAAM,oBAC7B,MAAM,cACN,MAAM,oBACN,YAAY,eAEZ,OAAO,EAmHjB;IA3DC;;;OAGG;IACH,oBAA6B;IAE7B;;;OAGG;IACH,yBAAuC;IAEvC;;;OAGG;IACH,uBAAmC;IAEnC;;;OAGG;IACH,0BAAyC;IAEzC;;;OAGG;IACH,sBAAiC;IAEjC;;;OAGG;IACH,qBAA+B;IAE/B;;;OAGG;IACH,0BAAyC;IAEzC;;;OAGG;IACH,qBAA+B;IAE/B;;;OAGG;IACH,gBAAmB;IAEnB;;;OAGG;IACH,2BAA8B;IAchC;;;OAGG;IACH,qBAHY,iBAAiB,CAK5B;IAED;;OAEG;IACH,iBAFY,OAAO,uBAAuB,EAAE,OAAO,CAIlD;IAED;;OAEG;IACH,mBA4BC;IAkCD;;OAEG;IACH,wBAOC;CACF;yBAhQwB,aAAa"}
1
+ {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["Image.js"],"names":[],"mappings":";2BAwBa,CAAS,IAA6B,EAA7B,OAAO,cAAc,EAAE,MAAM,EAAE,IAAM,EAAN,MAAM,EAAE,IAAM,EAAN,MAAM,KAAI,OAAO,aAAa,EAAE,OAAO;AADpG;;GAEG;AAEH;;;;GAIG;AACH;IACE;;;;;;;;;OASG;IACH,wBATW,OAAO,uBAAuB,EAAE,OAAO,cACvC,OAAO,uBAAuB,EAAE,OAAO,gBACvC,OAAO,cAAc,EAAE,MAAM,oBAC7B,MAAM,cACN,MAAM,oBACN,YAAY,eAEZ,OAAO,EAmHjB;IA3DC;;;OAGG;IACH,oBAA6B;IAE7B;;;OAGG;IACH,yBAAuC;IAEvC;;;OAGG;IACH,uBAAmC;IAEnC;;;OAGG;IACH,0BAAyC;IAEzC;;;OAGG;IACH,sBAAiC;IAEjC;;;OAGG;IACH,qBAA+B;IAE/B;;;OAGG;IACH,0BAAyC;IAEzC;;;OAGG;IACH,qBAA+B;IAE/B;;;OAGG;IACH,gBAAmB;IAEnB;;;OAGG;IACH,2BAA8B;IAchC;;;OAGG;IACH,qBAHY,iBAAiB,GAAC,eAAe,CAK5C;IAED;;OAEG;IACH,iBAFY,OAAO,uBAAuB,EAAE,OAAO,CAIlD;IAED;;OAEG;IACH,mBA4BC;IAkCD;;OAEG;IACH,wBAOC;CACF;yBAhQwB,aAAa"}
package/reproj/Image.js CHANGED
@@ -145,7 +145,7 @@ class ReprojImage extends ImageWrapper {
145
145
 
146
146
  /**
147
147
  * @private
148
- * @type {HTMLCanvasElement}
148
+ * @type {HTMLCanvasElement|OffscreenCanvas}
149
149
  */
150
150
  this.canvas_ = null;
151
151
 
@@ -168,7 +168,7 @@ class ReprojImage extends ImageWrapper {
168
168
  }
169
169
 
170
170
  /**
171
- * @return {HTMLCanvasElement} Image.
171
+ * @return {HTMLCanvasElement|OffscreenCanvas} Image.
172
172
  * @override
173
173
  */
174
174
  getImage() {
package/reproj/Tile.d.ts CHANGED
@@ -58,7 +58,7 @@ declare class ReprojTile extends Tile {
58
58
  private gutter_;
59
59
  /**
60
60
  * @private
61
- * @type {HTMLCanvasElement}
61
+ * @type {HTMLCanvasElement|OffscreenCanvas}
62
62
  */
63
63
  private canvas_;
64
64
  /**
@@ -103,9 +103,9 @@ declare class ReprojTile extends Tile {
103
103
  private triangulation_;
104
104
  /**
105
105
  * Get the HTML Canvas element for this tile.
106
- * @return {HTMLCanvasElement} Canvas.
106
+ * @return {HTMLCanvasElement|OffscreenCanvas} Canvas.
107
107
  */
108
- getImage(): HTMLCanvasElement;
108
+ getImage(): HTMLCanvasElement | OffscreenCanvas;
109
109
  /**
110
110
  * @private
111
111
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Tile.d.ts","sourceRoot":"","sources":["Tile.js"],"names":[],"mappings":";2BAoBa,CAAS,IAAM,EAAN,MAAM,EAAE,IAAM,EAAN,MAAM,EAAE,IAAM,EAAN,MAAM,EAAE,IAAM,EAAN,MAAM,KAAI,CAAC,OAAO,iBAAiB,EAAE,OAAO,CAAC;;;;;UAK7E,OAAO,iBAAiB,EAAE,OAAO;;;;YACjC,MAAM;;AAPpB;;GAEG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AACH;IACE;;;;;;;;;;;;;;OAcG;IACH,wBAdW,OAAO,uBAAuB,EAAE,OAAO,kBACvC,OAAO,yBAAyB,EAAE,OAAO,cACzC,OAAO,uBAAuB,EAAE,OAAO,kBACvC,OAAO,yBAAyB,EAAE,OAAO,aACzC,OAAO,iBAAiB,EAAE,SAAS,oBACnC,OAAO,iBAAiB,EAAE,SAAS,cACnC,MAAM,UACN,MAAM,mBACN,YAAY,mBAEZ,MAAM,gBACN,OAAO,YACP,OAAO,YAAY,EAAE,OAAO,EAmNtC;IAjMC;;;OAGG;IACH,qBAAmE;IAEnE;;;OAGG;IACH,oBAA6B;IAE7B;;;OAGG;IACH,gBAAqB;IAErB;;;OAGG;IACH,gBAAmB;IAEnB;;;OAGG;IACH,wBAAqC;IAErC;;;OAGG;IACH,wBAAqC;IAErC;;;OAGG;IACH,0BAAwE;IAExE;;;OAGG;IACH,qBAAsB;IAEtB;;;OAGG;IACH,6BAAgC;IAEhC;;;OAGG;IACH,iBAAiB;IAEjB;;;OAGG;IACH,oBAEa;IAiDb;;;OAGG;IACH,uBAOC;IAqEH;;;OAGG;IACH,YAFY,iBAAiB,CAI5B;IAED;;OAEG;IACH,mBAwDC;IAmDD;;OAEG;IACH,yBAGC;CAcF;iBA5YgB,YAAY"}
1
+ {"version":3,"file":"Tile.d.ts","sourceRoot":"","sources":["Tile.js"],"names":[],"mappings":";2BAoBa,CAAS,IAAM,EAAN,MAAM,EAAE,IAAM,EAAN,MAAM,EAAE,IAAM,EAAN,MAAM,EAAE,IAAM,EAAN,MAAM,KAAI,CAAC,OAAO,iBAAiB,EAAE,OAAO,CAAC;;;;;UAK7E,OAAO,iBAAiB,EAAE,OAAO;;;;YACjC,MAAM;;AAPpB;;GAEG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AACH;IACE;;;;;;;;;;;;;;OAcG;IACH,wBAdW,OAAO,uBAAuB,EAAE,OAAO,kBACvC,OAAO,yBAAyB,EAAE,OAAO,cACzC,OAAO,uBAAuB,EAAE,OAAO,kBACvC,OAAO,yBAAyB,EAAE,OAAO,aACzC,OAAO,iBAAiB,EAAE,SAAS,oBACnC,OAAO,iBAAiB,EAAE,SAAS,cACnC,MAAM,UACN,MAAM,mBACN,YAAY,mBAEZ,MAAM,gBACN,OAAO,YACP,OAAO,YAAY,EAAE,OAAO,EAmNtC;IAjMC;;;OAGG;IACH,qBAAmE;IAEnE;;;OAGG;IACH,oBAA6B;IAE7B;;;OAGG;IACH,gBAAqB;IAErB;;;OAGG;IACH,gBAAmB;IAEnB;;;OAGG;IACH,wBAAqC;IAErC;;;OAGG;IACH,wBAAqC;IAErC;;;OAGG;IACH,0BAAwE;IAExE;;;OAGG;IACH,qBAAsB;IAEtB;;;OAGG;IACH,6BAAgC;IAEhC;;;OAGG;IACH,iBAAiB;IAEjB;;;OAGG;IACH,oBAEa;IAiDb;;;OAGG;IACH,uBAOC;IAqEH;;;OAGG;IACH,YAFY,iBAAiB,GAAC,eAAe,CAI5C;IAED;;OAEG;IACH,mBAwDC;IAmDD;;OAEG;IACH,yBAGC;CAkBF;iBAhZgB,YAAY"}
package/reproj/Tile.js CHANGED
@@ -85,7 +85,7 @@ class ReprojTile extends Tile {
85
85
 
86
86
  /**
87
87
  * @private
88
- * @type {HTMLCanvasElement}
88
+ * @type {HTMLCanvasElement|OffscreenCanvas}
89
89
  */
90
90
  this.canvas_ = null;
91
91
 
@@ -262,7 +262,7 @@ class ReprojTile extends Tile {
262
262
 
263
263
  /**
264
264
  * Get the HTML Canvas element for this tile.
265
- * @return {HTMLCanvasElement} Canvas.
265
+ * @return {HTMLCanvasElement|OffscreenCanvas} Canvas.
266
266
  */
267
267
  getImage() {
268
268
  return this.canvas_;
@@ -392,7 +392,11 @@ class ReprojTile extends Tile {
392
392
  */
393
393
  release() {
394
394
  if (this.canvas_) {
395
- releaseCanvas(this.canvas_.getContext('2d'));
395
+ releaseCanvas(
396
+ /** @type {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D} */ (
397
+ this.canvas_.getContext('2d')
398
+ ),
399
+ );
396
400
  canvasPool.push(this.canvas_);
397
401
  this.canvas_ = null;
398
402
  }
package/reproj.d.ts CHANGED
@@ -47,13 +47,13 @@ export function calculateSourceExtentResolution(sourceProj: import("./proj/Proje
47
47
  * @param {boolean} [interpolate] Use linear interpolation when resampling.
48
48
  * @param {boolean} [drawSingle] Draw single source images directly without stitchContext.
49
49
  * @param {boolean} [clipExtent] Clip stitchContext to sourceExtent.
50
- * @return {HTMLCanvasElement} Canvas with reprojected data.
50
+ * @return {HTMLCanvasElement|OffscreenCanvas} Canvas with reprojected data.
51
51
  */
52
- export function render(width: number, height: number, pixelRatio: number, sourceResolution: number, sourceExtent: import("./extent.js").Extent, targetResolution: number, targetExtent: import("./extent.js").Extent, triangulation: import("./reproj/Triangulation.js").default, sources: Array<ImageExtent>, gutter: number, renderEdges?: boolean, interpolate?: boolean, drawSingle?: boolean, clipExtent?: boolean): HTMLCanvasElement;
52
+ export function render(width: number, height: number, pixelRatio: number, sourceResolution: number, sourceExtent: import("./extent.js").Extent, targetResolution: number, targetExtent: import("./extent.js").Extent, triangulation: import("./reproj/Triangulation.js").default, sources: Array<ImageExtent>, gutter: number, renderEdges?: boolean, interpolate?: boolean, drawSingle?: boolean, clipExtent?: boolean): HTMLCanvasElement | OffscreenCanvas;
53
53
  /**
54
- * @type {Array<HTMLCanvasElement>}
54
+ * @type {Array<HTMLCanvasElement|OffscreenCanvas>}
55
55
  */
56
- export const canvasPool: Array<HTMLCanvasElement>;
56
+ export const canvasPool: Array<HTMLCanvasElement | OffscreenCanvas>;
57
57
  export type ImageExtent = {
58
58
  /**
59
59
  * Extent.
package/reproj.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"reproj.d.ts","sourceRoot":"","sources":["reproj.js"],"names":[],"mappings":"AA2FA;;;;;;;;;;;GAWG;AACH,sDANW,OAAO,sBAAsB,EAAE,OAAO,cACtC,OAAO,sBAAsB,EAAE,OAAO,gBACtC,OAAO,iBAAiB,EAAE,UAAU,oBACpC,MAAM,GACL,MAAM,CAyCjB;AAED;;;;;;;;;;;GAWG;AACH,4DANW,OAAO,sBAAsB,EAAE,OAAO,cACtC,OAAO,sBAAsB,EAAE,OAAO,gBACtC,OAAO,aAAa,EAAE,MAAM,oBAC5B,MAAM,GACL,MAAM,CA6BjB;AAED;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,8BAhBW,MAAM,UACN,MAAM,cACN,MAAM,oBACN,MAAM,gBACN,OAAO,aAAa,EAAE,MAAM,oBAC5B,MAAM,gBACN,OAAO,aAAa,EAAE,MAAM,iBAC5B,OAAO,2BAA2B,EAAE,OAAO,WAC3C,KAAK,CAAC,WAAW,CAAC,UAClB,MAAM,gBACN,OAAO,gBACP,OAAO,eACP,OAAO,eACP,OAAO,GACN,iBAAiB,CAuR5B;AArdD;;GAEG;AACH,yBAFU,KAAK,CAAC,iBAAiB,CAAC,CAEL;;;;;YAqKf,OAAO,aAAa,EAAE,MAAM;;;;;;;;WAE5B,OAAO,eAAe,EAAE,SAAS"}
1
+ {"version":3,"file":"reproj.d.ts","sourceRoot":"","sources":["reproj.js"],"names":[],"mappings":"AA2FA;;;;;;;;;;;GAWG;AACH,sDANW,OAAO,sBAAsB,EAAE,OAAO,cACtC,OAAO,sBAAsB,EAAE,OAAO,gBACtC,OAAO,iBAAiB,EAAE,UAAU,oBACpC,MAAM,GACL,MAAM,CAyCjB;AAED;;;;;;;;;;;GAWG;AACH,4DANW,OAAO,sBAAsB,EAAE,OAAO,cACtC,OAAO,sBAAsB,EAAE,OAAO,gBACtC,OAAO,aAAa,EAAE,MAAM,oBAC5B,MAAM,GACL,MAAM,CA6BjB;AAED;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,8BAhBW,MAAM,UACN,MAAM,cACN,MAAM,oBACN,MAAM,gBACN,OAAO,aAAa,EAAE,MAAM,oBAC5B,MAAM,gBACN,OAAO,aAAa,EAAE,MAAM,iBAC5B,OAAO,2BAA2B,EAAE,OAAO,WAC3C,KAAK,CAAC,WAAW,CAAC,UAClB,MAAM,gBACN,OAAO,gBACP,OAAO,eACP,OAAO,eACP,OAAO,GACN,iBAAiB,GAAC,eAAe,CAuR5C;AArdD;;GAEG;AACH,yBAFU,KAAK,CAAC,iBAAiB,GAAC,eAAe,CAAC,CAErB;;;;;YAqKf,OAAO,aAAa,EAAE,MAAM;;;;;;;;WAE5B,OAAO,eAAe,EAAE,SAAS"}
package/reproj.js CHANGED
@@ -18,7 +18,7 @@ import {getPointResolution, transform} from './proj.js';
18
18
  let brokenDiagonalRendering_;
19
19
 
20
20
  /**
21
- * @type {Array<HTMLCanvasElement>}
21
+ * @type {Array<HTMLCanvasElement|OffscreenCanvas>}
22
22
  */
23
23
  export const canvasPool = [];
24
24
 
@@ -26,7 +26,7 @@ export const canvasPool = [];
26
26
  * This draws a small triangle into a canvas by setting the triangle as the clip region
27
27
  * and then drawing a (too large) rectangle
28
28
  *
29
- * @param {CanvasRenderingContext2D} ctx The context in which to draw the triangle
29
+ * @param {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D} ctx The context in which to draw the triangle
30
30
  * @param {number} u1 The x-coordinate of the second point. The first point is 0,0.
31
31
  * @param {number} v1 The y-coordinate of the second point.
32
32
  * @param {number} u2 The x-coordinate of the third point.
@@ -207,7 +207,7 @@ export function calculateSourceExtentResolution(
207
207
  * @param {boolean} [interpolate] Use linear interpolation when resampling.
208
208
  * @param {boolean} [drawSingle] Draw single source images directly without stitchContext.
209
209
  * @param {boolean} [clipExtent] Clip stitchContext to sourceExtent.
210
- * @return {HTMLCanvasElement} Canvas with reprojected data.
210
+ * @return {HTMLCanvasElement|OffscreenCanvas} Canvas with reprojected data.
211
211
  */
212
212
  export function render(
213
213
  width,
@@ -1 +1 @@
1
- {"version":3,"file":"OSM.d.ts","sourceRoot":"","sources":["OSM.js"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,0BAHU,MAAM,CAME;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAElB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;GAIG;AACH;IACE;;OAEG;IACH,sBAFW,OAAO,EA6CjB;CACF;gBA/Fe,UAAU"}
1
+ {"version":3,"file":"OSM.d.ts","sourceRoot":"","sources":["OSM.js"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,0BAHU,MAAM,CAME;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAElB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;GAIG;AACH;IACE;;OAEG;IACH,sBAFW,OAAO,EA8CjB;CACF;gBAhGe,UAAU"}
package/source/OSM.js CHANGED
@@ -2,6 +2,7 @@
2
2
  * @module ol/source/OSM
3
3
  */
4
4
 
5
+ import {WORKER_OFFSCREEN_CANVAS} from '../has.js';
5
6
  import {defaultTileLoadFunction} from './TileImage.js';
6
7
  import XYZ from './XYZ.js';
7
8
 
@@ -87,7 +88,8 @@ class OSM extends XYZ {
87
88
  */
88
89
  (tile, src) => {
89
90
  const image = tile.getImage();
90
- if (image instanceof HTMLImageElement) {
91
+ // FIXME referrer policy for worker fetch requests
92
+ if (!WORKER_OFFSCREEN_CANVAS && image instanceof HTMLImageElement) {
91
93
  image.referrerPolicy = 'origin-when-cross-origin';
92
94
  }
93
95
  (options.tileLoadFunction || defaultTileLoadFunction)(tile, src);
@@ -1 +1 @@
1
- {"version":3,"file":"Raster.d.ts","sourceRoot":"","sources":["Raster.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Raster.d.ts","sourceRoot":"","sources":["Raster.js"],"names":[],"mappings":"AAkJA;;GAEG;AAEH;;;;;GAKG;AAEH;;;;;;;GAOG;AAEH;;;GAGG;AACH;IACE;;OAEG;IACH,oBAFW,gBAAgB,EAmE1B;IA9DC;;;OAGG;IACH,kBAAkC;IAwBlC;;;OAGG;IACH,iBAAuB;IAEvB;;;OAGG;IACH,eAAgB;IAEhB;;;OAGG;IACH,wBAA+C;IAC/C;;;OAGG;IACH,iBAAiB;IAEjB;;;OAGG;IACH,oBAAqB;IAErB;;;OAGG;IACH,aAAgB;IAGlB;;;;;;;;OAQG;IACH,gBAPW,KAAK,CAAC,SAAS,CAAC,uBAGhB,CAAS,IAAK,EAAL,KAAK,EAAE,IAAS,EAAT,SAAS,EAAE,IAAM,UAAG,IAAI,QAWlD;IAED;;;OAGG;IACH,cAFW,GAAG,QAOb;IAED;;OAEG;IACH,kBA+CC;IAED;;;;OAIG;IACH,wBAHW,MAAM,SACN,YAAY,QAWtB;IAED;;;OAGG;IACH,oBA2BC;CAYF;AA2CD;;;GAGG;AAEH;;GAEG;AAEH;;;;GAIG;AACH;IACE;;;;;OAKG;IACH,kBALW,MAAM,cACN,OAAO,WAAW,EAAE,UAAU,QAC9B,MAAO,KAAK,KAAQ,EA2B9B;IArBC;;;;OAIG;IACH,QAHU,OAAO,cAAc,EAAE,MAAM,CAGR;IAE/B;;;;OAIG;IACH,YAHU,MAAM,CAGyD;IAEzE;;;;;OAKG;IACH,UAAgB;CAEnB;;;;;;aAlca,KAAK,CAAC,WAAW,CAAC;;;;;;;;cAElB,OAAO;;;;WACP,MAAM;;;;YACN,MAAM;;;;;;;;0BA2HP,CAAS,IAAK,EAAL,KAAK,EAAE,IAAS,EAAT,SAAS,EAAE,IAAsB,EAAtB,CAAC,MAAO,KAAK,KAAQ,CAAC,KAAG,IAAI;;;;;;;;;YAMvD,KAAK,CAAC,SAAS,CAAC;;;;cAChB,WAAW;;;;;;aAKX,MAAM;;;;eACN,SAAS;;;;;;;;;;WAET,MAAM;;;;;;;;;;;;;;;;;;;;;wBA4OP,CAAS,IAAuC,EAAvC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAM,UACpE,CAAO,KAAK,CAAC,MAAM,CAAC,GAAC,SAAS,CAAC;;;;kCA0BnB,OAAO,GAAG,OAAO;qCAKjB,OAAO,YAAY,EAAE,qBAAqB,GAAC,kBAAkB,GAAC,iBAAiB;;;;;;aA4C9E,KAAK,CAAC,OAAO,aAAa,EAAE,OAAO,GAAC,OAAO,mBAAmB,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAsBzE,MAAM,IACN,OAAO,eAAe,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,UAAU,EAAE,OAAO,oBAAoB,EAAE,OAAO,EAAE,MAAM,CAAC,GACjI,OAAW,eAAe,EAAE,WAAW,CAAC,OAAO,oBAAoB,EAAE,KAAK,EAAE,OAAO,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,GACpH,OAAW,eAAe,EAAE,WAAW,CAAC,OAAO,YAAY,EAAE,qBAAqB,EAAE,OAAO,YAAY,EAAE,gBAAgB,EAAE,MAAM,CAAC,GAClI,OAAW,eAAe,EAAE,WAAW,CAAC,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,CAAC,GAC1F,OAAW,eAAe,EAAE,mBAAmB,CAAC,OAAO,eAAe,EAAE,UAAU,GAAC,OAAO,oBAAoB,EAAE,KAAK,GAC9G,sBAAsB,EAAE,MAAM,CAAC;uBAnfhB,kBAAkB;kBAIvB,oBAAoB;AAidtC;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;;;;;;GAQG;AAEH;;;;;;;;GAQG;AACH;IACE;;OAEG;IACH,qBAFW,OAAO,EA4IjB;IArIC;;OAEG;IACH,IAFU,uBAAuB,CAAC,OAAO,WAAW,EAAE,SAAS,CAAC,CAEzD;IAEP;;OAEG;IACH,MAFU,uBAAuB,CAAC,OAAO,WAAW,EAAE,SAAS,CAAC,CAEvD;IAET;;OAEG;IACH,IAFU,uBAAuB,CAAC,IAAI,CAAC,CAEhC;IAEP;;;OAGG;IACH,mBAAsB;IAEtB;;;OAGG;IACH,uBACuE;IAEvE;;;OAGG;IACH,iBAAmE;IAEnE;;;OAGG;IACH,gBAA4C;IAO5C;;;OAGG;IACH,wBAAmD;IAEnD;;;OAGG;IACH,mBAEmC;IAEnC;;;;OAIG;IACH,6BAAyB;IAEzB;;;;OAIG;IACH,6BAAgC;IAEhC;;;;OAIG;IACH,0BAAsB;IAEtB;;;OAGG;IACH,oBAsBC;IA6BH;;;;;;OAMG;IACH,wBALW,SAAS,mBAkBnB;IAED;;;;;;;OAOG;IACH,0BA0BC;IAED;;;;OAIG;IACH,yBAWC;IAED;;;;;;;OAOG;IACH,0BAPW,OAAO,cAAc,EAAE,MAAM,cAC7B,MAAM,cACN,MAAM,cACN,OAAO,uBAAuB,EAAE,OAAO,GACtC,OAAO,mBAAmB,EAAE,OAAO,CAsC9C;IAED;;;OAGG;IACH,wBAwBC;IAED;;;;;;;OAOG;IACH,0BA4CC;IAED;;;;OAIG;IACH,qCAJW,OAAO,oBAAoB,EAAE,OAAO,GACnC,KAAK,CAAC,MAAM,CAAC,GAAC,IAAI,CAkB7B;CAWF;wBAh3BuB,YAAY"}