@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.
Files changed (163) hide show
  1. package/2D/advancedDynamicTexture.d.ts +28 -28
  2. package/2D/advancedDynamicTexture.js +36 -33
  3. package/2D/advancedDynamicTexture.js.map +1 -1
  4. package/2D/controls/button.d.ts +6 -32
  5. package/2D/controls/button.js +6 -32
  6. package/2D/controls/button.js.map +1 -1
  7. package/2D/controls/checkbox.d.ts +2 -8
  8. package/2D/controls/checkbox.js +2 -8
  9. package/2D/controls/checkbox.js.map +1 -1
  10. package/2D/controls/colorpicker.d.ts +2 -4
  11. package/2D/controls/colorpicker.js +2 -4
  12. package/2D/controls/colorpicker.js.map +1 -1
  13. package/2D/controls/container.d.ts +20 -43
  14. package/2D/controls/container.js +20 -43
  15. package/2D/controls/container.js.map +1 -1
  16. package/2D/controls/control.d.ts +71 -144
  17. package/2D/controls/control.js +67 -140
  18. package/2D/controls/control.js.map +1 -1
  19. package/2D/controls/focusableButton.d.ts +4 -9
  20. package/2D/controls/focusableButton.js +4 -9
  21. package/2D/controls/focusableButton.js.map +1 -1
  22. package/2D/controls/grid.d.ts +1 -3
  23. package/2D/controls/grid.js +1 -3
  24. package/2D/controls/grid.js.map +1 -1
  25. package/2D/controls/image.d.ts +1 -3
  26. package/2D/controls/image.js +1 -3
  27. package/2D/controls/image.js.map +1 -1
  28. package/2D/controls/inputText.d.ts +10 -18
  29. package/2D/controls/inputText.js +9 -17
  30. package/2D/controls/inputText.js.map +1 -1
  31. package/2D/controls/inputTextArea.d.ts +10 -10
  32. package/2D/controls/inputTextArea.js +9 -9
  33. package/2D/controls/inputTextArea.js.map +1 -1
  34. package/2D/controls/rectangle.d.ts +2 -2
  35. package/2D/controls/rectangle.js +2 -2
  36. package/2D/controls/rectangle.js.map +1 -1
  37. package/2D/controls/scrollViewers/scrollViewer.d.ts +3 -7
  38. package/2D/controls/scrollViewers/scrollViewer.js +3 -7
  39. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  40. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +4 -10
  41. package/2D/controls/scrollViewers/scrollViewerWindow.js +4 -10
  42. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  43. package/2D/controls/selector.d.ts +14 -40
  44. package/2D/controls/selector.js +14 -40
  45. package/2D/controls/selector.js.map +1 -1
  46. package/2D/controls/sliders/baseSlider.d.ts +1 -3
  47. package/2D/controls/sliders/baseSlider.js +1 -3
  48. package/2D/controls/sliders/baseSlider.js.map +1 -1
  49. package/2D/controls/sliders/imageBasedSlider.d.ts +1 -3
  50. package/2D/controls/sliders/imageBasedSlider.js +1 -3
  51. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  52. package/2D/controls/sliders/imageScrollBar.d.ts +1 -3
  53. package/2D/controls/sliders/imageScrollBar.js +1 -3
  54. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  55. package/2D/controls/sliders/scrollBar.d.ts +1 -3
  56. package/2D/controls/sliders/scrollBar.js +1 -3
  57. package/2D/controls/sliders/scrollBar.js.map +1 -1
  58. package/2D/controls/stackPanel.d.ts +2 -6
  59. package/2D/controls/stackPanel.js +2 -6
  60. package/2D/controls/stackPanel.js.map +1 -1
  61. package/2D/controls/statics.d.ts +1 -1
  62. package/2D/controls/statics.js +1 -1
  63. package/2D/controls/statics.js.map +1 -1
  64. package/2D/controls/textBlock.d.ts +1 -2
  65. package/2D/controls/textBlock.js +1 -2
  66. package/2D/controls/textBlock.js.map +1 -1
  67. package/2D/controls/textWrapper.d.ts +1 -1
  68. package/2D/controls/textWrapper.js +1 -1
  69. package/2D/controls/textWrapper.js.map +1 -1
  70. package/2D/controls/toggleButton.d.ts +5 -29
  71. package/2D/controls/toggleButton.js +5 -29
  72. package/2D/controls/toggleButton.js.map +1 -1
  73. package/2D/controls/virtualKeyboard.d.ts +1 -3
  74. package/2D/controls/virtualKeyboard.js +1 -3
  75. package/2D/controls/virtualKeyboard.js.map +1 -1
  76. package/2D/multiLinePoint.d.ts +1 -1
  77. package/2D/multiLinePoint.js.map +1 -1
  78. package/2D/style.d.ts +2 -2
  79. package/2D/style.js +1 -1
  80. package/2D/style.js.map +1 -1
  81. package/3D/controls/button3D.d.ts +1 -1
  82. package/3D/controls/button3D.js.map +1 -1
  83. package/3D/controls/control3D.d.ts +11 -31
  84. package/3D/controls/control3D.js +10 -30
  85. package/3D/controls/control3D.js.map +1 -1
  86. package/3D/controls/holographicSlate.d.ts +5 -6
  87. package/3D/controls/holographicSlate.js +3 -4
  88. package/3D/controls/holographicSlate.js.map +1 -1
  89. package/3D/controls/meshButton3D.d.ts +1 -1
  90. package/3D/controls/meshButton3D.js.map +1 -1
  91. package/3D/controls/touchButton3D.d.ts +1 -4
  92. package/3D/controls/touchButton3D.js +1 -4
  93. package/3D/controls/touchButton3D.js.map +1 -1
  94. package/3D/controls/touchMeshButton3D.d.ts +1 -1
  95. package/3D/controls/touchMeshButton3D.js.map +1 -1
  96. package/3D/gizmos/gizmoHandle.d.ts +1 -1
  97. package/3D/gizmos/gizmoHandle.js.map +1 -1
  98. package/3D/gui3DManager.d.ts +5 -5
  99. package/3D/gui3DManager.js +4 -4
  100. package/3D/gui3DManager.js.map +1 -1
  101. package/3D/materials/fluent/fluentMaterial.d.ts +1 -1
  102. package/3D/materials/fluent/fluentMaterial.js +1 -1
  103. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  104. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +1 -1
  105. package/3D/materials/fluent/shaders/fluent.fragment.js +1 -1
  106. package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -1
  107. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +1 -1
  108. package/3D/materials/fluent/shaders/fluent.vertex.js +1 -1
  109. package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -1
  110. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +8 -8
  111. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +9 -9
  112. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  113. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +1 -1
  114. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +1 -1
  115. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -1
  116. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +1 -1
  117. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +1 -1
  118. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -1
  119. package/3D/materials/fluentButton/fluentButtonMaterial.js +1 -1
  120. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  121. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +1 -1
  122. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +1 -1
  123. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -1
  124. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +1 -1
  125. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +1 -1
  126. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -1
  127. package/3D/materials/handle/handleMaterial.d.ts +1 -1
  128. package/3D/materials/handle/handleMaterial.js +1 -1
  129. package/3D/materials/handle/handleMaterial.js.map +1 -1
  130. package/3D/materials/handle/shaders/handle.fragment.d.ts +1 -1
  131. package/3D/materials/handle/shaders/handle.fragment.js +1 -1
  132. package/3D/materials/handle/shaders/handle.fragment.js.map +1 -1
  133. package/3D/materials/handle/shaders/handle.vertex.d.ts +1 -1
  134. package/3D/materials/handle/shaders/handle.vertex.js +1 -1
  135. package/3D/materials/handle/shaders/handle.vertex.js.map +1 -1
  136. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +8 -8
  137. package/3D/materials/mrdl/mrdlBackplateMaterial.js +9 -9
  138. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  139. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +10 -10
  140. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +11 -11
  141. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  142. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +10 -10
  143. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +11 -11
  144. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  145. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +1 -1
  146. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +1 -1
  147. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -1
  148. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +1 -1
  149. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +1 -1
  150. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -1
  151. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +1 -1
  152. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +1 -1
  153. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -1
  154. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +1 -1
  155. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +1 -1
  156. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -1
  157. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +1 -1
  158. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +1 -1
  159. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -1
  160. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +1 -1
  161. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +1 -1
  162. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -1
  163. 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
