ol 9.0.1-dev.1710454436434 → 9.0.1-dev.1710502266295

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.1-dev.1710454436434",
3
+ "version": "9.0.1-dev.1710502266295",
4
4
  "description": "OpenLayers mapping library",
5
5
  "keywords": [
6
6
  "map",
@@ -1 +1 @@
1
- {"version":3,"file":"ImageLayer.d.ts","sourceRoot":"","sources":["ImageLayer.js"],"names":[],"mappings":";AAuBA;;;;GAIG;AACH;IACE;;OAEG;IACH,qEAQC;IALC;;;OAGG;IACH,kBAFW,OAAO,gBAAgB,EAAE,OAAO,QAEzB;IAGpB;;OAEG;IACH,YAFY,OAAO,mBAAmB,EAAE,SAAS,CAIhD;IAqDD;;;OAGG;IACH,eAHW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,iBAAiB,CAyC5B;IAED;;;;;OAKG;IACH,wBAJW,OAAO,cAAc,EAAE,UAAU,UACjC,WAAW,GACV,WAAW,CAqHtB;CACF;gCAxQ+B,YAAY"}
1
+ {"version":3,"file":"ImageLayer.d.ts","sourceRoot":"","sources":["ImageLayer.js"],"names":[],"mappings":";AAsBA;;;;GAIG;AACH;IACE;;OAEG;IACH,qEAQC;IALC;;;OAGG;IACH,kBAFW,OAAO,gBAAgB,EAAE,OAAO,QAEzB;IAGpB;;OAEG;IACH,YAFY,OAAO,mBAAmB,EAAE,SAAS,CAIhD;IAqDD;;;OAGG;IACH,eAHW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,iBAAiB,CAyC5B;IAED;;;;;OAKG;IACH,wBAJW,OAAO,cAAc,EAAE,UAAU,UACjC,WAAW,GACV,WAAW,CA+GtB;CACF;gCAjQ+B,YAAY"}
@@ -8,7 +8,6 @@ import {
8
8
  apply as applyTransform,
9
9
  compose as composeTransform,
10
10
  makeInverse,
11
- toString as toTransformString,
12
11
  } from '../../transform.js';
13
12
  import {
14
13
  containsCoordinate,
@@ -187,9 +186,7 @@ class CanvasImageLayerRenderer extends CanvasLayerRenderer {
187
186
  );
188
187
  makeInverse(this.inversePixelTransform, this.pixelTransform);
189
188
 
190
- const canvasTransform = toTransformString(this.pixelTransform);
191
-
192
- this.useContainer(target, canvasTransform, this.getBackground(frameState));
189
+ this.useContainer(target, this.pixelTransform, frameState);
193
190
 
194
191
  const context = this.getRenderContext(frameState);
195
192
  const canvas = this.context.canvas;
@@ -259,10 +256,6 @@ class CanvasImageLayerRenderer extends CanvasLayerRenderer {
259
256
  }
260
257
  context.imageSmoothingEnabled = true;
261
258
 
262
- if (canvasTransform !== canvas.style.transform) {
263
- canvas.style.transform = canvasTransform;
264
- }
265
-
266
259
  return this.container;
267
260
  }
268
261
  }
