@babylonjs/gui 5.24.0 → 5.26.0
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/2D/advancedDynamicTexture.d.ts +28 -28
- package/2D/advancedDynamicTexture.js +36 -33
- package/2D/advancedDynamicTexture.js.map +1 -1
- package/2D/controls/button.d.ts +6 -32
- package/2D/controls/button.js +6 -32
- package/2D/controls/button.js.map +1 -1
- package/2D/controls/checkbox.d.ts +2 -8
- package/2D/controls/checkbox.js +2 -8
- package/2D/controls/checkbox.js.map +1 -1
- package/2D/controls/colorpicker.d.ts +2 -4
- package/2D/controls/colorpicker.js +2 -4
- package/2D/controls/colorpicker.js.map +1 -1
- package/2D/controls/container.d.ts +20 -43
- package/2D/controls/container.js +20 -43
- package/2D/controls/container.js.map +1 -1
- package/2D/controls/control.d.ts +71 -144
- package/2D/controls/control.js +67 -140
- package/2D/controls/control.js.map +1 -1
- package/2D/controls/focusableButton.d.ts +4 -9
- package/2D/controls/focusableButton.js +4 -9
- package/2D/controls/focusableButton.js.map +1 -1
- package/2D/controls/grid.d.ts +1 -3
- package/2D/controls/grid.js +1 -3
- package/2D/controls/grid.js.map +1 -1
- package/2D/controls/image.d.ts +1 -3
- package/2D/controls/image.js +1 -3
- package/2D/controls/image.js.map +1 -1
- package/2D/controls/inputText.d.ts +10 -18
- package/2D/controls/inputText.js +9 -17
- package/2D/controls/inputText.js.map +1 -1
- package/2D/controls/inputTextArea.d.ts +10 -10
- package/2D/controls/inputTextArea.js +9 -9
- package/2D/controls/inputTextArea.js.map +1 -1
- package/2D/controls/rectangle.d.ts +2 -2
- package/2D/controls/rectangle.js +2 -2
- package/2D/controls/rectangle.js.map +1 -1
- package/2D/controls/scrollViewers/scrollViewer.d.ts +3 -7
- package/2D/controls/scrollViewers/scrollViewer.js +3 -7
- package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
- package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +4 -10
- package/2D/controls/scrollViewers/scrollViewerWindow.js +4 -10
- package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
- package/2D/controls/selector.d.ts +14 -40
- package/2D/controls/selector.js +14 -40
- package/2D/controls/selector.js.map +1 -1
- package/2D/controls/sliders/baseSlider.d.ts +1 -3
- package/2D/controls/sliders/baseSlider.js +1 -3
- package/2D/controls/sliders/baseSlider.js.map +1 -1
- package/2D/controls/sliders/imageBasedSlider.d.ts +1 -3
- package/2D/controls/sliders/imageBasedSlider.js +1 -3
- package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
- package/2D/controls/sliders/imageScrollBar.d.ts +1 -3
- package/2D/controls/sliders/imageScrollBar.js +1 -3
- package/2D/controls/sliders/imageScrollBar.js.map +1 -1
- package/2D/controls/sliders/scrollBar.d.ts +1 -3
- package/2D/controls/sliders/scrollBar.js +1 -3
- package/2D/controls/sliders/scrollBar.js.map +1 -1
- package/2D/controls/stackPanel.d.ts +2 -6
- package/2D/controls/stackPanel.js +2 -6
- package/2D/controls/stackPanel.js.map +1 -1
- package/2D/controls/statics.d.ts +1 -1
- package/2D/controls/statics.js +1 -1
- package/2D/controls/statics.js.map +1 -1
- package/2D/controls/textBlock.d.ts +1 -2
- package/2D/controls/textBlock.js +1 -2
- package/2D/controls/textBlock.js.map +1 -1
- package/2D/controls/textWrapper.d.ts +1 -1
- package/2D/controls/textWrapper.js +1 -1
- package/2D/controls/textWrapper.js.map +1 -1
- package/2D/controls/toggleButton.d.ts +5 -29
- package/2D/controls/toggleButton.js +5 -29
- package/2D/controls/toggleButton.js.map +1 -1
- package/2D/controls/virtualKeyboard.d.ts +1 -3
- package/2D/controls/virtualKeyboard.js +1 -3
- package/2D/controls/virtualKeyboard.js.map +1 -1
- package/2D/multiLinePoint.d.ts +1 -1
- package/2D/multiLinePoint.js.map +1 -1
- package/2D/style.d.ts +2 -2
- package/2D/style.js +1 -1
- package/2D/style.js.map +1 -1
- package/3D/controls/button3D.d.ts +1 -1
- package/3D/controls/button3D.js.map +1 -1
- package/3D/controls/control3D.d.ts +11 -31
- package/3D/controls/control3D.js +10 -30
- package/3D/controls/control3D.js.map +1 -1
- package/3D/controls/holographicSlate.d.ts +5 -6
- package/3D/controls/holographicSlate.js +3 -4
- package/3D/controls/holographicSlate.js.map +1 -1
- package/3D/controls/meshButton3D.d.ts +1 -1
- package/3D/controls/meshButton3D.js.map +1 -1
- package/3D/controls/touchButton3D.d.ts +1 -4
- package/3D/controls/touchButton3D.js +1 -4
- package/3D/controls/touchButton3D.js.map +1 -1
- package/3D/controls/touchMeshButton3D.d.ts +1 -1
- package/3D/controls/touchMeshButton3D.js.map +1 -1
- package/3D/gizmos/gizmoHandle.d.ts +1 -1
- package/3D/gizmos/gizmoHandle.js.map +1 -1
- package/3D/gui3DManager.d.ts +5 -5
- package/3D/gui3DManager.js +4 -4
- package/3D/gui3DManager.js.map +1 -1
- package/3D/materials/fluent/fluentMaterial.d.ts +1 -1
- package/3D/materials/fluent/fluentMaterial.js +1 -1
- package/3D/materials/fluent/fluentMaterial.js.map +1 -1
- package/3D/materials/fluent/shaders/fluent.fragment.d.ts +1 -1
- package/3D/materials/fluent/shaders/fluent.fragment.js +1 -1
- package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -1
- package/3D/materials/fluent/shaders/fluent.vertex.d.ts +1 -1
- package/3D/materials/fluent/shaders/fluent.vertex.js +1 -1
- package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -1
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +8 -8
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +9 -9
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +1 -1
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +1 -1
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -1
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +1 -1
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +1 -1
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -1
- package/3D/materials/fluentButton/fluentButtonMaterial.js +1 -1
- package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
- package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +1 -1
- package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +1 -1
- package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -1
- package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +1 -1
- package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +1 -1
- package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -1
- package/3D/materials/handle/handleMaterial.d.ts +1 -1
- package/3D/materials/handle/handleMaterial.js +1 -1
- package/3D/materials/handle/handleMaterial.js.map +1 -1
- package/3D/materials/handle/shaders/handle.fragment.d.ts +1 -1
- package/3D/materials/handle/shaders/handle.fragment.js +1 -1
- package/3D/materials/handle/shaders/handle.fragment.js.map +1 -1
- package/3D/materials/handle/shaders/handle.vertex.d.ts +1 -1
- package/3D/materials/handle/shaders/handle.vertex.js +1 -1
- package/3D/materials/handle/shaders/handle.vertex.js.map +1 -1
- package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +8 -8
- package/3D/materials/mrdl/mrdlBackplateMaterial.js +9 -9
- package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
- package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +10 -10
- package/3D/materials/mrdl/mrdlSliderBarMaterial.js +11 -11
- package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +10 -10
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +11 -11
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
- package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +1 -1
- package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +1 -1
- package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -1
- package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +1 -1
- package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +1 -1
- package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -1
- package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +1 -1
- package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +1 -1
- package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -1
- package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +1 -1
- package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +1 -1
- package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -1
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +1 -1
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +1 -1
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -1
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +1 -1
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +1 -1
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -1
- package/package.json +2 -2
|
@@ -2,6 +2,7 @@ import type { Nullable } from "@babylonjs/core/types.js";
|
|
|
2
2
|
import { Observable } from "@babylonjs/core/Misc/observable.js";
|
|
3
3
|
import type { Matrix } from "@babylonjs/core/Maths/math.vector.js";
|
|
4
4
|
import { Vector2, Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
5
|
+
import type { PointerInfoPre } from "@babylonjs/core/Events/pointerEvents.js";
|
|
5
6
|
import { ClipboardInfo } from "@babylonjs/core/Events/clipboardEvents.js";
|
|
6
7
|
import { DynamicTexture } from "@babylonjs/core/Materials/Textures/dynamicTexture.js";
|
|
7
8
|
import type { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
|
|
@@ -33,27 +34,27 @@ export declare class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
33
34
|
private _canvasPointerOutObserver;
|
|
34
35
|
private _canvasBlurObserver;
|
|
35
36
|
private _background;
|
|
36
|
-
/** @
|
|
37
|
+
/** @internal */
|
|
37
38
|
_rootContainer: Container;
|
|
38
|
-
/** @
|
|
39
|
+
/** @internal */
|
|
39
40
|
_lastPickedControl: Control;
|
|
40
|
-
/** @
|
|
41
|
+
/** @internal */
|
|
41
42
|
_lastControlOver: {
|
|
42
43
|
[pointerId: number]: Control;
|
|
43
44
|
};
|
|
44
|
-
/** @
|
|
45
|
+
/** @internal */
|
|
45
46
|
_lastControlDown: {
|
|
46
47
|
[pointerId: number]: Control;
|
|
47
48
|
};
|
|
48
|
-
/** @
|
|
49
|
+
/** @internal */
|
|
49
50
|
_capturingControl: {
|
|
50
51
|
[pointerId: number]: Control;
|
|
51
52
|
};
|
|
52
|
-
/** @
|
|
53
|
+
/** @internal */
|
|
53
54
|
_shouldBlockPointer: boolean;
|
|
54
|
-
/** @
|
|
55
|
+
/** @internal */
|
|
55
56
|
_layerToDispose: Nullable<Layer>;
|
|
56
|
-
/** @
|
|
57
|
+
/** @internal */
|
|
57
58
|
_linkedControls: Control[];
|
|
58
59
|
private _isFullscreen;
|
|
59
60
|
private _fullscreenViewport;
|
|
@@ -67,13 +68,13 @@ export declare class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
67
68
|
private _rootElement;
|
|
68
69
|
private _cursorChanged;
|
|
69
70
|
private _defaultMousePointerId;
|
|
70
|
-
/** @
|
|
71
|
+
/** @internal */
|
|
71
72
|
_capturedPointerIds: Set<number>;
|
|
72
|
-
/** @
|
|
73
|
+
/** @internal */
|
|
73
74
|
_numLayoutCalls: number;
|
|
74
75
|
/** Gets the number of layout calls made the last time the ADT has been rendered */
|
|
75
76
|
get numLayoutCalls(): number;
|
|
76
|
-
/** @
|
|
77
|
+
/** @internal */
|
|
77
78
|
_numRenderCalls: number;
|
|
78
79
|
/** Gets the number of render calls made the last time the ADT has been rendered */
|
|
79
80
|
get numRenderCalls(): number;
|
|
@@ -282,7 +283,7 @@ export declare class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
282
283
|
*/
|
|
283
284
|
dispose(): void;
|
|
284
285
|
private _onResize;
|
|
285
|
-
/** @
|
|
286
|
+
/** @internal */
|
|
286
287
|
_getGlobalViewport(): Viewport;
|
|
287
288
|
/**
|
|
288
289
|
* Get screen coordinates for a vector3
|
|
@@ -302,46 +303,45 @@ export declare class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
302
303
|
private _clearMeasure;
|
|
303
304
|
private _render;
|
|
304
305
|
/**
|
|
305
|
-
* @
|
|
306
|
-
* @hidden
|
|
306
|
+
* @internal
|
|
307
307
|
*/
|
|
308
308
|
_changeCursor(cursor: string): void;
|
|
309
309
|
/**
|
|
310
|
-
* @
|
|
311
|
-
* @param pointerId
|
|
312
|
-
* @hidden
|
|
310
|
+
* @internal
|
|
313
311
|
*/
|
|
314
312
|
_registerLastControlDown(control: Control, pointerId: number): void;
|
|
315
313
|
private _doPicking;
|
|
316
314
|
/**
|
|
317
|
-
* @
|
|
318
|
-
* @param control
|
|
319
|
-
* @hidden
|
|
315
|
+
* @internal
|
|
320
316
|
*/
|
|
321
317
|
_cleanControlAfterRemovalFromList(list: {
|
|
322
318
|
[pointerId: number]: Control;
|
|
323
319
|
}, control: Control): void;
|
|
324
320
|
/**
|
|
325
|
-
* @
|
|
326
|
-
* @hidden
|
|
321
|
+
* @internal
|
|
327
322
|
*/
|
|
328
323
|
_cleanControlAfterRemoval(control: Control): void;
|
|
324
|
+
/**
|
|
325
|
+
* This function will run a pointer event on this ADT and will trigger any pointer events on any controls
|
|
326
|
+
* This will work on a fullscreen ADT only. For mesh based ADT, simulate pointer events using the scene directly.
|
|
327
|
+
* @param x pointer X on the canvas for the picking
|
|
328
|
+
* @param y pointer Y on the canvas for the picking
|
|
329
|
+
* @param pi optional pointer information
|
|
330
|
+
*/
|
|
331
|
+
pick(x: number, y: number, pi?: Nullable<PointerInfoPre>): void;
|
|
329
332
|
private _translateToPicking;
|
|
330
333
|
/** Attach to all scene events required to support pointer events */
|
|
331
334
|
attach(): void;
|
|
332
335
|
/**
|
|
333
|
-
* @
|
|
334
|
-
* @hidden
|
|
336
|
+
* @internal
|
|
335
337
|
*/
|
|
336
338
|
private _onClipboardCopy;
|
|
337
339
|
/**
|
|
338
|
-
* @
|
|
339
|
-
* @hidden
|
|
340
|
+
* @internal
|
|
340
341
|
*/
|
|
341
342
|
private _onClipboardCut;
|
|
342
343
|
/**
|
|
343
|
-
* @
|
|
344
|
-
* @hidden
|
|
344
|
+
* @internal
|
|
345
345
|
*/
|
|
346
346
|
private _onClipboardPaste;
|
|
347
347
|
/**
|
|
@@ -35,15 +35,15 @@ export class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
35
35
|
constructor(name, width = 0, height = 0, scene, generateMipMaps = false, samplingMode = Texture.NEAREST_SAMPLINGMODE, invertY = true) {
|
|
36
36
|
super(name, { width: width, height: height }, scene, generateMipMaps, samplingMode, Constants.TEXTUREFORMAT_RGBA, invertY);
|
|
37
37
|
this._isDirty = false;
|
|
38
|
-
/** @
|
|
38
|
+
/** @internal */
|
|
39
39
|
this._rootContainer = new Container("root");
|
|
40
|
-
/** @
|
|
40
|
+
/** @internal */
|
|
41
41
|
this._lastControlOver = {};
|
|
42
|
-
/** @
|
|
42
|
+
/** @internal */
|
|
43
43
|
this._lastControlDown = {};
|
|
44
|
-
/** @
|
|
44
|
+
/** @internal */
|
|
45
45
|
this._capturingControl = {};
|
|
46
|
-
/** @
|
|
46
|
+
/** @internal */
|
|
47
47
|
this._linkedControls = new Array();
|
|
48
48
|
this._isFullscreen = false;
|
|
49
49
|
this._fullscreenViewport = new Viewport(0, 0, 1, 1);
|
|
@@ -55,11 +55,11 @@ export class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
55
55
|
this._renderScale = 1;
|
|
56
56
|
this._cursorChanged = false;
|
|
57
57
|
this._defaultMousePointerId = 0;
|
|
58
|
-
/** @
|
|
58
|
+
/** @internal */
|
|
59
59
|
this._capturedPointerIds = new Set();
|
|
60
|
-
/** @
|
|
60
|
+
/** @internal */
|
|
61
61
|
this._numLayoutCalls = 0;
|
|
62
|
-
/** @
|
|
62
|
+
/** @internal */
|
|
63
63
|
this._numRenderCalls = 0;
|
|
64
64
|
/**
|
|
65
65
|
* Define type to string to ensure compatibility across browsers
|
|
@@ -110,8 +110,7 @@ export class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
110
110
|
this._invalidatedRectangle = null;
|
|
111
111
|
this._clearMeasure = new Measure(0, 0, 0, 0);
|
|
112
112
|
/**
|
|
113
|
-
* @
|
|
114
|
-
* @hidden
|
|
113
|
+
* @internal
|
|
115
114
|
*/
|
|
116
115
|
this._onClipboardCopy = (rawEvt) => {
|
|
117
116
|
const evt = rawEvt;
|
|
@@ -120,8 +119,7 @@ export class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
120
119
|
evt.preventDefault();
|
|
121
120
|
};
|
|
122
121
|
/**
|
|
123
|
-
* @
|
|
124
|
-
* @hidden
|
|
122
|
+
* @internal
|
|
125
123
|
*/
|
|
126
124
|
this._onClipboardCut = (rawEvt) => {
|
|
127
125
|
const evt = rawEvt;
|
|
@@ -130,8 +128,7 @@ export class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
130
128
|
evt.preventDefault();
|
|
131
129
|
};
|
|
132
130
|
/**
|
|
133
|
-
* @
|
|
134
|
-
* @hidden
|
|
131
|
+
* @internal
|
|
135
132
|
*/
|
|
136
133
|
this._onClipboardPaste = (rawEvt) => {
|
|
137
134
|
const evt = rawEvt;
|
|
@@ -587,7 +584,7 @@ export class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
587
584
|
}
|
|
588
585
|
this.invalidateRect(0, 0, textureSize.width - 1, textureSize.height - 1);
|
|
589
586
|
}
|
|
590
|
-
/** @
|
|
587
|
+
/** @internal */
|
|
591
588
|
_getGlobalViewport() {
|
|
592
589
|
const size = this.getSize();
|
|
593
590
|
const globalViewPort = this._fullscreenViewport.toGlobal(size.width, size.height);
|
|
@@ -700,8 +697,7 @@ export class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
700
697
|
this._invalidatedRectangle = null;
|
|
701
698
|
}
|
|
702
699
|
/**
|
|
703
|
-
* @
|
|
704
|
-
* @hidden
|
|
700
|
+
* @internal
|
|
705
701
|
*/
|
|
706
702
|
_changeCursor(cursor) {
|
|
707
703
|
if (this._rootElement) {
|
|
@@ -710,9 +706,7 @@ export class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
710
706
|
}
|
|
711
707
|
}
|
|
712
708
|
/**
|
|
713
|
-
* @
|
|
714
|
-
* @param pointerId
|
|
715
|
-
* @hidden
|
|
709
|
+
* @internal
|
|
716
710
|
*/
|
|
717
711
|
_registerLastControlDown(control, pointerId) {
|
|
718
712
|
this._lastControlDown[pointerId] = control;
|
|
@@ -759,9 +753,7 @@ export class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
759
753
|
this._manageFocus();
|
|
760
754
|
}
|
|
761
755
|
/**
|
|
762
|
-
* @
|
|
763
|
-
* @param control
|
|
764
|
-
* @hidden
|
|
756
|
+
* @internal
|
|
765
757
|
*/
|
|
766
758
|
_cleanControlAfterRemovalFromList(list, control) {
|
|
767
759
|
for (const pointerId in list) {
|
|
@@ -775,14 +767,25 @@ export class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
775
767
|
}
|
|
776
768
|
}
|
|
777
769
|
/**
|
|
778
|
-
* @
|
|
779
|
-
* @hidden
|
|
770
|
+
* @internal
|
|
780
771
|
*/
|
|
781
772
|
_cleanControlAfterRemoval(control) {
|
|
782
773
|
this._cleanControlAfterRemovalFromList(this._lastControlDown, control);
|
|
783
774
|
this._cleanControlAfterRemovalFromList(this._lastControlOver, control);
|
|
784
775
|
}
|
|
785
|
-
|
|
776
|
+
/**
|
|
777
|
+
* This function will run a pointer event on this ADT and will trigger any pointer events on any controls
|
|
778
|
+
* This will work on a fullscreen ADT only. For mesh based ADT, simulate pointer events using the scene directly.
|
|
779
|
+
* @param x pointer X on the canvas for the picking
|
|
780
|
+
* @param y pointer Y on the canvas for the picking
|
|
781
|
+
* @param pi optional pointer information
|
|
782
|
+
*/
|
|
783
|
+
pick(x, y, pi = null) {
|
|
784
|
+
if (this._isFullscreen && this._scene) {
|
|
785
|
+
this._translateToPicking(this._scene, new Viewport(0, 0, 0, 0), pi, x, y);
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
_translateToPicking(scene, tempViewport, pi, x = scene.pointerX, y = scene.pointerY) {
|
|
786
789
|
const camera = scene.cameraToUseForPointers || scene.activeCamera;
|
|
787
790
|
const engine = scene.getEngine();
|
|
788
791
|
const originalCameraToUseForPointers = scene.cameraToUseForPointers;
|
|
@@ -799,10 +802,10 @@ export class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
799
802
|
camera.rigCameras.forEach((rigCamera) => {
|
|
800
803
|
// generate the viewport of this camera
|
|
801
804
|
rigCamera.viewport.toGlobalToRef(engine.getRenderWidth(), engine.getRenderHeight(), rigViewport);
|
|
802
|
-
const
|
|
803
|
-
const
|
|
805
|
+
const transformedX = x / engine.getHardwareScalingLevel() - rigViewport.x;
|
|
806
|
+
const transformedY = y / engine.getHardwareScalingLevel() - (engine.getRenderHeight() - rigViewport.y - rigViewport.height);
|
|
804
807
|
// check if the pointer is in the camera's viewport
|
|
805
|
-
if (
|
|
808
|
+
if (transformedX < 0 || transformedY < 0 || x > rigViewport.width || y > rigViewport.height) {
|
|
806
809
|
// out of viewport - don't use this camera
|
|
807
810
|
return;
|
|
808
811
|
}
|
|
@@ -819,20 +822,20 @@ export class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
819
822
|
camera.viewport.toGlobalToRef(engine.getRenderWidth(), engine.getRenderHeight(), tempViewport);
|
|
820
823
|
}
|
|
821
824
|
}
|
|
822
|
-
const
|
|
823
|
-
const
|
|
825
|
+
const transformedX = x / engine.getHardwareScalingLevel() - tempViewport.x;
|
|
826
|
+
const transformedY = y / engine.getHardwareScalingLevel() - (engine.getRenderHeight() - tempViewport.y - tempViewport.height);
|
|
824
827
|
this._shouldBlockPointer = false;
|
|
825
828
|
// Do picking modifies _shouldBlockPointer
|
|
826
829
|
if (pi) {
|
|
827
830
|
const pointerId = pi.event.pointerId || this._defaultMousePointerId;
|
|
828
|
-
this._doPicking(
|
|
831
|
+
this._doPicking(transformedX, transformedY, pi, pi.type, pointerId, pi.event.button, pi.event.deltaX, pi.event.deltaY);
|
|
829
832
|
// Avoid overwriting a true skipOnPointerObservable to false
|
|
830
833
|
if (this._shouldBlockPointer || this._capturingControl[pointerId]) {
|
|
831
834
|
pi.skipOnPointerObservable = true;
|
|
832
835
|
}
|
|
833
836
|
}
|
|
834
837
|
else {
|
|
835
|
-
this._doPicking(
|
|
838
|
+
this._doPicking(transformedX, transformedY, null, PointerEventTypes.POINTERMOVE, this._defaultMousePointerId, 0);
|
|
836
839
|
}
|
|
837
840
|
// if overridden by a rig camera - reset back to the original value
|
|
838
841
|
scene.cameraToUseForPointers = originalCameraToUseForPointers;
|