- /** @hidden */
37
+ /** @internal */
37
38
  _rootContainer: Container;
38
- /** @hidden */
39
+ /** @internal */
39
40
  _lastPickedControl: Control;
40
- /** @hidden */
41
+ /** @internal */
41
42
  _lastControlOver: {
42
43
  [pointerId: number]: Control;
43
44
  };
44
- /** @hidden */
45
+ /** @internal */
45
46
  _lastControlDown: {
46
47
  [pointerId: number]: Control;
47
48
  };
48
- /** @hidden */
49
+ /** @internal */
49
50
  _capturingControl: {
50
51
  [pointerId: number]: Control;
51
52
  };
52
- /** @hidden */
53
+ /** @internal */
53
54
  _shouldBlockPointer: boolean;
54
- /** @hidden */
55
+ /** @internal */
55
56
  _layerToDispose: Nullable<Layer>;
56
- /** @hidden */
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
- /** @hidden */
71
+ /** @internal */
71
72
  _capturedPointerIds: Set<number>;
72
- /** @hidden */
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
- /** @hidden */
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
- /** @hidden */
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
- * @param cursor
306
- * @hidden
306
+ * @internal
307
307
  */
308
308
  _changeCursor(cursor: string): void;
309
309
  /**
310
- * @param control
311
- * @param pointerId
312
- * @hidden
310
+ * @internal
313
311
  */