@@ -78,10 +78,10 @@ declare class CanvasLayerRenderer<LayerType extends import("../../layer/Layer.js
78
78
  /**
79
79
  * Get a rendering container from an existing target, if compatible.
80
80
  * @param {HTMLElement} target Potential render target.
81
- * @param {string} transform CSS Transform.
82
- * @param {string} [backgroundColor] Background color.
81
+ * @param {import('../../transform.js').Transform} transform Transform parameters for the CSS matrix.
82
+ * @param {import('../../Map.js').FrameState} [frameState] Frame state.
83
83
  */
84
- useContainer(target: HTMLElement, transform: string, backgroundColor?: string | undefined): void;
84
+ useContainer(target: HTMLElement, transform: import('../../transform.js').Transform, frameState?: import("../../Map.js").FrameState | undefined): void;
85
85
  /**
86
86
  * @param {CanvasRenderingContext2D} context Context.
87
87
  * @param {import("../../Map.js").FrameState} frameState Frame state.
@@ -1 +1 @@
1
- {"version":3,"file":"Layer.d.ts","sourceRoot":"","sources":["Layer.js"],"names":[],"mappings":"AAsBA;;GAEG;AACH,yBAFU,MAAM,iBAAiB,CAAC,CAEL;;AAa7B;;;;GAIG;AACH;IAOI;;;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,sBAAyB;IAEzB;;;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,8CA2DhB;IAED;;;;;OAKG;IACH,iCALW,wBAAwB,cACxB,OAAO,cAAc,EAAE,UAAU,UACjC,OAAO,iBAAiB,EAAE,MAAM,QA2B1C;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,GAEJ,OAAO,oBAAoB,EAAE,SAAS,CA2BlD;CASF;0BAzXyB,aAAa"}
1
+ {"version":3,"file":"Layer.d.ts","sourceRoot":"","sources":["Layer.js"],"names":[],"mappings":"AAwBA;;GAEG;AACH,yBAFU,MAAM,iBAAiB,CAAC,CAEL;;AAa7B;;;;GAIG;AACH;IAOI;;;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,sBAAyB;IAEzB;;;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,OAAO,oBAAoB,EAAE,SAAS,oEAsEhD;IAED;;;;;OAKG;IACH,iCALW,wBAAwB,cACxB,OAAO,cAAc,EAAE,UAAU,UACjC,OAAO,iBAAiB,EAAE,MAAM,QA2B1C;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,GAEJ,OAAO,oBAAoB,EAAE,SAAS,CA2BlD;CASF;0BAtYyB,aAAa"}
@@ -9,10 +9,12 @@ import {
9
9
  apply as applyTransform,
10
10
  compose as composeTransform,
11
11
  create as createTransform,
12
+ equals as equalTransforms,
13
+ toString as toTransformString,
12
14
  } from '../../transform.js';
13
15
  import {asArray} from '../../color.js';
14
16
  import {createCanvasContext2D} from '../../dom.js';
15
- import {equals} from '../../array.js';
17
+ import {equals as equalArrays} from '../../array.js';
16
18
  import {
17
19
  getBottomLeft,
18
20
  getBottomRight,
@@ -152,11 +154,12 @@ class CanvasLayerRenderer extends LayerRenderer {
152
154
  /**
153
155
  * Get a rendering container from an existing target, if compatible.
154
156
  * @param {HTMLElement} target Potential render target.
155
- * @param {string} transform CSS Transform.
156
- * @param {string} [backgroundColor] Background color.
157
+ * @param {import('../../transform.js').Transform} transform Transform parameters for the CSS matrix.
158
+ * @param {import('../../Map.js').FrameState} [frameState] Frame state.
157
159
  */
158
- useContainer(target, transform, backgroundColor) {
160
+ useContainer(target, transform, frameState) {
159
161
  const layerClassName = this.getLayer().getClassName();
162
+ const backgroundColor = this.getBackground(frameState);
160
163
  let container, context;
161
164
  if (
162
165
  target &&
@@ -164,7 +167,7 @@ class CanvasLayerRenderer extends LayerRenderer {
164
167
  (!backgroundColor ||
165
168
  (target &&
166
169
  target.style.backgroundColor &&
167
- equals(
170
+ equalArrays(
168
171
  asArray(target.style.backgroundColor),
169
172
  asArray(backgroundColor),
170
173
  )))
@@ -174,7 +177,11 @@ class CanvasLayerRenderer extends LayerRenderer {
174
177
  context = canvas.getContext('2d');
175
178
  }
176
179
  }
177
- if (context && context.canvas.style.transform === transform) {
180
+ const transformsAreEqual =
181
+ frameState.layerTransform &&
182
+ transform &&
183
+ equalTransforms(frameState.layerTransform, transform);
184
+ if (context && transformsAreEqual) {
178
185
  // Container of the previous layer renderer can be used.
179
186
  this.container = target;
180
187
  this.context = context;
@@ -211,6 +218,12 @@ class CanvasLayerRenderer extends LayerRenderer {
211
218
  ) {
212
219
  this.container.style.backgroundColor = backgroundColor;
213
220
  }
221
+ if (!transformsAreEqual) {
222
+ if (transform) {
223
+ this.context.canvas.style.transform = toTransformString(transform);
224
+ }
225
+ frameState.layerTransform = transform;
226
+ }
214
227
  }
215
228
 
216
229
  /**
@@ -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,CAuUtB;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,QAsCjB;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;gCA9vB+B,YAAY"}
1
+ {"version":3,"file":"TileLayer.d.ts","sourceRoot":"","sources":["TileLayer.js"],"names":[],"mappings":";AA6BA;;;;;;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,CAiUtB;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,QAsCjB;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;gCAvvB+B,YAAY"}
@@ -10,7 +10,6 @@ import {
10
10
  apply as applyTransform,
11
11
  compose as composeTransform,
12
12
  makeInverse,
13
- toString as toTransformString,
14
13
  } from '../../transform.js';
15
14
  import {ascending} from '../../array.js';
16
15
  import {
@@ -380,9 +379,7 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
380
379
  -height / 2,
381
380
  );
382
381
 
383
- const canvasTransform = toTransformString(this.pixelTransform);
384
-
385
- this.useContainer(target, canvasTransform, this.getBackground(frameState));
382
+ this.useContainer(target, this.pixelTransform, frameState);
386
383
 
387
384
  const context = this.getRenderContext(frameState);
388
385
  const canvas = this.context.canvas;
@@ -566,10 +563,6 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
566
563
  }
567
564
  context.imageSmoothingEnabled = true;
568
565
 
569
- if (canvasTransform !== canvas.style.transform) {
570
- canvas.style.transform = canvasTransform;
571
- }
572
-
573
566
  return this.container;
574
567
  }
575
568
 
@@ -105,7 +105,7 @@ class CanvasVectorImageLayerRenderer extends CanvasImageLayerRenderer {
105
105
  !hints[ViewHint.INTERACTING] &&
106
106
  !isEmpty(renderedExtent)
107
107
  ) {
108
- vectorRenderer.useContainer(null, null);
108
+ vectorRenderer.useContainer(null, null, frameState);
109
109
  const context = vectorRenderer.context;
110
110
  const layerState = frameState.layerStatesArray[frameState.layerIndex];
111
111
  const imageLayerState = Object.assign({}, layerState, {opacity: 1});
@@ -1 +1 @@
1
- {"version":3,"file":"VectorLayer.d.ts","sourceRoot":"","sources":["VectorLayer.js"],"names":[],"mappings":";AAiDA;;;;GAIG;AACH;IACE;;OAEG;IACH,gFAwGC;IArGC,eAAe;IACf,qCAA2E;IAE3E;;OAEG;IACH,yBAFU,OAAO,CAEW;IAE5B;;OAEG;IACH,wBAFU,SAAS,GAAC,IAAI,CAEU;IAElC;;OAEG;IACH,mBAFU,MAAM,OAAO,kBAAkB,EAAE,OAAO,CAAC,CAEtB;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,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,6CAyD3C;IAED;;OAEG;IACH,wBASC;IAED;;OAEG;IACH,0BAWC;IAED;;;OAGG;IACH,4BAFW,OAAO,cAAc,EAAE,UAAU,QAO3C;IAsGD;;;;;OAKG;IACH,mBAJW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,QAAQ,MAAM,OAAO,eAAe,EAAE,OAAO,CAAC,CAAC,CA2F1D;IA4FD;;;;OAIG;IACH,gCAEC;IAwMD;;;;;;;;;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;gCAtyB6C,YAAY;0BAKnD,sCAAsC"}
1
+ {"version":3,"file":"VectorLayer.d.ts","sourceRoot":"","sources":["VectorLayer.js"],"names":[],"mappings":";AA4CA;;;;GAIG;AACH;IACE;;OAEG;IACH,gFAwGC;IArGC,eAAe;IACf,qCAA2E;IAE3E;;OAEG;IACH,yBAFU,OAAO,CAEW;IAE5B;;OAEG;IACH,wBAFU,SAAS,GAAC,IAAI,CAEU;IAElC;;OAEG;IACH,mBAFU,MAAM,OAAO,kBAAkB,EAAE,OAAO,CAAC,CAEtB;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,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,6CAyD3C;IAED;;OAEG;IACH,wBASC;IAED;;OAEG;IACH,0BAWC;IAED;;;OAGG;IACH,4BAFW,OAAO,cAAc,EAAE,UAAU,QAO3C;IAiGD;;;;;OAKG;IACH,mBAJW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,QAAQ,MAAM,OAAO,eAAe,EAAE,OAAO,CAAC,CAAC,CA2F1D;IA4FD;;;;OAIG;IACH,gCAEC;IAwMD;;;;;;;;;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;gCA5xB6C,YAAY;0BAKnD,sCAAsC"}
@@ -15,12 +15,7 @@ import {
15
15
  createHitDetectionImageData,
16
16
  hitDetect,
17
17
  } from '../../render/canvas/hitdetect.js';
18
- import {
19
- apply,
20
- makeInverse,
21
- makeScale,
22
- toString as transformToString,
23
- } from '../../transform.js';
18
+ import {apply, makeInverse, makeScale} from '../../transform.js';
24
19
  import {
25
20
  buffer,
26
21
  containsExtent,
@@ -291,9 +286,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
291
286
  makeScale(this.pixelTransform, 1 / pixelRatio, 1 / pixelRatio);
292
287
  makeInverse(this.inversePixelTransform, this.pixelTransform);
293
288
 
294
- const canvasTransform = transformToString(this.pixelTransform);
295
-
296
- this.useContainer(target, canvasTransform, this.getBackground(frameState));
289
+ this.useContainer(target, this.pixelTransform, frameState);
297
290
 
298
291
  const context = this.context;
299
292
  const canvas = context.canvas;
@@ -315,9 +308,6 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
315
308
  if (canvas.width != width || canvas.height != height) {
316
309
  canvas.width = width;
317
310
  canvas.height = height;
318
- if (canvas.style.transform !== canvasTransform) {
319
- canvas.style.transform = canvasTransform;
320
- }
321
311
  } else if (!this.containerReused) {
322
312
  context.clearRect(0, 0, width, height);
323
313
  }
@@ -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":"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"}
package/source/Raster.js CHANGED
@@ -634,6 +634,7 @@ class RasterSource extends ImageSource {
634
634
  extent: null,
635
635
  index: 0,
636
636
  layerIndex: 0,
637
+ layerTransform: null,
637
638
  layerStatesArray: getLayerStatesArray(this.layers_),
638
639
  pixelRatio: 1,
639
640
  pixelToCoordinateTransform: createTransform(),
package/transform.d.ts CHANGED
@@ -9,6 +9,12 @@ export function create(): number[];
9
9
  * @return {!Transform} Transform.
10
10
  */
11
11
  export function reset(transform: number[]): number[];
12
+ /**
13
+ * @param {!Transform} transform1 Transform 1.
14
+ * @param {!Transform} transform2 Transform 2.
15
+ * @return {boolean} Transform 1 and 2 are pixel equal.
16
+ */
17
+ export function equals(transform1: number[], transform2: number[]): boolean;
12
18
  /**
13
19
  * Multiply the underlying matrices of two transforms and return the result in
14
20
  * the first transform.
@@ -1 +1 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["transform.js"],"names":[],"mappings":"AA8BA;;;GAGG;AACH,mCAEC;AAED;;;;GAIG;AACH,qDAEC;AAED;;;;;;GAMG;AACH,+EAsBC;AAED;;;;;;;;;;GAUG;AACH,4CARW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,YAWhB;AAED;;;;;GAKG;AACH,mFAQC;AAED;;;;;;;;GAQG;AACH,uDAJW,OAAO,iBAAiB,EAAE,UAAU,GAAC,OAAO,YAAY,EAAE,KAAK,GAC9D,OAAO,iBAAiB,EAAE,UAAU,GAAC,OAAO,YAAY,EAAE,KAAK,CAS1E;AAED;;;;;GAKG;AACH,mDAHW,MAAM,YAOhB;AAED;;;;;;GAMG;AACH,8CAJW,MAAM,KACN,MAAM,YAKhB;AAED;;;;;;GAMG;AACH,+CAJW,MAAM,KACN,MAAM,YAKhB;AAED;;;;;;GAMG;AACH,mDAJW,MAAM,MACN,MAAM,YAKhB;AAED;;;;;;;;;;;;GAYG;AACH,kDATW,MAAM,OACN,MAAM,MACN,MAAM,MACN,MAAM,SACN,MAAM,OACN,MAAM,OACN,MAAM,YAahB;AAED;;;;;;;;;;;;;GAaG;AACH,yCAVW,MAAM,OACN,MAAM,MACN,MAAM,MACN,MAAM,SACN,MAAM,OACN,MAAM,OACN,MAAM,GACL,MAAM,CAKjB;AAED;;;;GAIG;AACH,mDAEC;AAED;;;;;;GAMG;AACH,0EAmBC;AAED;;;;GAIG;AACH,4CAFY,MAAM,CAIjB;AAOD;;;;;GAKG;AACH,yCAFY,MAAM,CAajB;;;;;wBAxRa,MAAM,MAAM,CAAC"}
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["transform.js"],"names":[],"mappings":"AA8BA;;;GAGG;AACH,mCAEC;AAED;;;;GAIG;AACH,qDAEC;AAED;;;;GAIG;AACH,oEAFY,OAAO,CAelB;AAED;;;;;;GAMG;AACH,+EAsBC;AAED;;;;;;;;;;GAUG;AACH,4CARW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,YAWhB;AAED;;;;;GAKG;AACH,mFAQC;AAED;;;;;;;;GAQG;AACH,uDAJW,OAAO,iBAAiB,EAAE,UAAU,GAAC,OAAO,YAAY,EAAE,KAAK,GAC9D,OAAO,iBAAiB,EAAE,UAAU,GAAC,OAAO,YAAY,EAAE,KAAK,CAS1E;AAED;;;;;GAKG;AACH,mDAHW,MAAM,YAOhB;AAED;;;;;;GAMG;AACH,8CAJW,MAAM,KACN,MAAM,YAKhB;AAED;;;;;;GAMG;AACH,+CAJW,MAAM,KACN,MAAM,YAKhB;AAED;;;;;;GAMG;AACH,mDAJW,MAAM,MACN,MAAM,YAKhB;AAED;;;;;;;;;;;;GAYG;AACH,kDATW,MAAM,OACN,MAAM,MACN,MAAM,MACN,MAAM,SACN,MAAM,OACN,MAAM,OACN,MAAM,YAahB;AAED;;;;;;;;;;;;;GAaG;AACH,yCAVW,MAAM,OACN,MAAM,MACN,MAAM,MACN,MAAM,SACN,MAAM,OACN,MAAM,OACN,MAAM,GACL,MAAM,CAKjB;AAED;;;;GAIG;AACH,mDAEC;AAED;;;;;;GAMG;AACH,0EAmBC;AAED;;;;GAIG;AACH,4CAFY,MAAM,CAIjB;AAED;;;;;GAKG;AACH,yCAFY,MAAM,CAIjB;;;;;wBA9Ra,MAAM,MAAM,CAAC"}
package/transform.js CHANGED
@@ -45,6 +45,26 @@ export function reset(transform) {
45
45
  return set(transform, 1, 0, 0, 1, 0, 0);
46
46
  }
47
47
 
48
+ /**
49
+ * @param {!Transform} transform1 Transform 1.
50
+ * @param {!Transform} transform2 Transform 2.
51
+ * @return {boolean} Transform 1 and 2 are pixel equal.
52
+ */
53
+ export function equals(transform1, transform2) {
54
+ if (transform1 === transform2) {
55
+ return true;
56
+ }
57
+ const tolerance = 1e-6;
58
+ return (
59
+ Math.abs(transform1[0] - transform2[0]) < tolerance &&
60
+ Math.abs(transform1[1] - transform2[1]) < tolerance &&
61
+ Math.abs(transform1[2] - transform2[2]) < tolerance &&
62
+ Math.abs(transform1[3] - transform2[3]) < tolerance &&
63
+ Math.abs(transform1[4] - transform2[4]) < tolerance &&
64
+ Math.abs(transform1[5] - transform2[5]) < tolerance
65
+ );
66
+ }
67
+
48
68
  /**
49
69
  * Multiply the underlying matrices of two transforms and return the result in
50
70
  * the first transform.
@@ -264,11 +284,6 @@ export function determinant(mat) {
264
284
  return mat[0] * mat[3] - mat[1] * mat[2];
265
285
  }
266
286
 
267
- /**
268
- * @type {Array}
269
- */
270
- const matrixPrecision = [1e6, 1e6, 1e6, 1e6, 2, 2];
271
-
272
287
  /**
273
288
  * A rounded string version of the transform. This can be used
274
289
  * for CSS transforms.
@@ -276,14 +291,5 @@ const matrixPrecision = [1e6, 1e6, 1e6, 1e6, 2, 2];
276
291
  * @return {string} The transform as a string.
277
292
  */
278
293
  export function toString(mat) {
279
- const transformString =
280
- 'matrix(' +
281
- mat
282
- .map(
283
- (value, i) =>
284
- Math.round(value * matrixPrecision[i]) / matrixPrecision[i],
285
- )
286
- .join(', ') +
287
- ')';
288
- return transformString;
294
+ return 'matrix(' + mat.join(', ') + ')';
289
295
  }
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.1-dev.1710454436434';
36
+ export const VERSION = '9.0.1-dev.1710502266295';