ol 9.0.1-dev.1710768662323 → 9.0.1-dev.1711024617637

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.1710768662323",
3
+ "version": "9.0.1-dev.1711024617637",
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":";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"}
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"}
@@ -8,6 +8,7 @@ import {
8
8
  apply as applyTransform,
9
9
  compose as composeTransform,
10
10
  makeInverse,
11
+ toString as toTransformString,
11
12
  } from '../../transform.js';
12
13
  import {
13
14
  containsCoordinate,
@@ -186,7 +187,9 @@ class CanvasImageLayerRenderer extends CanvasLayerRenderer {
186
187
  );
187
188
  makeInverse(this.inversePixelTransform, this.pixelTransform);
188
189
 
189
- this.useContainer(target, this.pixelTransform, frameState);
190
+ const canvasTransform = toTransformString(this.pixelTransform);
191
+
192
+ this.useContainer(target, canvasTransform, this.getBackground(frameState));
190
193
 
191
194
  const context = this.getRenderContext(frameState);
192
195
  const canvas = this.context.canvas;
@@ -256,6 +259,10 @@ class CanvasImageLayerRenderer extends CanvasLayerRenderer {
256
259
  }
257
260
  context.imageSmoothingEnabled = true;
258
261
 
262
+ if (canvasTransform !== canvas.style.transform) {
263
+ canvas.style.transform = canvasTransform;
264
+ }
265
+
259
266
  return this.container;
260
267
  }
261
268
  }
@@ -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 {import('../../transform.js').Transform} transform Transform parameters for the CSS matrix.
82
- * @param {import('../../Map.js').FrameState} [frameState] Frame state.
81
+ * @param {string} transform CSS Transform.
82
+ * @param {string} [backgroundColor] Background color.
83
83
  */
