Skip to content

Commit e04ffb7

Browse files
committed
prevent multiple legacy viewport conversions
1 parent 0ec60e0 commit e04ffb7

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/ts/utils/view.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
import type { Models } from '../../types/models';
77

8+
const fromLegacyDone:Set<Models.Camera.ViewRect | Models.Camera.View> = new Set();
9+
810
/**
911
* View utility object for converting between view formats.
1012
* @internal
@@ -13,12 +15,15 @@ export const View = {
1315
/** Casts a legacy view array ([x0, y0, x1, y1]) to [x0, y0, width, height]. */
1416
fromLegacy: (v?: Models.Camera.ViewRect | Models.Camera.View): Models.Camera.View | undefined => {
1517
if (!v) return undefined;
16-
return [
18+
if(fromLegacyDone.has(v)) return v;
19+
const result = [
1720
v[0],
1821
v[1],
1922
v[2] - v[0],
2023
v[3] - v[1]
2124
];
25+
fromLegacyDone.add(result);
26+
return result;
2227
},
2328

2429
/** Converts a view to center-based JSON format. */

0 commit comments

Comments
 (0)