@babylonjs/gui 5.0.0-rc.1 → 5.0.0-rc.12

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 (306) hide show
  1. package/2D/adtInstrumentation.d.ts +52 -52
  2. package/2D/adtInstrumentation.js +126 -126
  3. package/2D/adtInstrumentation.js.map +1 -1
  4. package/2D/advancedDynamicTexture.d.ts +449 -423
  5. package/2D/advancedDynamicTexture.js +1318 -1286
  6. package/2D/advancedDynamicTexture.js.map +1 -1
  7. package/2D/controls/button.d.ts +135 -97
  8. package/2D/controls/button.js +276 -238
  9. package/2D/controls/button.js.map +1 -1
  10. package/2D/controls/checkbox.d.ts +59 -51
  11. package/2D/controls/checkbox.js +188 -178
  12. package/2D/controls/checkbox.js.map +1 -1
  13. package/2D/controls/colorpicker.d.ts +103 -90
  14. package/2D/controls/colorpicker.js +1417 -1400
  15. package/2D/controls/colorpicker.js.map +1 -1
  16. package/2D/controls/container.d.ts +175 -130
  17. package/2D/controls/container.js +570 -525
  18. package/2D/controls/container.js.map +1 -1
  19. package/2D/controls/control.d.ts +866 -743
  20. package/2D/controls/control.js +2433 -2308
  21. package/2D/controls/control.js.map +1 -1
  22. package/2D/controls/displayGrid.d.ts +53 -55
  23. package/2D/controls/displayGrid.js +245 -245
  24. package/2D/controls/displayGrid.js.map +1 -1
  25. package/2D/controls/ellipse.d.ts +21 -21
  26. package/2D/controls/ellipse.js +85 -85
  27. package/2D/controls/ellipse.js.map +1 -1
  28. package/2D/controls/focusableButton.d.ts +59 -52
  29. package/2D/controls/focusableButton.js +99 -92
  30. package/2D/controls/focusableButton.js.map +1 -1
  31. package/2D/controls/focusableControl.d.ts +34 -34
  32. package/2D/controls/focusableControl.js +1 -1
  33. package/2D/controls/focusableControl.js.map +1 -1
  34. package/2D/controls/grid.d.ts +139 -135
  35. package/2D/controls/grid.js +529 -525
  36. package/2D/controls/grid.js.map +1 -1
  37. package/2D/controls/image.d.ts +204 -197
  38. package/2D/controls/image.js +887 -879
  39. package/2D/controls/image.js.map +1 -1
  40. package/2D/controls/index.d.ts +29 -29
  41. package/2D/controls/index.js +29 -29
  42. package/2D/controls/index.js.map +1 -1
  43. package/2D/controls/inputPassword.d.ts +9 -8
  44. package/2D/controls/inputPassword.js +28 -25
  45. package/2D/controls/inputPassword.js.map +1 -1
  46. package/2D/controls/inputText.d.ts +201 -182
  47. package/2D/controls/inputText.js +1119 -1096
  48. package/2D/controls/inputText.js.map +1 -1
  49. package/2D/controls/line.d.ts +66 -66
  50. package/2D/controls/line.js +271 -271
  51. package/2D/controls/line.js.map +1 -1
  52. package/2D/controls/multiLine.d.ts +75 -77
  53. package/2D/controls/multiLine.js +262 -262
  54. package/2D/controls/multiLine.js.map +1 -1
  55. package/2D/controls/radioButton.d.ts +49 -49
  56. package/2D/controls/radioButton.js +205 -205
  57. package/2D/controls/radioButton.js.map +1 -1
  58. package/2D/controls/rectangle.d.ts +29 -29
  59. package/2D/controls/rectangle.js +150 -150
  60. package/2D/controls/rectangle.js.map +1 -1
  61. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -175
  62. package/2D/controls/scrollViewers/scrollViewer.js +677 -676
  63. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  64. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -45
  65. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -263
  66. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  67. package/2D/controls/selector.d.ts +263 -209
  68. package/2D/controls/selector.js +692 -629
  69. package/2D/controls/selector.js.map +1 -1
  70. package/2D/controls/sliders/baseSlider.d.ts +82 -78
  71. package/2D/controls/sliders/baseSlider.js +347 -343
  72. package/2D/controls/sliders/baseSlider.js.map +1 -1
  73. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -47
  74. package/2D/controls/sliders/imageBasedSlider.js +192 -188
  75. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  76. package/2D/controls/sliders/imageScrollBar.d.ts +65 -61
  77. package/2D/controls/sliders/imageScrollBar.js +263 -256
  78. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  79. package/2D/controls/sliders/scrollBar.d.ts +38 -34
  80. package/2D/controls/sliders/scrollBar.js +143 -136
  81. package/2D/controls/sliders/scrollBar.js.map +1 -1
  82. package/2D/controls/sliders/slider.d.ts +35 -37
  83. package/2D/controls/sliders/slider.js +271 -271
  84. package/2D/controls/sliders/slider.js.map +1 -1
  85. package/2D/controls/stackPanel.d.ts +64 -56
  86. package/2D/controls/stackPanel.js +246 -236
  87. package/2D/controls/stackPanel.js.map +1 -1
  88. package/2D/controls/statics.d.ts +6 -6
  89. package/2D/controls/statics.js +49 -47
  90. package/2D/controls/statics.js.map +1 -1
  91. package/2D/controls/textBlock.d.ts +175 -172
  92. package/2D/controls/textBlock.js +603 -598
  93. package/2D/controls/textBlock.js.map +1 -1
  94. package/2D/controls/textWrapper.d.ts +13 -13
  95. package/2D/controls/textWrapper.js +101 -101
  96. package/2D/controls/textWrapper.js.map +1 -1
  97. package/2D/controls/toggleButton.d.ts +117 -83
  98. package/2D/controls/toggleButton.js +268 -234
  99. package/2D/controls/toggleButton.js.map +1 -1
  100. package/2D/controls/virtualKeyboard.d.ts +96 -96
  101. package/2D/controls/virtualKeyboard.js +256 -256
  102. package/2D/controls/virtualKeyboard.js.map +1 -1
  103. package/2D/index.d.ts +9 -9
  104. package/2D/index.js +10 -9
  105. package/2D/index.js.map +1 -1
  106. package/2D/math2D.d.ts +117 -117
  107. package/2D/math2D.js +221 -221
  108. package/2D/math2D.js.map +1 -1
  109. package/2D/measure.d.ts +77 -77
  110. package/2D/measure.js +139 -149
  111. package/2D/measure.js.map +1 -1
  112. package/2D/multiLinePoint.d.ts +47 -47
  113. package/2D/multiLinePoint.js +127 -127
  114. package/2D/multiLinePoint.js.map +1 -1
  115. package/2D/style.d.ts +46 -46
  116. package/2D/style.js +97 -97
  117. package/2D/style.js.map +1 -1
  118. package/2D/valueAndUnit.d.ts +89 -89
  119. package/2D/valueAndUnit.js +226 -222
  120. package/2D/valueAndUnit.js.map +1 -1
  121. package/2D/xmlLoader.d.ts +60 -60
  122. package/2D/xmlLoader.js +348 -348
  123. package/2D/xmlLoader.js.map +1 -1
  124. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  125. package/3D/behaviors/defaultBehavior.js +121 -121
  126. package/3D/behaviors/defaultBehavior.js.map +1 -1
  127. package/3D/controls/abstractButton3D.d.ts +15 -15
  128. package/3D/controls/abstractButton3D.js +25 -25
  129. package/3D/controls/abstractButton3D.js.map +1 -1
  130. package/3D/controls/button3D.d.ts +30 -30
  131. package/3D/controls/button3D.js +93 -93
  132. package/3D/controls/button3D.js.map +1 -1
  133. package/3D/controls/container3D.d.ts +72 -72
  134. package/3D/controls/container3D.js +139 -140
  135. package/3D/controls/container3D.js.map +1 -1
  136. package/3D/controls/contentDisplay3D.d.ts +30 -30
  137. package/3D/controls/contentDisplay3D.js +79 -78
  138. package/3D/controls/contentDisplay3D.js.map +1 -1
  139. package/3D/controls/control3D.d.ts +201 -165
  140. package/3D/controls/control3D.js +445 -408
  141. package/3D/controls/control3D.js.map +1 -1
  142. package/3D/controls/cylinderPanel.d.ts +17 -17
  143. package/3D/controls/cylinderPanel.js +66 -66
  144. package/3D/controls/cylinderPanel.js.map +1 -1
  145. package/3D/controls/handMenu.d.ts +28 -28
  146. package/3D/controls/handMenu.js +47 -47
  147. package/3D/controls/handMenu.js.map +1 -1
  148. package/3D/controls/holographicBackplate.d.ts +49 -48
  149. package/3D/controls/holographicBackplate.js +120 -120
  150. package/3D/controls/holographicBackplate.js.map +1 -1
  151. package/3D/controls/holographicButton.d.ts +84 -83
  152. package/3D/controls/holographicButton.js +339 -338
  153. package/3D/controls/holographicButton.js.map +1 -1
  154. package/3D/controls/holographicSlate.d.ts +131 -128
  155. package/3D/controls/holographicSlate.js +431 -428
  156. package/3D/controls/holographicSlate.js.map +1 -1
  157. package/3D/controls/index.d.ts +21 -21
  158. package/3D/controls/index.js +21 -21
  159. package/3D/controls/index.js.map +1 -1
  160. package/3D/controls/meshButton3D.d.ts +21 -21
  161. package/3D/controls/meshButton3D.js +62 -61
  162. package/3D/controls/meshButton3D.js.map +1 -1
  163. package/3D/controls/nearMenu.d.ts +44 -44
  164. package/3D/controls/nearMenu.js +114 -112
  165. package/3D/controls/nearMenu.js.map +1 -1
  166. package/3D/controls/planePanel.d.ts +9 -9
  167. package/3D/controls/planePanel.js +36 -36
  168. package/3D/controls/planePanel.js.map +1 -1
  169. package/3D/controls/scatterPanel.d.ts +18 -18
  170. package/3D/controls/scatterPanel.js +108 -108
  171. package/3D/controls/scatterPanel.js.map +1 -1
  172. package/3D/controls/slider3D.d.ts +81 -81
  173. package/3D/controls/slider3D.js +268 -267
  174. package/3D/controls/slider3D.js.map +1 -1
  175. package/3D/controls/spherePanel.d.ts +17 -17
  176. package/3D/controls/spherePanel.js +67 -67
  177. package/3D/controls/spherePanel.js.map +1 -1
  178. package/3D/controls/stackPanel3D.d.ts +22 -22
  179. package/3D/controls/stackPanel3D.js +107 -107
  180. package/3D/controls/stackPanel3D.js.map +1 -1
  181. package/3D/controls/touchButton3D.d.ts +80 -75
  182. package/3D/controls/touchButton3D.js +233 -227
  183. package/3D/controls/touchButton3D.js.map +1 -1
  184. package/3D/controls/touchHolographicButton.d.ts +110 -109
  185. package/3D/controls/touchHolographicButton.js +445 -445
  186. package/3D/controls/touchHolographicButton.js.map +1 -1
  187. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  188. package/3D/controls/touchHolographicMenu.js +149 -148
  189. package/3D/controls/touchHolographicMenu.js.map +1 -1
  190. package/3D/controls/touchMeshButton3D.d.ts +21 -22
  191. package/3D/controls/touchMeshButton3D.js +62 -62
  192. package/3D/controls/touchMeshButton3D.js.map +1 -1
  193. package/3D/controls/volumeBasedPanel.d.ts +53 -52
  194. package/3D/controls/volumeBasedPanel.js +174 -174
  195. package/3D/controls/volumeBasedPanel.js.map +1 -1
  196. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  197. package/3D/gizmos/gizmoHandle.js +209 -209
  198. package/3D/gizmos/gizmoHandle.js.map +1 -1
  199. package/3D/gizmos/index.d.ts +2 -2
  200. package/3D/gizmos/index.js +2 -2
  201. package/3D/gizmos/index.js.map +1 -1
  202. package/3D/gizmos/slateGizmo.d.ts +57 -57
  203. package/3D/gizmos/slateGizmo.js +369 -369
  204. package/3D/gizmos/slateGizmo.js.map +1 -1
  205. package/3D/gui3DManager.d.ts +94 -94
  206. package/3D/gui3DManager.js +257 -257
  207. package/3D/gui3DManager.js.map +1 -1
  208. package/3D/index.d.ts +5 -5
  209. package/3D/index.js +6 -5
  210. package/3D/index.js.map +1 -1
  211. package/3D/materials/fluent/fluentMaterial.d.ts +91 -90
  212. package/3D/materials/fluent/fluentMaterial.js +292 -281
  213. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  214. package/3D/materials/fluent/index.d.ts +1 -1
  215. package/3D/materials/fluent/index.js +1 -1
  216. package/3D/materials/fluent/index.js.map +1 -1
  217. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  218. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -6
  219. package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -1
  220. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  221. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -6
  222. package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -1
  223. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +155 -154
  224. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -434
  225. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  226. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  227. package/3D/materials/fluentBackplate/index.js +1 -1
  228. package/3D/materials/fluentBackplate/index.js.map +1 -1
  229. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  230. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -6
  231. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -1
  232. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  233. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -6
  234. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -1
  235. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +190 -189
  236. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -537
  237. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  238. package/3D/materials/fluentButton/index.d.ts +1 -1
  239. package/3D/materials/fluentButton/index.js +1 -1
  240. package/3D/materials/fluentButton/index.js.map +1 -1
  241. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  242. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -6
  243. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -1
  244. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  245. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -6
  246. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -1
  247. package/3D/materials/fluentMaterial.d.ts +4 -4
  248. package/3D/materials/fluentMaterial.js +4 -4
  249. package/3D/materials/fluentMaterial.js.map +1 -1
  250. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  251. package/3D/materials/handle/handleMaterial.js +126 -126
  252. package/3D/materials/handle/handleMaterial.js.map +1 -1
  253. package/3D/materials/handle/index.d.ts +1 -1
  254. package/3D/materials/handle/index.js +1 -1
  255. package/3D/materials/handle/index.js.map +1 -1
  256. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  257. package/3D/materials/handle/shaders/handle.fragment.js +8 -6
  258. package/3D/materials/handle/shaders/handle.fragment.js.map +1 -1
  259. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  260. package/3D/materials/handle/shaders/handle.vertex.js +8 -6
  261. package/3D/materials/handle/shaders/handle.vertex.js.map +1 -1
  262. package/3D/materials/index.d.ts +5 -5
  263. package/3D/materials/index.js +6 -5
  264. package/3D/materials/index.js.map +1 -1
  265. package/3D/materials/mrdl/index.d.ts +3 -3
  266. package/3D/materials/mrdl/index.js +3 -3
  267. package/3D/materials/mrdl/index.js.map +1 -1
  268. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +148 -147
  269. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -409
  270. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  271. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +334 -333
  272. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -786
  273. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  274. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +334 -333
  275. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -786
  276. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  277. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  278. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -6
  279. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -1
  280. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  281. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -6
  282. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -1
  283. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  284. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -6
  285. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -1
  286. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  287. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -6
  288. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -1
  289. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  290. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -6
  291. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -1
  292. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  293. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -6
  294. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -1
  295. package/3D/vector3WithInfo.d.ts +16 -16
  296. package/3D/vector3WithInfo.js +23 -23
  297. package/3D/vector3WithInfo.js.map +1 -1
  298. package/index.d.ts +2 -2
  299. package/index.js +3 -2
  300. package/index.js.map +1 -1
  301. package/legacy/legacy.d.ts +1 -1
  302. package/legacy/legacy.js +14 -13
  303. package/legacy/legacy.js.map +1 -1
  304. package/license.md +71 -0
  305. package/package.json +37 -325
  306. package/readme.md +2 -2
