@luma.gl/core 9.3.4 → 9.3.5
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/dist/adapter/canvas-observer.d.ts +25 -0
- package/dist/adapter/canvas-observer.d.ts.map +1 -1
- package/dist/adapter/canvas-observer.js +18 -1
- package/dist/adapter/canvas-observer.js.map +1 -1
- package/dist/adapter/canvas-surface.d.ts +10 -6
- package/dist/adapter/canvas-surface.d.ts.map +1 -1
- package/dist/adapter/canvas-surface.js +23 -9
- package/dist/adapter/canvas-surface.js.map +1 -1
- package/dist/adapter/luma.js +1 -1
- package/dist/dist.dev.js +41 -10
- package/dist/dist.min.js +3 -3
- package/dist/index.cjs +39 -11
- package/dist/index.cjs.map +2 -2
- package/package.json +2 -2
- package/src/adapter/canvas-observer.ts +27 -1
- package/src/adapter/canvas-surface.ts +38 -16
|
@@ -1,18 +1,29 @@
|
|
|
1
|
+
/** Options and callbacks used by {@link CanvasObserver}. */
|
|
1
2
|
type CanvasObserverProps = {
|
|
3
|
+
/** HTML canvas element whose DOM lifecycle should be observed. */
|
|
2
4
|
canvas?: HTMLCanvasElement;
|
|
5
|
+
/** Whether to poll for canvas position changes. */
|
|
3
6
|
trackPosition: boolean;
|
|
7
|
+
/** ResizeObserver box type passed to `observe()`. */
|
|
8
|
+
resizeObserverBox: ResizeObserverBoxOptions;
|
|
9
|
+
/** Called with ResizeObserver entries for the observed canvas. */
|
|
4
10
|
onResize: (entries: ResizeObserverEntry[]) => void;
|
|
11
|
+
/** Called with IntersectionObserver entries for the observed canvas. */
|
|
5
12
|
onIntersection: (entries: IntersectionObserverEntry[]) => void;
|
|
13
|
+
/** Called when the window device pixel ratio may have changed. */
|
|
6
14
|
onDevicePixelRatioChange: () => void;
|
|
15
|
+
/** Called while canvas position tracking is enabled. */
|
|
7
16
|
onPositionChange: () => void;
|
|
8
17
|
};
|
|
9
18
|
/**
|
|
10
19
|
* Internal DOM observer orchestration for HTML canvas surfaces.
|
|
11
20
|
*
|
|
21
|
+
* @remarks
|
|
12
22
|
* CanvasSurface owns the tracked state and device callback dispatch. This helper only manages
|
|
13
23
|
* browser observers, timers, and polling loops, then reports events through callbacks.
|
|
14
24
|
*/
|
|
15
25
|
export declare class CanvasObserver {
|
|
26
|
+
/** Observer options and event callbacks. */
|
|
16
27
|
readonly props: CanvasObserverProps;
|
|
17
28
|
private _resizeObserver;
|
|
18
29
|
private _intersectionObserver;
|
|
@@ -21,11 +32,25 @@ export declare class CanvasObserver {
|
|
|
21
32
|
private readonly _handleDevicePixelRatioChange;
|
|
22
33
|
private _trackPositionInterval;
|
|
23
34
|
private _started;
|
|
35
|
+
/** Whether the DOM observers and polling loops have been started. */
|
|
24
36
|
get started(): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Creates an observer coordinator for one HTML canvas.
|
|
39
|
+
*
|
|
40
|
+
* @param props - Observer options and event callbacks.
|
|
41
|
+
*/
|
|
25
42
|
constructor(props: CanvasObserverProps);
|
|
43
|
+
/** Starts DOM observation and optional position polling. */
|
|
26
44
|
start(): void;
|
|
45
|
+
/** Stops DOM observation, media-query listeners, and position polling. */
|
|
27
46
|
stop(): void;
|
|
47
|
+
/** Reports the current device pixel ratio and arms the media query for its next change. */
|
|
28
48
|
private _refreshDevicePixelRatio;
|
|
49
|
+
/**
|
|
50
|
+
* Starts periodic position callbacks while the observer remains active.
|
|
51
|
+
*
|
|
52
|
+
* @param intervalMs - Poll interval in milliseconds.
|
|
53
|
+
*/
|
|
29
54
|
private _trackPosition;
|
|
30
55
|
}
|
|
31
56
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-observer.d.ts","sourceRoot":"","sources":["../../src/adapter/canvas-observer.ts"],"names":[],"mappings":"AAIA,KAAK,mBAAmB,GAAG;IACzB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;IACnD,cAAc,EAAE,CAAC,OAAO,EAAE,yBAAyB,EAAE,KAAK,IAAI,CAAC;IAC/D,wBAAwB,EAAE,MAAM,IAAI,CAAC;IACrC,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"canvas-observer.d.ts","sourceRoot":"","sources":["../../src/adapter/canvas-observer.ts"],"names":[],"mappings":"AAIA,4DAA4D;AAC5D,KAAK,mBAAmB,GAAG;IACzB,kEAAkE;IAClE,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,mDAAmD;IACnD,aAAa,EAAE,OAAO,CAAC;IACvB,qDAAqD;IACrD,iBAAiB,EAAE,wBAAwB,CAAC;IAC5C,kEAAkE;IAClE,QAAQ,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;IACnD,wEAAwE;IACxE,cAAc,EAAE,CAAC,OAAO,EAAE,yBAAyB,EAAE,KAAK,IAAI,CAAC;IAC/D,kEAAkE;IAClE,wBAAwB,EAAE,MAAM,IAAI,CAAC;IACrC,wDAAwD;IACxD,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IAEpC,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,qBAAqB,CAAmC;IAChE,OAAO,CAAC,+BAA+B,CAA8C;IACrF,OAAO,CAAC,kCAAkC,CAA+B;IACzE,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAyC;IACvF,OAAO,CAAC,sBAAsB,CAA+C;IAC7E,OAAO,CAAC,QAAQ,CAAS;IAEzB,qEAAqE;IACrE,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;OAIG;gBACS,KAAK,EAAE,mBAAmB;IAItC,4DAA4D;IAC5D,KAAK,IAAI,IAAI;IA0Bb,0EAA0E;IAC1E,IAAI,IAAI,IAAI;IA6BZ,2FAA2F;IAC3F,OAAO,CAAC,wBAAwB;IAqBhC;;;;OAIG;IACH,OAAO,CAAC,cAAc;CAgBvB"}
|
|
@@ -4,10 +4,12 @@
|
|
|
4
4
|
/**
|
|
5
5
|
* Internal DOM observer orchestration for HTML canvas surfaces.
|
|
6
6
|
*
|
|
7
|
+
* @remarks
|
|
7
8
|
* CanvasSurface owns the tracked state and device callback dispatch. This helper only manages
|
|
8
9
|
* browser observers, timers, and polling loops, then reports events through callbacks.
|
|
9
10
|
*/
|
|
10
11
|
export class CanvasObserver {
|
|
12
|
+
/** Observer options and event callbacks. */
|
|
11
13
|
props;
|
|
12
14
|
_resizeObserver;
|
|
13
15
|
_intersectionObserver;
|
|
@@ -16,12 +18,19 @@ export class CanvasObserver {
|
|
|
16
18
|
_handleDevicePixelRatioChange = () => this._refreshDevicePixelRatio();
|
|
17
19
|
_trackPositionInterval = null;
|
|
18
20
|
_started = false;
|
|
21
|
+
/** Whether the DOM observers and polling loops have been started. */
|
|
19
22
|
get started() {
|
|
20
23
|
return this._started;
|
|
21
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Creates an observer coordinator for one HTML canvas.
|
|
27
|
+
*
|
|
28
|
+
* @param props - Observer options and event callbacks.
|
|
29
|
+
*/
|
|
22
30
|
constructor(props) {
|
|
23
31
|
this.props = props;
|
|
24
32
|
}
|
|
33
|
+
/** Starts DOM observation and optional position polling. */
|
|
25
34
|
start() {
|
|
26
35
|
if (this._started || !this.props.canvas) {
|
|
27
36
|
return;
|
|
@@ -30,8 +39,9 @@ export class CanvasObserver {
|
|
|
30
39
|
this._intersectionObserver ||= new IntersectionObserver(entries => this.props.onIntersection(entries));
|
|
31
40
|
this._resizeObserver ||= new ResizeObserver(entries => this.props.onResize(entries));
|
|
32
41
|
this._intersectionObserver.observe(this.props.canvas);
|
|
42
|
+
const box = this.props.resizeObserverBox;
|
|
33
43
|
try {
|
|
34
|
-
this._resizeObserver.observe(this.props.canvas, { box
|
|
44
|
+
this._resizeObserver.observe(this.props.canvas, { box });
|
|
35
45
|
}
|
|
36
46
|
catch {
|
|
37
47
|
this._resizeObserver.observe(this.props.canvas, { box: 'content-box' });
|
|
@@ -41,6 +51,7 @@ export class CanvasObserver {
|
|
|
41
51
|
this._trackPosition();
|
|
42
52
|
}
|
|
43
53
|
}
|
|
54
|
+
/** Stops DOM observation, media-query listeners, and position polling. */
|
|
44
55
|
stop() {
|
|
45
56
|
if (!this._started) {
|
|
46
57
|
return;
|
|
@@ -61,6 +72,7 @@ export class CanvasObserver {
|
|
|
61
72
|
this._resizeObserver?.disconnect();
|
|
62
73
|
this._intersectionObserver?.disconnect();
|
|
63
74
|
}
|
|
75
|
+
/** Reports the current device pixel ratio and arms the media query for its next change. */
|
|
64
76
|
_refreshDevicePixelRatio() {
|
|
65
77
|
if (!this._started) {
|
|
66
78
|
return;
|
|
@@ -70,6 +82,11 @@ export class CanvasObserver {
|
|
|
70
82
|
this._observeDevicePixelRatioMediaQuery = matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);
|
|
71
83
|
this._observeDevicePixelRatioMediaQuery.addEventListener('change', this._handleDevicePixelRatioChange, { once: true });
|
|
72
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Starts periodic position callbacks while the observer remains active.
|
|
87
|
+
*
|
|
88
|
+
* @param intervalMs - Poll interval in milliseconds.
|
|
89
|
+
*/
|
|
73
90
|
_trackPosition(intervalMs = 100) {
|
|
74
91
|
if (this._trackPositionInterval) {
|
|
75
92
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-observer.js","sourceRoot":"","sources":["../../src/adapter/canvas-observer.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;
|
|
1
|
+
{"version":3,"file":"canvas-observer.js","sourceRoot":"","sources":["../../src/adapter/canvas-observer.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,8 +23,8 @@ export type CanvasContextProps = {
|
|
|
23
23
|
*
|
|
24
24
|
* - `'exact'` uses `ResizeObserver.devicePixelContentBoxSize` when available to match the
|
|
25
25
|
* browser's exact physical pixel coverage.
|
|
26
|
-
* - `'css-dpr'` uses `Math.
|
|
27
|
-
* canvases that
|
|
26
|
+
* - `'css-dpr'` uses `Math.floor(cssSize * devicePixelRatio)` to match overlays and external
|
|
27
|
+
* canvases that size their drawing buffer via implicit truncation (e.g. `canvas.width = css * dpr`).
|
|
28
28
|
*/
|
|
29
29
|
pixelSizeSource?: 'exact' | 'css-dpr';
|
|
30
30
|
/** Whether to track window resizes. */
|
|
@@ -40,6 +40,10 @@ export type MutableCanvasContextProps = {
|
|
|
40
40
|
/** Whether to size the drawing buffer to the pixel size during auto resize. If a number is provided it is used as a static pixel ratio */
|
|
41
41
|
useDevicePixels?: boolean | number;
|
|
42
42
|
};
|
|
43
|
+
type DevicePixelSize = {
|
|
44
|
+
devicePixelWidth: number;
|
|
45
|
+
devicePixelHeight: number;
|
|
46
|
+
};
|
|
43
47
|
/**
|
|
44
48
|
* Shared tracked-canvas lifecycle used by both renderable and presentation contexts.
|
|
45
49
|
* - Creates a new canvas or looks up a canvas from the DOM
|
|
@@ -152,12 +156,12 @@ export declare abstract class CanvasSurface {
|
|
|
152
156
|
protected _handleIntersection(entries: IntersectionObserverEntry[]): void;
|
|
153
157
|
protected _handleResize(entries: ResizeObserverEntry[]): void;
|
|
154
158
|
protected _updateDrawingBufferSize(): void;
|
|
155
|
-
protected _getDevicePixelSizeFromResizeEntry(entry: ResizeObserverEntry):
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
};
|
|
159
|
+
protected _getDevicePixelSizeFromResizeEntry(entry: ResizeObserverEntry): DevicePixelSize;
|
|
160
|
+
protected _getDevicePixelSizeFromCSSSize(cssWidth: number, cssHeight: number): DevicePixelSize;
|
|
161
|
+
protected _setDevicePixelSize({ devicePixelWidth, devicePixelHeight }: DevicePixelSize): void;
|
|
159
162
|
_resizeDrawingBufferIfNeeded(): void;
|
|
160
163
|
_observeDevicePixelRatio(): void;
|
|
161
164
|
updatePosition(): void;
|
|
162
165
|
}
|
|
166
|
+
export {};
|
|
163
167
|
//# sourceMappingURL=canvas-surface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-surface.d.ts","sourceRoot":"","sources":["../../src/adapter/canvas-surface.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"canvas-surface.d.ts","sourceRoot":"","sources":["../../src/adapter/canvas-surface.ts"],"names":[],"mappings":"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"}
|
|
@@ -114,6 +114,7 @@ export class CanvasSurface {
|
|
|
114
114
|
this._canvasObserver = new CanvasObserver({
|
|
115
115
|
canvas: this.htmlCanvas,
|
|
116
116
|
trackPosition: this.props.trackPosition,
|
|
117
|
+
resizeObserverBox: this.props.pixelSizeSource === 'css-dpr' ? 'content-box' : 'device-pixel-content-box',
|
|
117
118
|
onResize: entries => this._handleResize(entries),
|
|
118
119
|
onIntersection: entries => this._handleIntersection(entries),
|
|
119
120
|
onDevicePixelRatioChange: () => this._observeDevicePixelRatio(),
|
|
@@ -255,10 +256,7 @@ export class CanvasSurface {
|
|
|
255
256
|
this.cssWidth = contentBoxSize.inlineSize;
|
|
256
257
|
this.cssHeight = contentBoxSize.blockSize;
|
|
257
258
|
const oldPixelSize = this.getDevicePixelSize();
|
|
258
|
-
|
|
259
|
-
const [maxDevicePixelWidth, maxDevicePixelHeight] = this.getMaxDrawingBufferSize();
|
|
260
|
-
this.devicePixelWidth = Math.max(1, Math.min(devicePixelWidth, maxDevicePixelWidth));
|
|
261
|
-
this.devicePixelHeight = Math.max(1, Math.min(devicePixelHeight, maxDevicePixelHeight));
|
|
259
|
+
this._setDevicePixelSize(this._getDevicePixelSizeFromResizeEntry(entry));
|
|
262
260
|
this._updateDrawingBufferSize();
|
|
263
261
|
this.device.props.onResize(this, { oldPixelSize });
|
|
264
262
|
}
|
|
@@ -282,11 +280,7 @@ export class CanvasSurface {
|
|
|
282
280
|
_getDevicePixelSizeFromResizeEntry(entry) {
|
|
283
281
|
const contentBoxSize = assertDefined(entry.contentBoxSize?.[0]);
|
|
284
282
|
if (this.props.pixelSizeSource === 'css-dpr') {
|
|
285
|
-
|
|
286
|
-
return {
|
|
287
|
-
devicePixelWidth: Math.round(contentBoxSize.inlineSize * devicePixelRatio),
|
|
288
|
-
devicePixelHeight: Math.round(contentBoxSize.blockSize * devicePixelRatio)
|
|
289
|
-
};
|
|
283
|
+
return this._getDevicePixelSizeFromCSSSize(contentBoxSize.inlineSize, contentBoxSize.blockSize);
|
|
290
284
|
}
|
|
291
285
|
return {
|
|
292
286
|
devicePixelWidth: entry.devicePixelContentBoxSize?.[0]?.inlineSize ||
|
|
@@ -295,6 +289,18 @@ export class CanvasSurface {
|
|
|
295
289
|
contentBoxSize.blockSize * devicePixelRatio
|
|
296
290
|
};
|
|
297
291
|
}
|
|
292
|
+
_getDevicePixelSizeFromCSSSize(cssWidth, cssHeight) {
|
|
293
|
+
const devicePixelRatio = this.getDevicePixelRatio();
|
|
294
|
+
return {
|
|
295
|
+
devicePixelWidth: Math.floor(cssWidth * devicePixelRatio),
|
|
296
|
+
devicePixelHeight: Math.floor(cssHeight * devicePixelRatio)
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
_setDevicePixelSize({ devicePixelWidth, devicePixelHeight }) {
|
|
300
|
+
const [maxDevicePixelWidth, maxDevicePixelHeight] = this.getMaxDrawingBufferSize();
|
|
301
|
+
this.devicePixelWidth = Math.max(1, Math.min(devicePixelWidth, maxDevicePixelWidth));
|
|
302
|
+
this.devicePixelHeight = Math.max(1, Math.min(devicePixelHeight, maxDevicePixelHeight));
|
|
303
|
+
}
|
|
298
304
|
_resizeDrawingBufferIfNeeded() {
|
|
299
305
|
if (this._needsDrawingBufferResize) {
|
|
300
306
|
this._needsDrawingBufferResize = false;
|
|
@@ -313,6 +319,14 @@ export class CanvasSurface {
|
|
|
313
319
|
}
|
|
314
320
|
const oldRatio = this.devicePixelRatio;
|
|
315
321
|
this.devicePixelRatio = window.devicePixelRatio;
|
|
322
|
+
if (this.props.pixelSizeSource === 'css-dpr') {
|
|
323
|
+
// In css-dpr mode the ResizeObserver watches content-box, which won't fire on a pure DPR
|
|
324
|
+
// change (CSS size unchanged). Recalculate the drawing buffer from the new DPR here.
|
|
325
|
+
const oldPixelSize = this.getDevicePixelSize();
|
|
326
|
+
this._setDevicePixelSize(this._getDevicePixelSizeFromCSSSize(this.cssWidth, this.cssHeight));
|
|
327
|
+
this._updateDrawingBufferSize();
|
|
328
|
+
this.device.props.onResize(this, { oldPixelSize });
|
|
329
|
+
}
|
|
316
330
|
this.updatePosition();
|
|
317
331
|
this.device.props.onDevicePixelRatioChange?.(this, {
|
|
318
332
|
oldRatio
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-surface.js","sourceRoot":"","sources":["../../src/adapter/canvas-surface.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"canvas-surface.js","sourceRoot":"","sources":["../../src/adapter/canvas-surface.ts"],"names":[],"mappings":"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"}
|
package/dist/adapter/luma.js
CHANGED
|
@@ -32,7 +32,7 @@ export class Luma {
|
|
|
32
32
|
VERSION =
|
|
33
33
|
// Version detection using build plugin
|
|
34
34
|
// @ts-expect-error no-undef
|
|
35
|
-
typeof "9.3.
|
|
35
|
+
typeof "9.3.5" !== 'undefined' ? "9.3.5" : 'running from source';
|
|
36
36
|
spector;
|
|
37
37
|
preregisteredAdapters = new Map();
|
|
38
38
|
constructor() {
|
package/dist/dist.dev.js
CHANGED
|
@@ -2584,6 +2584,7 @@ or create a device with the 'debug: true' prop.`;
|
|
|
2584
2584
|
|
|
2585
2585
|
// src/adapter/canvas-observer.ts
|
|
2586
2586
|
var CanvasObserver = class {
|
|
2587
|
+
/** Observer options and event callbacks. */
|
|
2587
2588
|
props;
|
|
2588
2589
|
_resizeObserver;
|
|
2589
2590
|
_intersectionObserver;
|
|
@@ -2592,12 +2593,19 @@ or create a device with the 'debug: true' prop.`;
|
|
|
2592
2593
|
_handleDevicePixelRatioChange = () => this._refreshDevicePixelRatio();
|
|
2593
2594
|
_trackPositionInterval = null;
|
|
2594
2595
|
_started = false;
|
|
2596
|
+
/** Whether the DOM observers and polling loops have been started. */
|
|
2595
2597
|
get started() {
|
|
2596
2598
|
return this._started;
|
|
2597
2599
|
}
|
|
2600
|
+
/**
|
|
2601
|
+
* Creates an observer coordinator for one HTML canvas.
|
|
2602
|
+
*
|
|
2603
|
+
* @param props - Observer options and event callbacks.
|
|
2604
|
+
*/
|
|
2598
2605
|
constructor(props) {
|
|
2599
2606
|
this.props = props;
|
|
2600
2607
|
}
|
|
2608
|
+
/** Starts DOM observation and optional position polling. */
|
|
2601
2609
|
start() {
|
|
2602
2610
|
if (this._started || !this.props.canvas) {
|
|
2603
2611
|
return;
|
|
@@ -2608,8 +2616,9 @@ or create a device with the 'debug: true' prop.`;
|
|
|
2608
2616
|
);
|
|
2609
2617
|
this._resizeObserver ||= new ResizeObserver((entries) => this.props.onResize(entries));
|
|
2610
2618
|
this._intersectionObserver.observe(this.props.canvas);
|
|
2619
|
+
const box = this.props.resizeObserverBox;
|
|
2611
2620
|
try {
|
|
2612
|
-
this._resizeObserver.observe(this.props.canvas, { box
|
|
2621
|
+
this._resizeObserver.observe(this.props.canvas, { box });
|
|
2613
2622
|
} catch {
|
|
2614
2623
|
this._resizeObserver.observe(this.props.canvas, { box: "content-box" });
|
|
2615
2624
|
}
|
|
@@ -2618,6 +2627,7 @@ or create a device with the 'debug: true' prop.`;
|
|
|
2618
2627
|
this._trackPosition();
|
|
2619
2628
|
}
|
|
2620
2629
|
}
|
|
2630
|
+
/** Stops DOM observation, media-query listeners, and position polling. */
|
|
2621
2631
|
stop() {
|
|
2622
2632
|
if (!this._started) {
|
|
2623
2633
|
return;
|
|
@@ -2641,6 +2651,7 @@ or create a device with the 'debug: true' prop.`;
|
|
|
2641
2651
|
this._resizeObserver?.disconnect();
|
|
2642
2652
|
this._intersectionObserver?.disconnect();
|
|
2643
2653
|
}
|
|
2654
|
+
/** Reports the current device pixel ratio and arms the media query for its next change. */
|
|
2644
2655
|
_refreshDevicePixelRatio() {
|
|
2645
2656
|
if (!this._started) {
|
|
2646
2657
|
return;
|
|
@@ -2659,6 +2670,11 @@ or create a device with the 'debug: true' prop.`;
|
|
|
2659
2670
|
{ once: true }
|
|
2660
2671
|
);
|
|
2661
2672
|
}
|
|
2673
|
+
/**
|
|
2674
|
+
* Starts periodic position callbacks while the observer remains active.
|
|
2675
|
+
*
|
|
2676
|
+
* @param intervalMs - Poll interval in milliseconds.
|
|
2677
|
+
*/
|
|
2662
2678
|
_trackPosition(intervalMs = 100) {
|
|
2663
2679
|
if (this._trackPositionInterval) {
|
|
2664
2680
|
return;
|
|
@@ -2783,6 +2799,7 @@ or create a device with the 'debug: true' prop.`;
|
|
|
2783
2799
|
this._canvasObserver = new CanvasObserver({
|
|
2784
2800
|
canvas: this.htmlCanvas,
|
|
2785
2801
|
trackPosition: this.props.trackPosition,
|
|
2802
|
+
resizeObserverBox: this.props.pixelSizeSource === "css-dpr" ? "content-box" : "device-pixel-content-box",
|
|
2786
2803
|
onResize: (entries) => this._handleResize(entries),
|
|
2787
2804
|
onIntersection: (entries) => this._handleIntersection(entries),
|
|
2788
2805
|
onDevicePixelRatioChange: () => this._observeDevicePixelRatio(),
|
|
@@ -2922,10 +2939,7 @@ or create a device with the 'debug: true' prop.`;
|
|
|
2922
2939
|
this.cssWidth = contentBoxSize.inlineSize;
|
|
2923
2940
|
this.cssHeight = contentBoxSize.blockSize;
|
|
2924
2941
|
const oldPixelSize = this.getDevicePixelSize();
|
|
2925
|
-
|
|
2926
|
-
const [maxDevicePixelWidth, maxDevicePixelHeight] = this.getMaxDrawingBufferSize();
|
|
2927
|
-
this.devicePixelWidth = Math.max(1, Math.min(devicePixelWidth, maxDevicePixelWidth));
|
|
2928
|
-
this.devicePixelHeight = Math.max(1, Math.min(devicePixelHeight, maxDevicePixelHeight));
|
|
2942
|
+
this._setDevicePixelSize(this._getDevicePixelSizeFromResizeEntry(entry));
|
|
2929
2943
|
this._updateDrawingBufferSize();
|
|
2930
2944
|
this.device.props.onResize(this, { oldPixelSize });
|
|
2931
2945
|
}
|
|
@@ -2950,17 +2964,28 @@ or create a device with the 'debug: true' prop.`;
|
|
|
2950
2964
|
_getDevicePixelSizeFromResizeEntry(entry) {
|
|
2951
2965
|
const contentBoxSize = assertDefined(entry.contentBoxSize?.[0]);
|
|
2952
2966
|
if (this.props.pixelSizeSource === "css-dpr") {
|
|
2953
|
-
|
|
2954
|
-
|
|
2955
|
-
|
|
2956
|
-
|
|
2957
|
-
};
|
|
2967
|
+
return this._getDevicePixelSizeFromCSSSize(
|
|
2968
|
+
contentBoxSize.inlineSize,
|
|
2969
|
+
contentBoxSize.blockSize
|
|
2970
|
+
);
|
|
2958
2971
|
}
|
|
2959
2972
|
return {
|
|
2960
2973
|
devicePixelWidth: entry.devicePixelContentBoxSize?.[0]?.inlineSize || contentBoxSize.inlineSize * devicePixelRatio,
|
|
2961
2974
|
devicePixelHeight: entry.devicePixelContentBoxSize?.[0]?.blockSize || contentBoxSize.blockSize * devicePixelRatio
|
|
2962
2975
|
};
|
|
2963
2976
|
}
|
|
2977
|
+
_getDevicePixelSizeFromCSSSize(cssWidth, cssHeight) {
|
|
2978
|
+
const devicePixelRatio2 = this.getDevicePixelRatio();
|
|
2979
|
+
return {
|
|
2980
|
+
devicePixelWidth: Math.floor(cssWidth * devicePixelRatio2),
|
|
2981
|
+
devicePixelHeight: Math.floor(cssHeight * devicePixelRatio2)
|
|
2982
|
+
};
|
|
2983
|
+
}
|
|
2984
|
+
_setDevicePixelSize({ devicePixelWidth, devicePixelHeight }) {
|
|
2985
|
+
const [maxDevicePixelWidth, maxDevicePixelHeight] = this.getMaxDrawingBufferSize();
|
|
2986
|
+
this.devicePixelWidth = Math.max(1, Math.min(devicePixelWidth, maxDevicePixelWidth));
|
|
2987
|
+
this.devicePixelHeight = Math.max(1, Math.min(devicePixelHeight, maxDevicePixelHeight));
|
|
2988
|
+
}
|
|
2964
2989
|
_resizeDrawingBufferIfNeeded() {
|
|
2965
2990
|
if (this._needsDrawingBufferResize) {
|
|
2966
2991
|
this._needsDrawingBufferResize = false;
|
|
@@ -2978,6 +3003,12 @@ or create a device with the 'debug: true' prop.`;
|
|
|
2978
3003
|
}
|
|
2979
3004
|
const oldRatio = this.devicePixelRatio;
|
|
2980
3005
|
this.devicePixelRatio = window.devicePixelRatio;
|
|
3006
|
+
if (this.props.pixelSizeSource === "css-dpr") {
|
|
3007
|
+
const oldPixelSize = this.getDevicePixelSize();
|
|
3008
|
+
this._setDevicePixelSize(this._getDevicePixelSizeFromCSSSize(this.cssWidth, this.cssHeight));
|
|
3009
|
+
this._updateDrawingBufferSize();
|
|
3010
|
+
this.device.props.onResize(this, { oldPixelSize });
|
|
3011
|
+
}
|
|
2981
3012
|
this.updatePosition();
|
|
2982
3013
|
this.device.props.onDevicePixelRatioChange?.(this, {
|
|
2983
3014
|
oldRatio
|