@luma.gl/core 9.3.4 → 9.3.6
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/adapter/resources/render-pipeline.d.ts +1 -1
- package/dist/adapter/resources/render-pipeline.d.ts.map +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
- package/src/adapter/resources/render-pipeline.ts +1 -1
|
@@ -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":"AAKA,OAAO,KAAK,EAAC,MAAM,EAAC,oBAAiB;AAErC,OAAO,EAAC,cAAc,EAAC,6BAA0B;AAEjD,OAAO,KAAK,EAAC,WAAW,EAAC,mCAAgC;AACzD,OAAO,KAAK,EAAC,yBAAyB,EAAC,wDAAqD;AAK5F,qCAAqC;AACrC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gCAAgC;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0IAA0I;IAC1I,MAAM,CAAC,EAAE,iBAAiB,GAAG,eAAe,GAAG,MAAM,GAAG,IAAI,CAAC;IAC7D,iIAAiI;IACjI,SAAS,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0IAA0I;IAC1I,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACnC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iGAAiG;IACjG,SAAS,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC;IACvC,kGAAkG;IAClG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,0IAA0I;IAC1I,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACpC,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF;;;;;;GAMG;AACH,8BAAsB,aAAa;IACjC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,iBAAiB;IAIjE,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,eAAe;IAIpE,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAa/C;IAEF,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAAC;IACrD,4BAA4B;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IACxC,wCAAwC;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,kBAAkB,GAAG,MAAM,CAAC;IAE3D,gFAAgF;IAChF,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAS;IAE/B,wEAAwE;IACxE,SAAS,EAAE,OAAO,CAAQ;IAE1B,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAElB,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,gBAAgB,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,iBAAiB,EAAE,MAAM,CAAC;IAE1B,gGAAgG;IAChG,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kGAAkG;IAClG,mBAAmB,EAAE,MAAM,CAAC;IAE5B,uGAAuG;IACvG,SAAS,CAAC,qBAAqB;;;;MAAyB;IACxD,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC;IAC1C,iEAAiE;IACjE,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAU;IAC/C,qDAAqD;IACrD,SAAS,CAAC,SAAS,UAAS;IAC5B,+FAA+F;IAC/F,SAAS,CAAC,yBAAyB,EAAE,OAAO,CAAQ;IAEpD,QAAQ,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC;IAE5C,QAAQ,IAAI,MAAM;gBAIN,KAAK,CAAC,EAAE,kBAAkB;IAiDtC,OAAO;IASP,QAAQ,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI;IAQhD,gFAAgF;IAChF,qBAAqB,CAAC,OAAO,CAAC,EAAE;QAC9B,kBAAkB,CAAC,EAAE,yBAAyB,GAAG,KAAK,CAAC;KACxD,GAAG,WAAW;IAKf,UAAU,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAI9B,WAAW;IAIX,kBAAkB,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAItC,oBAAoB,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAIxC,uBAAuB,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAK3C,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAWlD,mBAAmB,IAAI,MAAM;IAK7B,iBAAiB,CACf,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1B,OAAO,GAAE,OAAc,GACtB;QACD,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB;IAMD,8CAA8C;IAC9C,YAAY;IAIZ,4EAA4E;IAC5E,SAAS,IAAI,MAAM;IAKnB,6EAA6E;IAC7E,gBAAgB,IAAI,MAAM;IAU1B,2DAA2D;IAC3D,MAAM,CAAC,IAAI,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI;IAInD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,IAAI,IAAI;IAE3C,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE;QAClD,kBAAkB,CAAC,EAAE,yBAAyB,GAAG,KAAK,CAAC;KACxD,GAAG,WAAW;IAEf,SAAS,CAAC,uBAAuB,CAAC,EAAE,EAAE,MAAM;IAM5C;;;;;;;OAOG;IACH,eAAe,IAAI,IAAI;IAOvB;;;;;;;OAOG;IACH,cAAc,IAAI,IAAI;IAItB,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,yBAAyB,EAAE;IAgBlE,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,mBAAmB,EAAE;IAuBtD,SAAS,CAAC,wBAAwB;IAqBlC,SAAS,CAAC,kCAAkC,CAAC,KAAK,EAAE,mBAAmB,GAAG,eAAe;IAoBzF,SAAS,CAAC,8BAA8B,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe;IAQ9F,SAAS,CAAC,mBAAmB,CAAC,EAAC,gBAAgB,EAAE,iBAAiB,EAAC,EAAE,eAAe,GAAG,IAAI;IAM3F,4BAA4B;IAc5B,wBAAwB;IAuBxB,cAAc;CAmBf"}
|
|
@@ -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.6" !== 'undefined' ? "9.3.6" : 'running from source';
|
|
36
36
|
spector;
|
|
37
37
|
preregisteredAdapters = new Map();
|
|
38
38
|
constructor() {
|
|
@@ -2,7 +2,7 @@ import type { Device } from "../device.js";
|
|
|
2
2
|
import type { PrimitiveTopology, RenderPipelineParameters } from "../types/parameters.js";
|
|
3
3
|
import type { ShaderLayout, Bindings, BindingsByGroup } from "../types/shader-layout.js";
|
|
4
4
|
import type { BufferLayout } from "../types/buffer-layout.js";
|
|
5
|
-
import type { TextureFormatColor, TextureFormatDepthStencil } from
|
|
5
|
+
import type { TextureFormatColor, TextureFormatDepthStencil } from "../../shadertypes/texture-types/texture-formats.js";
|
|
6
6
|
import type { Shader } from "./shader.js";
|
|
7
7
|
import type { SharedRenderPipeline } from "./shared-render-pipeline.js";
|
|
8
8
|
import type { RenderPass } from "./render-pass.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-pipeline.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/render-pipeline.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,qBAAkB;AACtC,OAAO,KAAK,EAAC,iBAAiB,EAAE,wBAAwB,EAAC,+BAA4B;AACrF,OAAO,KAAK,EAAC,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAC,kCAA+B;AACpF,OAAO,KAAK,EAAC,YAAY,EAAC,kCAA+B;AACzD,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EAC1B,
|
|
1
|
+
{"version":3,"file":"render-pipeline.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/render-pipeline.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,qBAAkB;AACtC,OAAO,KAAK,EAAC,iBAAiB,EAAE,wBAAwB,EAAC,+BAA4B;AACrF,OAAO,KAAK,EAAC,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAC,kCAA+B;AACpF,OAAO,KAAK,EAAC,YAAY,EAAC,kCAA+B;AACzD,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EAC1B,2DAAwD;AACzD,OAAO,KAAK,EAAC,MAAM,EAAC,oBAAiB;AACrC,OAAO,KAAK,EAAC,oBAAoB,EAAC,oCAAiC;AACnE,OAAO,KAAK,EAAC,UAAU,EAAC,yBAAsB;AAC9C,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,sBAAmB;AACnD,OAAO,EAAC,WAAW,EAAC,0BAAuB;AAC3C,OAAO,EAAC,iBAAiB,EAAC,gCAA6B;AAEvD,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAGhD,6BAA6B;IAC7B,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qGAAqG;IACrG,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,+BAA+B;IAC/B,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uGAAuG;IACvG,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAErC,+EAA+E;IAC/E,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,oGAAoG;IACpG,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAE9B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAI7B,6HAA6H;IAC7H,sBAAsB,CAAC,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC;IACvD,iIAAiI;IACjI,4BAA4B,CAAC,EAAE,yBAAyB,CAAC;IAEzD,iDAAiD;IACjD,UAAU,CAAC,EAAE,wBAAwB,CAAC;IAEtC,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,0GAA0G;IAC1G,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,0EAA0E;IAC1E,qBAAqB,CAAC,EAAE,oBAAoB,CAAC;IAG7C,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,8BAAsB,cAAe,SAAQ,QAAQ,CAAC,mBAAmB,CAAC;IACxE,IAAa,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAE1C;IAED,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,wBAAwB;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC;IACtC,kGAAkG;IAClG,UAAU,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAa;IACxD,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAM;IAClB,6CAA6C;IAC7C,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IAEzD,0EAA0E;IAC1E,IAAI,SAAS,IAAI,OAAO,CAMvB;IAED,gEAAgE;IAChE,IAAI,SAAS,IAAI,OAAO,CAMvB;gBAEW,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB;IAOtD,kGAAkG;IAClG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;QACrB,iEAAiE;QACjE,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,wGAAwG;QACxG,UAAU,CAAC,EAAE,wBAAwB,CAAC;QACtC,sDAAsD;QACtD,QAAQ,CAAC,EAAE,iBAAiB,CAAC;QAC7B,wBAAwB;QACxB,WAAW,EAAE,WAAW,CAAC;QACzB,+BAA+B;QAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,6CAA6C;QAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,2CAA2C;QAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,uCAAuC;QACvC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gCAAgC;QAChC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,+BAA+B;QAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,kCAAkC;QAClC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,sCAAsC;QACtC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;QACtC,2EAA2E;QAC3E,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,2CAA2C;QAC3C,UAAU,CAAC,EAAE,eAAe,CAAC;QAC7B,8DAA8D;QAC9D,mBAAmB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,0BAA0B;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO;IAEX,OAAgB,YAAY,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAyBzD;CACH"}
|
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
|