@@ -1,165 +1,201 @@
1
- import { Nullable } from "@babylonjs/core/types";
2
- import { Observable } from "@babylonjs/core/Misc/observable";
3
- import { Vector3 } from "@babylonjs/core/Maths/math.vector";
4
- import { TransformNode } from "@babylonjs/core/Meshes/transformNode";
5
- import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh";
6
- import { IBehaviorAware, Behavior } from "@babylonjs/core/Behaviors/behavior";
7
- import { IDisposable, Scene } from "@babylonjs/core/scene";
8
- import { GUI3DManager } from "../gui3DManager";
9
- import { Vector3WithInfo } from "../vector3WithInfo";
10
- import { Container3D } from "./container3D";
11
- /**
12
- * Class used as base class for controls
13
- */
14
- export declare class Control3D implements IDisposable, IBehaviorAware<Control3D> {
15
- /** Defines the control name */
16
- name?: string | undefined;
17
- /** @hidden */
18
- _host: GUI3DManager;
19
- private _node;
20
- private _downCount;
21
- private _enterCount;
22
- private _downPointerIds;
23
- private _isVisible;
24
- /** @hidden */
25
- _isScaledByManager: boolean;
26
- /** Gets or sets the control position in world space */
27
- get position(): Vector3;
28
- set position(value: Vector3);
29
- /** Gets or sets the control scaling in world space */
30
- get scaling(): Vector3;
31
- set scaling(value: Vector3);
32
- /** Callback used to start pointer enter animation */
33
- pointerEnterAnimation: () => void;
34
- /** Callback used to start pointer out animation */
35
- pointerOutAnimation: () => void;
36
- /** Callback used to start pointer down animation */
37
- pointerDownAnimation: () => void;
38
- /** Callback used to start pointer up animation */
39
- pointerUpAnimation: () => void;
40
- /**
41
- * An event triggered when the pointer moves over the control
42
- */
43
- onPointerMoveObservable: Observable<Vector3>;
44
- /**
45
- * An event triggered when the pointer moves out of the control
46
- */
47
- onPointerOutObservable: Observable<Control3D>;
48
- /**
49
- * An event triggered when the pointer taps the control
50
- */
51
- onPointerDownObservable: Observable<Vector3WithInfo>;
52
- /**
53
- * An event triggered when pointer is up
54
- */
55
- onPointerUpObservable: Observable<Vector3WithInfo>;
56
- /**
57
- * An event triggered when a control is clicked on (with a mouse)
58
- */
59
- onPointerClickObservable: Observable<Vector3WithInfo>;
60
- /**
61
- * An event triggered when pointer enters the control
62
- */
63
- onPointerEnterObservable: Observable<Control3D>;
64
- /**
65
- * Gets or sets the parent container
66
- */
67
- parent: Nullable<Container3D>;
68
- private _behaviors;
69
- /**
70
- * Gets the list of attached behaviors
71
- * @see https://doc.babylonjs.com/features/behaviour
72
- */
73
- get behaviors(): Behavior<Control3D>[];
74
- /**
75
- * Attach a behavior to the control
76
- * @see https://doc.babylonjs.com/features/behaviour
77
- * @param behavior defines the behavior to attach
78
- * @returns the current control
79
- */
80
- addBehavior(behavior: Behavior<Control3D>): Control3D;
81
- /**
82
- * Remove an attached behavior
83
- * @see https://doc.babylonjs.com/features/behaviour
84
- * @param behavior defines the behavior to attach
85
- * @returns the current control
86
- */
87
- removeBehavior(behavior: Behavior<Control3D>): Control3D;
88
- /**
89
- * Gets an attached behavior by name
90
- * @param name defines the name of the behavior to look for
91
- * @see https://doc.babylonjs.com/features/behaviour
92
- * @returns null if behavior was not found else the requested behavior
93
- */
94
- getBehaviorByName(name: string): Nullable<Behavior<Control3D>>;
95
- /** Gets or sets a boolean indicating if the control is visible */
96
- get isVisible(): boolean;
97
- set isVisible(value: boolean);
98
- /**
99
- * Creates a new control
100
- * @param name defines the control name
101
- */
102
- constructor(
103
- /** Defines the control name */
104
- name?: string | undefined);
105
- /**
106
- * Gets a string representing the class name
107
- */
108
- get typeName(): string;
109
- /**
110
- * Get the current class name of the control.
111
- * @returns current class name
112
- */
113
- getClassName(): string;
114
- protected _getTypeName(): string;
115
- /**
116
- * Gets the transform node used by this control
117
- */
118
- get node(): Nullable<TransformNode>;
119
- /**
120
- * Gets the mesh used to render this control
121
- */
122
- get mesh(): Nullable<AbstractMesh>;
123
- /**
124
- * Link the control as child of the given node
125
- * @param node defines the node to link to. Use null to unlink the control
126
- * @returns the current control
127
- */
128
- linkToTransformNode(node: Nullable<TransformNode>): Control3D;
129
- /** @hidden **/
130
- _prepareNode(scene: Scene): void;
131
- protected _injectGUI3DReservedDataStore(node: TransformNode): any;
132
- /**
133
- * Node creation.
134
- * Can be overriden by children
135
- * @param scene defines the scene where the node must be attached
136
- * @returns the attached node or null if none. Must return a Mesh or AbstractMesh if there is an atttached visible object
137
- */
138
- protected _createNode(scene: Scene): Nullable<TransformNode>;
139
- /**
140
- * Affect a material to the given mesh
141
- * @param mesh defines the mesh which will represent the control
142
- */
143
- protected _affectMaterial(mesh: AbstractMesh): void;
144
- private _IsTouchButton3D;
145
- /** @hidden */
146
- _onPointerMove(target: Control3D, coordinates: Vector3): void;
147
- /** @hidden */
148
- _onPointerEnter(target: Control3D): boolean;
149
- /** @hidden */
150
- _onPointerOut(target: Control3D): void;
151
- /** @hidden */
152
- _onPointerDown(target: Control3D, coordinates: Vector3, pointerId: number, buttonIndex: number): boolean;
153
- /** @hidden */
154
- _onPointerUp(target: Control3D, coordinates: Vector3, pointerId: number, buttonIndex: number, notifyClick: boolean): void;
155
- /** @hidden */
156
- forcePointerUp(pointerId?: Nullable<number>): void;
157
- /** @hidden */
158
- _processObservables(type: number, pickedPoint: Vector3, originMeshPosition: Nullable<Vector3>, pointerId: number, buttonIndex: number): boolean;
159
- /** @hidden */
160
- _disposeNode(): void;
161
- /**
162
- * Releases all associated resources
163
- */
164
- dispose(): void;
165
- }
1
+ import type { Nullable } from "@babylonjs/core/types.js";
2
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
3
+ import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
4
+ import type { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
5
+ import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
6
+ import type { IBehaviorAware, Behavior } from "@babylonjs/core/Behaviors/behavior.js";
7
+ import type { IDisposable, Scene } from "@babylonjs/core/scene.js";
8
+ import type { GUI3DManager } from "../gui3DManager";
9
+ import { Vector3WithInfo } from "../vector3WithInfo";
10
+ import type { Container3D } from "./container3D";
11
+ /**
12
+ * Class used as base class for controls
13
+ */
14
+ export declare class Control3D implements IDisposable, IBehaviorAware<Control3D> {
15
+ /** Defines the control name */
16
+ name?: string | undefined;
17
+ /** @hidden */
18
+ _host: GUI3DManager;
19
+ private _node;
20
+ private _downCount;
21
+ private _enterCount;
22
+ private _downPointerIds;
23
+ private _isVisible;
24
+ /** @hidden */
25
+ _isScaledByManager: boolean;
26
+ /** Gets or sets the control position in world space */
27
+ get position(): Vector3;
28
+ set position(value: Vector3);
29
+ /** Gets or sets the control scaling in world space */
30
+ get scaling(): Vector3;
31
+ set scaling(value: Vector3);
32
+ /** Callback used to start pointer enter animation */
33
+ pointerEnterAnimation: () => void;
34
+ /** Callback used to start pointer out animation */
35
+ pointerOutAnimation: () => void;
36
+ /** Callback used to start pointer down animation */
37
+ pointerDownAnimation: () => void;
38
+ /** Callback used to start pointer up animation */
39
+ pointerUpAnimation: () => void;
40
+ /**
41
+ * An event triggered when the pointer moves over the control
42
+ */
43
+ onPointerMoveObservable: Observable<Vector3>;
44
+ /**
45
+ * An event triggered when the pointer moves out of the control
46
+ */
47
+ onPointerOutObservable: Observable<Control3D>;
48
+ /**
49
+ * An event triggered when the pointer taps the control
50
+ */
51
+ onPointerDownObservable: Observable<Vector3WithInfo>;
52
+ /**
53
+ * An event triggered when pointer is up
54
+ */
55
+ onPointerUpObservable: Observable<Vector3WithInfo>;
56
+ /**
57
+ * An event triggered when a control is clicked on (with a mouse)
58
+ */
59
+ onPointerClickObservable: Observable<Vector3WithInfo>;
60
+ /**
61
+ * An event triggered when pointer enters the control
62
+ */
63
+ onPointerEnterObservable: Observable<Control3D>;
64
+ /**
65
+ * Gets or sets the parent container
66
+ */
67
+ parent: Nullable<Container3D>;
68
+ private _behaviors;
69
+ /**
70
+ * Gets the list of attached behaviors
71
+ * @see https://doc.babylonjs.com/features/behaviour
72
+ */
73
+ get behaviors(): Behavior<Control3D>[];
74
+ /**
75
+ * Attach a behavior to the control
76
+ * @see https://doc.babylonjs.com/features/behaviour
77
+ * @param behavior defines the behavior to attach
78
+ * @returns the current control
79
+ */
80
+ addBehavior(behavior: Behavior<Control3D>): Control3D;
81
+ /**
82
+ * Remove an attached behavior
83
+ * @see https://doc.babylonjs.com/features/behaviour
84
+ * @param behavior defines the behavior to attach
85
+ * @returns the current control
86
+ */
87
+ removeBehavior(behavior: Behavior<Control3D>): Control3D;
88
+ /**
89
+ * Gets an attached behavior by name
90
+ * @param name defines the name of the behavior to look for
91
+ * @see https://doc.babylonjs.com/features/behaviour
92
+ * @returns null if behavior was not found else the requested behavior
93
+ */
94
+ getBehaviorByName(name: string): Nullable<Behavior<Control3D>>;
95
+ /** Gets or sets a boolean indicating if the control is visible */
96
+ get isVisible(): boolean;
97
+ set isVisible(value: boolean);
98
+ /**
99
+ * Creates a new control
100
+ * @param name defines the control name
101
+ */
102
+ constructor(
103
+ /** Defines the control name */
104
+ name?: string | undefined);
105
+ /**
106
+ * Gets a string representing the class name
107
+ */
108
+ get typeName(): string;
109
+ /**
110
+ * Get the current class name of the control.
111
+ * @returns current class name
112
+ */
113
+ getClassName(): string;
114
+ protected _getTypeName(): string;
115
+ /**
116
+ * Gets the transform node used by this control
117
+ */
118
+ get node(): Nullable<TransformNode>;
119
+ /**
120
+ * Gets the mesh used to render this control
121
+ */
122
+ get mesh(): Nullable<AbstractMesh>;
123
+ /**
124
+ * Link the control as child of the given node
125
+ * @param node defines the node to link to. Use null to unlink the control
126
+ * @returns the current control
127
+ */
128
+ linkToTransformNode(node: Nullable<TransformNode>): Control3D;
129
+ /**
130
+ * @param scene
131
+ * @hidden*
132
+ */
133
+ _prepareNode(scene: Scene): void;
134
+ protected _injectGUI3DReservedDataStore(node: TransformNode): any;
135
+ /**
136
+ * Node creation.
137
+ * Can be overriden by children
138
+ * @param scene defines the scene where the node must be attached
139
+ * @returns the attached node or null if none. Must return a Mesh or AbstractMesh if there is an attached visible object
140
+ */
141
+ protected _createNode(scene: Scene): Nullable<TransformNode>;
142
+ /**
143
+ * Affect a material to the given mesh
144
+ * @param mesh defines the mesh which will represent the control
145
+ */
146
+ protected _affectMaterial(mesh: AbstractMesh): void;
147
+ private _isTouchButton3D;
148
+ /**
149
+ * @param target
150
+ * @param coordinates
151
+ * @hidden
152
+ */
153
+ _onPointerMove(target: Control3D, coordinates: Vector3): void;
154
+ /**
155
+ * @param target
156
+ * @hidden
157
+ */
158
+ _onPointerEnter(target: Control3D): boolean;
159
+ /**
160
+ * @param target
161
+ * @hidden
162
+ */
163
+ _onPointerOut(target: Control3D): void;
164
+ /**
165
+ * @param target
166
+ * @param coordinates
167
+ * @param pointerId
168
+ * @param buttonIndex
169
+ * @hidden
170
+ */
171
+ _onPointerDown(target: Control3D, coordinates: Vector3, pointerId: number, buttonIndex: number): boolean;
172
+ /**
173
+ * @param target
174
+ * @param coordinates
175
+ * @param pointerId
176
+ * @param buttonIndex
177
+ * @param notifyClick
178
+ * @hidden
179
+ */
180
+ _onPointerUp(target: Control3D, coordinates: Vector3, pointerId: number, buttonIndex: number, notifyClick: boolean): void;
181
+ /**
182
+ * @param pointerId
183
+ * @hidden
184
+ */
185
+ forcePointerUp(pointerId?: Nullable<number>): void;
186
+ /**
187
+ * @param type
188
+ * @param pickedPoint
189
+ * @param originMeshPosition
190
+ * @param pointerId
191
+ * @param buttonIndex
192
+ * @hidden
193
+ */
194
+ _processObservables(type: number, pickedPoint: Vector3, originMeshPosition: Nullable<Vector3>, pointerId: number, buttonIndex: number): boolean;
195
+ /** @hidden */
196
+ _disposeNode(): void;
197
+ /**
198
+ * Releases all associated resources
199
+ */
200
+ dispose(): void;
201
+ }