@babylonjs/gui 5.0.0-rc.7 → 5.0.1

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 (277) 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 -448
  5. package/2D/advancedDynamicTexture.js +1318 -1318
  6. package/2D/advancedDynamicTexture.js.map +1 -1
  7. package/2D/controls/button.d.ts +135 -135
  8. package/2D/controls/button.js +276 -276
  9. package/2D/controls/button.js.map +1 -1
  10. package/2D/controls/checkbox.d.ts +59 -59
  11. package/2D/controls/checkbox.js +188 -188
  12. package/2D/controls/checkbox.js.map +1 -1
  13. package/2D/controls/colorpicker.d.ts +103 -103
  14. package/2D/controls/colorpicker.js +1417 -1417
  15. package/2D/controls/colorpicker.js.map +1 -1
  16. package/2D/controls/container.d.ts +175 -175
  17. package/2D/controls/container.js +570 -570
  18. package/2D/controls/container.js.map +1 -1
  19. package/2D/controls/control.d.ts +866 -866
  20. package/2D/controls/control.js +2433 -2433
  21. package/2D/controls/control.js.map +1 -1
  22. package/2D/controls/displayGrid.d.ts +53 -53
  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 -59
  29. package/2D/controls/focusableButton.js +99 -99
  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 -139
  35. package/2D/controls/grid.js +529 -529
  36. package/2D/controls/grid.js.map +1 -1
  37. package/2D/controls/image.d.ts +204 -204
  38. package/2D/controls/image.js +887 -887
  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/inputPassword.d.ts +9 -8
  43. package/2D/controls/inputPassword.js +28 -25
  44. package/2D/controls/inputPassword.js.map +1 -1
  45. package/2D/controls/inputText.d.ts +201 -201
  46. package/2D/controls/inputText.js +1119 -1119
  47. package/2D/controls/inputText.js.map +1 -1
  48. package/2D/controls/line.d.ts +66 -66
  49. package/2D/controls/line.js +271 -271
  50. package/2D/controls/line.js.map +1 -1
  51. package/2D/controls/multiLine.d.ts +75 -75
  52. package/2D/controls/multiLine.js +262 -262
  53. package/2D/controls/multiLine.js.map +1 -1
  54. package/2D/controls/radioButton.d.ts +49 -49
  55. package/2D/controls/radioButton.js +205 -205
  56. package/2D/controls/radioButton.js.map +1 -1
  57. package/2D/controls/rectangle.d.ts +29 -29
  58. package/2D/controls/rectangle.js +150 -150
  59. package/2D/controls/rectangle.js.map +1 -1
  60. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -182
  61. package/2D/controls/scrollViewers/scrollViewer.js +677 -677
  62. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  63. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -57
  64. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -278
  65. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  66. package/2D/controls/selector.d.ts +263 -263
  67. package/2D/controls/selector.js +692 -692
  68. package/2D/controls/sliders/baseSlider.d.ts +82 -82
  69. package/2D/controls/sliders/baseSlider.js +347 -347
  70. package/2D/controls/sliders/baseSlider.js.map +1 -1
  71. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -49
  72. package/2D/controls/sliders/imageBasedSlider.js +192 -192
  73. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  74. package/2D/controls/sliders/imageScrollBar.d.ts +65 -65
  75. package/2D/controls/sliders/imageScrollBar.js +263 -263
  76. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  77. package/2D/controls/sliders/scrollBar.d.ts +38 -38
  78. package/2D/controls/sliders/scrollBar.js +143 -143
  79. package/2D/controls/sliders/scrollBar.js.map +1 -1
  80. package/2D/controls/sliders/slider.d.ts +35 -35
  81. package/2D/controls/sliders/slider.js +271 -271
  82. package/2D/controls/sliders/slider.js.map +1 -1
  83. package/2D/controls/stackPanel.d.ts +64 -64
  84. package/2D/controls/stackPanel.js +246 -246
  85. package/2D/controls/stackPanel.js.map +1 -1
  86. package/2D/controls/statics.d.ts +6 -6
  87. package/2D/controls/statics.js +49 -49
  88. package/2D/controls/textBlock.d.ts +175 -175
  89. package/2D/controls/textBlock.js +603 -603
  90. package/2D/controls/textBlock.js.map +1 -1
  91. package/2D/controls/textWrapper.d.ts +13 -13
  92. package/2D/controls/textWrapper.js +101 -101
  93. package/2D/controls/toggleButton.d.ts +117 -117
  94. package/2D/controls/toggleButton.js +268 -268
  95. package/2D/controls/toggleButton.js.map +1 -1
  96. package/2D/controls/virtualKeyboard.d.ts +96 -96
  97. package/2D/controls/virtualKeyboard.js +256 -256
  98. package/2D/controls/virtualKeyboard.js.map +1 -1
  99. package/2D/index.d.ts +9 -9
  100. package/2D/index.js +10 -9
  101. package/2D/index.js.map +1 -1
  102. package/2D/math2D.d.ts +117 -117
  103. package/2D/math2D.js +221 -221
  104. package/2D/math2D.js.map +1 -1
  105. package/2D/measure.d.ts +77 -77
  106. package/2D/measure.js +139 -139
  107. package/2D/measure.js.map +1 -1
  108. package/2D/multiLinePoint.d.ts +47 -47
  109. package/2D/multiLinePoint.js +127 -127
  110. package/2D/multiLinePoint.js.map +1 -1
  111. package/2D/style.d.ts +46 -46
  112. package/2D/style.js +97 -97
  113. package/2D/style.js.map +1 -1
  114. package/2D/valueAndUnit.d.ts +89 -89
  115. package/2D/valueAndUnit.js +226 -226
  116. package/2D/valueAndUnit.js.map +1 -1
  117. package/2D/xmlLoader.d.ts +60 -60
  118. package/2D/xmlLoader.js +348 -348
  119. package/2D/xmlLoader.js.map +1 -1
  120. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  121. package/3D/behaviors/defaultBehavior.js +121 -121
  122. package/3D/behaviors/defaultBehavior.js.map +1 -1
  123. package/3D/controls/abstractButton3D.d.ts +15 -15
  124. package/3D/controls/abstractButton3D.js +25 -25
  125. package/3D/controls/abstractButton3D.js.map +1 -1
  126. package/3D/controls/button3D.d.ts +30 -30
  127. package/3D/controls/button3D.js +93 -93
  128. package/3D/controls/button3D.js.map +1 -1
  129. package/3D/controls/container3D.d.ts +72 -72
  130. package/3D/controls/container3D.js +139 -139
  131. package/3D/controls/container3D.js.map +1 -1
  132. package/3D/controls/contentDisplay3D.d.ts +30 -30
  133. package/3D/controls/contentDisplay3D.js +79 -79
  134. package/3D/controls/contentDisplay3D.js.map +1 -1
  135. package/3D/controls/control3D.d.ts +201 -201
  136. package/3D/controls/control3D.js +445 -445
  137. package/3D/controls/control3D.js.map +1 -1
  138. package/3D/controls/cylinderPanel.d.ts +17 -17
  139. package/3D/controls/cylinderPanel.js +66 -66
  140. package/3D/controls/cylinderPanel.js.map +1 -1
  141. package/3D/controls/handMenu.d.ts +28 -28
  142. package/3D/controls/handMenu.js +47 -47
  143. package/3D/controls/handMenu.js.map +1 -1
  144. package/3D/controls/holographicBackplate.d.ts +49 -49
  145. package/3D/controls/holographicBackplate.js +120 -120
  146. package/3D/controls/holographicBackplate.js.map +1 -1
  147. package/3D/controls/holographicButton.d.ts +84 -84
  148. package/3D/controls/holographicButton.js +339 -339
  149. package/3D/controls/holographicButton.js.map +1 -1
  150. package/3D/controls/holographicSlate.d.ts +131 -131
  151. package/3D/controls/holographicSlate.js +431 -431
  152. package/3D/controls/holographicSlate.js.map +1 -1
  153. package/3D/controls/index.d.ts +21 -21
  154. package/3D/controls/index.js +21 -21
  155. package/3D/controls/meshButton3D.d.ts +21 -21
  156. package/3D/controls/meshButton3D.js +62 -62
  157. package/3D/controls/meshButton3D.js.map +1 -1
  158. package/3D/controls/nearMenu.d.ts +44 -44
  159. package/3D/controls/nearMenu.js +114 -114
  160. package/3D/controls/nearMenu.js.map +1 -1
  161. package/3D/controls/planePanel.d.ts +9 -9
  162. package/3D/controls/planePanel.js +36 -36
  163. package/3D/controls/planePanel.js.map +1 -1
  164. package/3D/controls/scatterPanel.d.ts +18 -18
  165. package/3D/controls/scatterPanel.js +108 -108
  166. package/3D/controls/scatterPanel.js.map +1 -1
  167. package/3D/controls/slider3D.d.ts +81 -81
  168. package/3D/controls/slider3D.js +268 -268
  169. package/3D/controls/slider3D.js.map +1 -1
  170. package/3D/controls/spherePanel.d.ts +17 -17
  171. package/3D/controls/spherePanel.js +67 -67
  172. package/3D/controls/spherePanel.js.map +1 -1
  173. package/3D/controls/stackPanel3D.d.ts +22 -22
  174. package/3D/controls/stackPanel3D.js +107 -107
  175. package/3D/controls/touchButton3D.d.ts +80 -80
  176. package/3D/controls/touchButton3D.js +233 -233
  177. package/3D/controls/touchButton3D.js.map +1 -1
  178. package/3D/controls/touchHolographicButton.d.ts +110 -110
  179. package/3D/controls/touchHolographicButton.js +445 -445
  180. package/3D/controls/touchHolographicButton.js.map +1 -1
  181. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  182. package/3D/controls/touchHolographicMenu.js +149 -149
  183. package/3D/controls/touchHolographicMenu.js.map +1 -1
  184. package/3D/controls/touchMeshButton3D.d.ts +21 -21
  185. package/3D/controls/touchMeshButton3D.js +62 -62
  186. package/3D/controls/touchMeshButton3D.js.map +1 -1
  187. package/3D/controls/volumeBasedPanel.d.ts +53 -53
  188. package/3D/controls/volumeBasedPanel.js +174 -174
  189. package/3D/controls/volumeBasedPanel.js.map +1 -1
  190. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  191. package/3D/gizmos/gizmoHandle.js +209 -209
  192. package/3D/gizmos/gizmoHandle.js.map +1 -1
  193. package/3D/gizmos/index.d.ts +2 -2
  194. package/3D/gizmos/index.js +2 -2
  195. package/3D/gizmos/slateGizmo.d.ts +57 -57
  196. package/3D/gizmos/slateGizmo.js +369 -369
  197. package/3D/gizmos/slateGizmo.js.map +1 -1
  198. package/3D/gui3DManager.d.ts +94 -94
  199. package/3D/gui3DManager.js +257 -257
  200. package/3D/gui3DManager.js.map +1 -1
  201. package/3D/index.d.ts +5 -5
  202. package/3D/index.js +6 -5
  203. package/3D/index.js.map +1 -1
  204. package/3D/materials/fluent/fluentMaterial.d.ts +91 -90
  205. package/3D/materials/fluent/fluentMaterial.js +292 -292
  206. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  207. package/3D/materials/fluent/index.d.ts +1 -1
  208. package/3D/materials/fluent/index.js +1 -1
  209. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  210. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -8
  211. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  212. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -8
  213. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +155 -154
  214. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -469
  215. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  216. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  217. package/3D/materials/fluentBackplate/index.js +1 -1
  218. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  219. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -8
  220. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  221. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -8
  222. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +190 -189
  223. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -539
  224. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  225. package/3D/materials/fluentButton/index.d.ts +1 -1
  226. package/3D/materials/fluentButton/index.js +1 -1
  227. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  228. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -8
  229. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  230. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -8
  231. package/3D/materials/fluentMaterial.d.ts +4 -4
  232. package/3D/materials/fluentMaterial.js +4 -4
  233. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  234. package/3D/materials/handle/handleMaterial.js +126 -126
  235. package/3D/materials/handle/handleMaterial.js.map +1 -1
  236. package/3D/materials/handle/index.d.ts +1 -1
  237. package/3D/materials/handle/index.js +1 -1
  238. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  239. package/3D/materials/handle/shaders/handle.fragment.js +8 -8
  240. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  241. package/3D/materials/handle/shaders/handle.vertex.js +8 -8
  242. package/3D/materials/index.d.ts +5 -5
  243. package/3D/materials/index.js +6 -5
  244. package/3D/materials/index.js.map +1 -1
  245. package/3D/materials/mrdl/index.d.ts +3 -3
  246. package/3D/materials/mrdl/index.js +3 -3
  247. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +148 -147
  248. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -436
  249. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  250. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +334 -333
  251. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -851
  252. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  253. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +334 -333
  254. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -851
  255. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  256. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  257. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -8
  258. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  259. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -8
  260. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  261. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -8
  262. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  263. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -8
  264. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  265. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -8
  266. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  267. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -8
  268. package/3D/vector3WithInfo.d.ts +16 -16
  269. package/3D/vector3WithInfo.js +23 -23
  270. package/index.d.ts +2 -2
  271. package/index.js +3 -2
  272. package/index.js.map +1 -1
  273. package/legacy/legacy.d.ts +1 -1
  274. package/legacy/legacy.js +14 -13
  275. package/legacy/legacy.js.map +1 -1
  276. package/license.md +71 -0
  277. package/package.json +24 -5
@@ -1,201 +1,201 @@
1
- import { 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 { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
5
- import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
6
- import { IBehaviorAware, Behavior } from "@babylonjs/core/Behaviors/behavior.js";
7
- import { IDisposable, Scene } from "@babylonjs/core/scene.js";
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
- /**
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
- }
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
+ }