84
- useContainer(target: HTMLElement, transform: import('../../transform.js').Transform, frameState?: import("../../Map.js").FrameState | undefined): void;
84
+ useContainer(target: HTMLElement, transform: string, backgroundColor?: string | 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":"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"}
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"}
@@ -9,12 +9,10 @@ import {
9
9
  apply as applyTransform,
10
10
  compose as composeTransform,
11
11
  create as createTransform,
12
- equals as equalTransforms,
13
- toString as toTransformString,
14
12
  } from '../../transform.js';
15
13
  import {asArray} from '../../color.js';
16
14
  import {createCanvasContext2D} from '../../dom.js';
17
- import {equals as equalArrays} from '../../array.js';
15
+ import {equals} from '../../array.js';
18
16
  import {
19
17
  getBottomLeft,
20
18
  getBottomRight,
@@ -154,12 +152,11 @@ class CanvasLayerRenderer extends LayerRenderer {
154
152
  /**
155
153
  * Get a rendering container from an existing target, if compatible.
156
154
  * @param {HTMLElement} target Potential render target.
157
- * @param {import('../../transform.js').Transform} transform Transform parameters for the CSS matrix.
158
- * @param {import('../../Map.js').FrameState} [frameState] Frame state.
155
+ * @param {string} transform CSS Transform.
156
+ * @param {string} [backgroundColor] Background color.
159
157
  */
160
- useContainer(target, transform, frameState) {
158
+ useContainer(target, transform, backgroundColor) {
161
159
  const layerClassName = this.getLayer().getClassName();
162
- const backgroundColor = this.getBackground(frameState);
163
160
  let container, context;
164
161
  if (
165
162
  target &&
@@ -167,7 +164,7 @@ class CanvasLayerRenderer extends LayerRenderer {
167
164
  (!backgroundColor ||
168
165
  (target &&
169
166
  target.style.backgroundColor &&
170
- equalArrays(
167
+ equals(
171
168
  asArray(target.style.backgroundColor),
172
169
  asArray(backgroundColor),
173
170
  )))
@@ -177,11 +174,7 @@ class CanvasLayerRenderer extends LayerRenderer {
177
174
  context = canvas.getContext('2d');
178
175
  }
179
176
  }
180
- const transformsAreEqual =
181
- frameState.layerTransform &&
182
- transform &&
183
- equalTransforms(frameState.layerTransform, transform);
184
- if (context && transformsAreEqual) {
177
+ if (context && context.canvas.style.transform === transform) {
185
178
  // Container of the previous layer renderer can be used.
186
179
  this.container = target;
187
180
  this.context = context;
@@ -218,12 +211,6 @@ class CanvasLayerRenderer extends LayerRenderer {
218
211
  ) {
219
212
  this.container.style.backgroundColor = backgroundColor;
220
213
  }
221
- if (!transformsAreEqual) {
222
- if (transform) {
223
- this.context.canvas.style.transform = toTransformString(transform);
224
- }
225
- frameState.layerTransform = transform;
226
- }
227
214
  }
228
215
 
229
216
  /**
@@ -1 +1 @@
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"}
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"}
@@ -10,6 +10,7 @@ import {
10
10
  apply as applyTransform,
11
11
  compose as composeTransform,
12
12
  makeInverse,
13
+ toString as toTransformString,
13
14
  } from '../../transform.js';
14
15
  import {ascending} from '../../array.js';
15
16
  import {
@@ -379,7 +380,9 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
379
380
  -height / 2,
380
381
  );
381
382
 
382
- this.useContainer(target, this.pixelTransform, frameState);
383
+ const canvasTransform = toTransformString(this.pixelTransform);
384
+
385
+ this.useContainer(target, canvasTransform, this.getBackground(frameState));
383
386
 
384
387
  const context = this.getRenderContext(frameState);
385
388
  const canvas = this.context.canvas;
@@ -563,6 +566,10 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
563
566
  }
564
567
  context.imageSmoothingEnabled = true;
565
568
 
569
+ if (canvasTransform !== canvas.style.transform) {
570
+ canvas.style.transform = canvasTransform;
571
+ }
572
+
566
573
  return this.container;
567
574
  }
568
575
 
@@ -105,7 +105,7 @@ class CanvasVectorImageLayerRenderer extends CanvasImageLayerRenderer {
105
105
  !hints[ViewHint.INTERACTING] &&
106
106
  !isEmpty(renderedExtent)
107
107
  ) {
108
- vectorRenderer.useContainer(null, null, frameState);
108
+ vectorRenderer.useContainer(null, null);
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":";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"}
1
+ {"version":3,"file":"VectorLayer.d.ts","sourceRoot":"","sources":["VectorLayer.js"],"names":[],"mappings":";AAkDA;;;;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;IAiHD;;;;;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;gCAlzB6C,YAAY;0BAKnD,sCAAsC"}
@@ -15,11 +15,17 @@ import {
15
15
  createHitDetectionImageData,
16
16
  hitDetect,
17
17
  } from '../../render/canvas/hitdetect.js';
18
- import {apply, makeInverse, makeScale} from '../../transform.js';
18
+ import {
19
+ apply,
20
+ compose as composeTransform,
21
+ makeInverse,
22
+ toString as transformToString,
23
+ } from '../../transform.js';
19
24
  import {
20
25
  buffer,
21
26
  containsExtent,
22
27
  createEmpty,
28
+ getHeight,
23
29
  getWidth,
24
30
  intersects as intersectsExtent,
25
31
  wrapX as wrapExtentX,
@@ -179,8 +185,8 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
179
185
  viewHints[ViewHint.ANIMATING] || viewHints[ViewHint.INTERACTING]
180
186
  );
181
187
  const context = this.context;
182
- const width = Math.round(frameState.size[0] * pixelRatio);
183
- const height = Math.round(frameState.size[1] * pixelRatio);
188
+ const width = Math.round((getWidth(extent) / resolution) * pixelRatio);
189
+ const height = Math.round((getHeight(extent) / resolution) * pixelRatio);
184
190
 
185
191
  const multiWorld = vectorSource.getWrapX() && projection.canWrapX();
186
192
  const worldWidth = multiWorld ? getWidth(projectionExtent) : null;
@@ -281,12 +287,27 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
281
287
  const pixelRatio = frameState.pixelRatio;
282
288
  const layerState = frameState.layerStatesArray[frameState.layerIndex];
283
289
  this.opacity_ = layerState.opacity;
290
+ const extent = frameState.extent;
291
+ const resolution = frameState.viewState.resolution;
292
+ const width = Math.round((getWidth(extent) / resolution) * pixelRatio);
293
+ const height = Math.round((getHeight(extent) / resolution) * pixelRatio);
284
294
 
285
295
  // set forward and inverse pixel transforms
286
- makeScale(this.pixelTransform, 1 / pixelRatio, 1 / pixelRatio);
296
+ composeTransform(
297
+ this.pixelTransform,
298
+ frameState.size[0] / 2,
299
+ frameState.size[1] / 2,
300
+ 1 / pixelRatio,
301
+ 1 / pixelRatio,
302
+ 0,
303
+ -width / 2,
304
+ -height / 2,
305
+ );
287
306
  makeInverse(this.inversePixelTransform, this.pixelTransform);
288
307
 
289
- this.useContainer(target, this.pixelTransform, frameState);
308
+ const canvasTransform = transformToString(this.pixelTransform);
309
+
310
+ this.useContainer(target, canvasTransform, this.getBackground(frameState));
290
311
 
291
312
  const context = this.context;
292
313
  const canvas = context.canvas;
@@ -303,11 +324,12 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
303
324
  }
304
325
 
305
326
  // resize and clear
306
- const width = Math.round(frameState.size[0] * pixelRatio);
307
- const height = Math.round(frameState.size[1] * pixelRatio);
308
327
  if (canvas.width != width || canvas.height != height) {
309
328
  canvas.width = width;
310
329
  canvas.height = height;
330
+ if (canvas.style.transform !== canvasTransform) {
331
+ canvas.style.transform = canvasTransform;
332
+ }
311
333
  } else if (!this.containerReused) {
312
334
  context.clearRect(0, 0, width, height);
313
335
  }
@@ -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,7 +634,6 @@ class RasterSource extends ImageSource {
634
634
  extent: null,
635
635
  index: 0,
636
636
  layerIndex: 0,
637
- layerTransform: null,
638
637
  layerStatesArray: getLayerStatesArray(this.layers_),
639
638
  pixelRatio: 1,
640
639
  pixelToCoordinateTransform: createTransform(),
package/transform.d.ts CHANGED
@@ -9,12 +9,6 @@ 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;
18
12
  /**
19
13
  * Multiply the underlying matrices of two transforms and return the result in
20
14
  * 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;;;;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"}
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"}
package/transform.js CHANGED
@@ -45,26 +45,6 @@ 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
-
68
48
  /**
69
49
  * Multiply the underlying matrices of two transforms and return the result in
70
50
  * the first transform.
@@ -284,6 +264,11 @@ export function determinant(mat) {
284
264
  return mat[0] * mat[3] - mat[1] * mat[2];
285
265
  }
286
266
 
267
+ /**
268
+ * @type {Array}
269
+ */
270
+ const matrixPrecision = [1e6, 1e6, 1e6, 1e6, 2, 2];
271
+
287
272
  /**
288
273
  * A rounded string version of the transform. This can be used
289
274
  * for CSS transforms.
@@ -291,5 +276,14 @@ export function determinant(mat) {
291
276
  * @return {string} The transform as a string.
292
277
  */
293
278
  export function toString(mat) {
294
- return 'matrix(' + mat.join(', ') + ')';
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;
295
289
  }
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.1710768662323';
36
+ export const VERSION = '9.0.1-dev.1711024617637';