314
312
  _registerLastControlDown(control: Control, pointerId: number): void;
315
313
  private _doPicking;
316
314
  /**
317
- * @param list
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
- * @param control
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
- * @param rawEvt
334
- * @hidden
336
+ * @internal
335
337
  */
336
338
  private _onClipboardCopy;
337
339
  /**
338
- * @param rawEvt
339
- * @hidden
340
+ * @internal
340
341
  */
341
342
  private _onClipboardCut;
342
343
  /**
343
- * @param rawEvt
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
- /** @hidden */
38
+ /** @internal */
39
39
  this._rootContainer = new Container("root");
40
- /** @hidden */
40
+ /** @internal */
41
41
  this._lastControlOver = {};
42
- /** @hidden */
42
+ /** @internal */
43
43
  this._lastControlDown = {};
44
- /** @hidden */
44
+ /** @internal */
45
45
  this._capturingControl = {};
46
- /** @hidden */
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
- /** @hidden */
58
+ /** @internal */
59
59
  this._capturedPointerIds = new Set();
60
- /** @hidden */
60
+ /** @internal */
61
61
  this._numLayoutCalls = 0;
62
- /** @hidden */
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
- * @param rawEvt
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
- * @param rawEvt
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
- * @param rawEvt
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
- /** @hidden */
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
- * @param cursor
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
- * @param control
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
- * @param list
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
- * @param control
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
- _translateToPicking(scene, tempViewport, pi) {
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 x = scene.pointerX / engine.getHardwareScalingLevel() - rigViewport.x;
803
- const y = scene.pointerY / engine.getHardwareScalingLevel() - (engine.getRenderHeight() - rigViewport.y - rigViewport.height);
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 (x < 0 || y < 0 || x > rigViewport.width || y > rigViewport.height) {
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 x = scene.pointerX / engine.getHardwareScalingLevel() - tempViewport.x;
823
- const y = scene.pointerY / engine.getHardwareScalingLevel() - (engine.getRenderHeight() - tempViewport.y - tempViewport.height);
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(x, y, pi, pi.type, pointerId, pi.event.button, pi.event.deltaX, pi.event.deltaY);
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(x, y, null, PointerEventTypes.POINTERMOVE, this._defaultMousePointerId, 0);
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;