@babylonjs/gui 5.0.0-rc.7 → 5.0.0-rc.9

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 (203) hide show
  1. package/2D/adtInstrumentation.d.ts +52 -52
  2. package/2D/adtInstrumentation.js +126 -126
  3. package/2D/advancedDynamicTexture.d.ts +448 -448
  4. package/2D/advancedDynamicTexture.js +1318 -1318
  5. package/2D/controls/button.d.ts +135 -135
  6. package/2D/controls/button.js +276 -276
  7. package/2D/controls/checkbox.d.ts +59 -59
  8. package/2D/controls/checkbox.js +188 -188
  9. package/2D/controls/colorpicker.d.ts +103 -103
  10. package/2D/controls/colorpicker.js +1417 -1417
  11. package/2D/controls/container.d.ts +175 -175
  12. package/2D/controls/container.js +570 -570
  13. package/2D/controls/control.d.ts +866 -866
  14. package/2D/controls/control.js +2433 -2433
  15. package/2D/controls/displayGrid.d.ts +53 -53
  16. package/2D/controls/displayGrid.js +245 -245
  17. package/2D/controls/ellipse.d.ts +21 -21
  18. package/2D/controls/ellipse.js +85 -85
  19. package/2D/controls/focusableButton.d.ts +59 -59
  20. package/2D/controls/focusableButton.js +99 -99
  21. package/2D/controls/focusableControl.d.ts +34 -34
  22. package/2D/controls/focusableControl.js +1 -1
  23. package/2D/controls/grid.d.ts +139 -139
  24. package/2D/controls/grid.js +529 -529
  25. package/2D/controls/image.d.ts +204 -204
  26. package/2D/controls/image.js +887 -887
  27. package/2D/controls/index.d.ts +29 -29
  28. package/2D/controls/index.js +29 -29
  29. package/2D/controls/inputPassword.d.ts +8 -8
  30. package/2D/controls/inputPassword.js +25 -25
  31. package/2D/controls/inputText.d.ts +201 -201
  32. package/2D/controls/inputText.js +1119 -1119
  33. package/2D/controls/line.d.ts +66 -66
  34. package/2D/controls/line.js +271 -271
  35. package/2D/controls/multiLine.d.ts +75 -75
  36. package/2D/controls/multiLine.js +262 -262
  37. package/2D/controls/radioButton.d.ts +49 -49
  38. package/2D/controls/radioButton.js +205 -205
  39. package/2D/controls/rectangle.d.ts +29 -29
  40. package/2D/controls/rectangle.js +150 -150
  41. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -182
  42. package/2D/controls/scrollViewers/scrollViewer.js +677 -677
  43. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -57
  44. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -278
  45. package/2D/controls/selector.d.ts +263 -263
  46. package/2D/controls/selector.js +692 -692
  47. package/2D/controls/sliders/baseSlider.d.ts +82 -82
  48. package/2D/controls/sliders/baseSlider.js +347 -347
  49. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -49
  50. package/2D/controls/sliders/imageBasedSlider.js +192 -192
  51. package/2D/controls/sliders/imageScrollBar.d.ts +65 -65
  52. package/2D/controls/sliders/imageScrollBar.js +263 -263
  53. package/2D/controls/sliders/scrollBar.d.ts +38 -38
  54. package/2D/controls/sliders/scrollBar.js +143 -143
  55. package/2D/controls/sliders/slider.d.ts +35 -35
  56. package/2D/controls/sliders/slider.js +271 -271
  57. package/2D/controls/stackPanel.d.ts +64 -64
  58. package/2D/controls/stackPanel.js +246 -246
  59. package/2D/controls/statics.d.ts +6 -6
  60. package/2D/controls/statics.js +49 -49
  61. package/2D/controls/textBlock.d.ts +175 -175
  62. package/2D/controls/textBlock.js +603 -603
  63. package/2D/controls/textWrapper.d.ts +13 -13
  64. package/2D/controls/textWrapper.js +101 -101
  65. package/2D/controls/toggleButton.d.ts +117 -117
  66. package/2D/controls/toggleButton.js +268 -268
  67. package/2D/controls/virtualKeyboard.d.ts +96 -96
  68. package/2D/controls/virtualKeyboard.js +256 -256
  69. package/2D/index.d.ts +9 -9
  70. package/2D/index.js +9 -9
  71. package/2D/math2D.d.ts +117 -117
  72. package/2D/math2D.js +221 -221
  73. package/2D/measure.d.ts +77 -77
  74. package/2D/measure.js +139 -139
  75. package/2D/multiLinePoint.d.ts +47 -47
  76. package/2D/multiLinePoint.js +127 -127
  77. package/2D/style.d.ts +46 -46
  78. package/2D/style.js +97 -97
  79. package/2D/valueAndUnit.d.ts +89 -89
  80. package/2D/valueAndUnit.js +226 -226
  81. package/2D/xmlLoader.d.ts +60 -60
  82. package/2D/xmlLoader.js +348 -348
  83. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  84. package/3D/behaviors/defaultBehavior.js +121 -121
  85. package/3D/controls/abstractButton3D.d.ts +15 -15
  86. package/3D/controls/abstractButton3D.js +25 -25
  87. package/3D/controls/button3D.d.ts +30 -30
  88. package/3D/controls/button3D.js +93 -93
  89. package/3D/controls/container3D.d.ts +72 -72
  90. package/3D/controls/container3D.js +139 -139
  91. package/3D/controls/contentDisplay3D.d.ts +30 -30
  92. package/3D/controls/contentDisplay3D.js +79 -79
  93. package/3D/controls/control3D.d.ts +201 -201
  94. package/3D/controls/control3D.js +445 -445
  95. package/3D/controls/cylinderPanel.d.ts +17 -17
  96. package/3D/controls/cylinderPanel.js +66 -66
  97. package/3D/controls/handMenu.d.ts +28 -28
  98. package/3D/controls/handMenu.js +47 -47
  99. package/3D/controls/holographicBackplate.d.ts +49 -49
  100. package/3D/controls/holographicBackplate.js +120 -120
  101. package/3D/controls/holographicButton.d.ts +84 -84
  102. package/3D/controls/holographicButton.js +339 -339
  103. package/3D/controls/holographicSlate.d.ts +131 -131
  104. package/3D/controls/holographicSlate.js +431 -431
  105. package/3D/controls/index.d.ts +21 -21
  106. package/3D/controls/index.js +21 -21
  107. package/3D/controls/meshButton3D.d.ts +21 -21
  108. package/3D/controls/meshButton3D.js +62 -62
  109. package/3D/controls/nearMenu.d.ts +44 -44
  110. package/3D/controls/nearMenu.js +114 -114
  111. package/3D/controls/planePanel.d.ts +9 -9
  112. package/3D/controls/planePanel.js +36 -36
  113. package/3D/controls/scatterPanel.d.ts +18 -18
  114. package/3D/controls/scatterPanel.js +108 -108
  115. package/3D/controls/slider3D.d.ts +81 -81
  116. package/3D/controls/slider3D.js +268 -268
  117. package/3D/controls/spherePanel.d.ts +17 -17
  118. package/3D/controls/spherePanel.js +67 -67
  119. package/3D/controls/stackPanel3D.d.ts +22 -22
  120. package/3D/controls/stackPanel3D.js +107 -107
  121. package/3D/controls/touchButton3D.d.ts +80 -80
  122. package/3D/controls/touchButton3D.js +233 -233
  123. package/3D/controls/touchHolographicButton.d.ts +110 -110
  124. package/3D/controls/touchHolographicButton.js +445 -445
  125. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  126. package/3D/controls/touchHolographicMenu.js +149 -149
  127. package/3D/controls/touchMeshButton3D.d.ts +21 -21
  128. package/3D/controls/touchMeshButton3D.js +62 -62
  129. package/3D/controls/volumeBasedPanel.d.ts +53 -53
  130. package/3D/controls/volumeBasedPanel.js +174 -174
  131. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  132. package/3D/gizmos/gizmoHandle.js +209 -209
  133. package/3D/gizmos/index.d.ts +2 -2
  134. package/3D/gizmos/index.js +2 -2
  135. package/3D/gizmos/slateGizmo.d.ts +57 -57
  136. package/3D/gizmos/slateGizmo.js +369 -369
  137. package/3D/gui3DManager.d.ts +94 -94
  138. package/3D/gui3DManager.js +257 -257
  139. package/3D/index.d.ts +5 -5
  140. package/3D/index.js +5 -5
  141. package/3D/materials/fluent/fluentMaterial.d.ts +90 -90
  142. package/3D/materials/fluent/fluentMaterial.js +292 -292
  143. package/3D/materials/fluent/index.d.ts +1 -1
  144. package/3D/materials/fluent/index.js +1 -1
  145. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  146. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -8
  147. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  148. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -8
  149. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +154 -154
  150. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -469
  151. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  152. package/3D/materials/fluentBackplate/index.js +1 -1
  153. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  154. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -8
  155. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  156. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -8
  157. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +189 -189
  158. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -539
  159. package/3D/materials/fluentButton/index.d.ts +1 -1
  160. package/3D/materials/fluentButton/index.js +1 -1
  161. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  162. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -8
  163. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  164. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -8
  165. package/3D/materials/fluentMaterial.d.ts +4 -4
  166. package/3D/materials/fluentMaterial.js +4 -4
  167. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  168. package/3D/materials/handle/handleMaterial.js +126 -126
  169. package/3D/materials/handle/index.d.ts +1 -1
  170. package/3D/materials/handle/index.js +1 -1
  171. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  172. package/3D/materials/handle/shaders/handle.fragment.js +8 -8
  173. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  174. package/3D/materials/handle/shaders/handle.vertex.js +8 -8
  175. package/3D/materials/index.d.ts +5 -5
  176. package/3D/materials/index.js +5 -5
  177. package/3D/materials/mrdl/index.d.ts +3 -3
  178. package/3D/materials/mrdl/index.js +3 -3
  179. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +147 -147
  180. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -436
  181. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +333 -333
  182. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -851
  183. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +333 -333
  184. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -851
  185. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  186. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -8
  187. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  188. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -8
  189. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  190. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -8
  191. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  192. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -8
  193. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  194. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -8
  195. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  196. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -8
  197. package/3D/vector3WithInfo.d.ts +16 -16
  198. package/3D/vector3WithInfo.js +23 -23
  199. package/index.d.ts +2 -2
  200. package/index.js +2 -2
  201. package/legacy/legacy.d.ts +1 -1
  202. package/legacy/legacy.js +13 -13
  203. package/package.json +2 -2
@@ -1,269 +1,269 @@
1
- import { __extends } from "tslib";
2
- import { Observable } from "@babylonjs/core/Misc/observable.js";
3
- import { Rectangle } from "./rectangle.js";
4
- import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
5
- /**
6
- * Class used to create toggle buttons
7
- * @since 5.0.0
8
- */
9
- var ToggleButton = /** @class */ (function (_super) {
10
- __extends(ToggleButton, _super);
11
- /**
12
- * Creates a new ToggleButton
13
- * @param name defines the control name
14
- * @param group defines the toggle group this toggle belongs to
15
- */
16
- function ToggleButton(name, group) {
17
- var _this = _super.call(this, name) || this;
18
- _this.name = name;
19
- /** Observable raised when isActive is changed */
20
- _this.onIsActiveChangedObservable = new Observable();
21
- /**
22
- * Gets or sets a boolean indicating that the toggle button will let internal controls handle picking instead of doing it directly using its bounding info
23
- */
24
- _this.delegatePickingToChildren = false;
25
- _this._isActive = false;
26
- _this.group = group !== null && group !== void 0 ? group : "";
27
- _this.thickness = 0;
28
- _this.isPointerBlocker = true;
29
- var alphaStore = null;
30
- _this.toActiveAnimation = function () {
31
- _this.thickness = 1;
32
- };
33
- _this.toInactiveAnimation = function () {
34
- _this.thickness = 0;
35
- };
36
- _this.pointerEnterActiveAnimation = function () {
37
- alphaStore = _this.alpha;
38
- _this.alpha -= 0.1;
39
- };
40
- _this.pointerOutActiveAnimation = function () {
41
- if (alphaStore !== null) {
42
- _this.alpha = alphaStore;
43
- }
44
- };
45
- _this.pointerDownActiveAnimation = function () {
46
- _this.scaleX -= 0.05;
47
- _this.scaleY -= 0.05;
48
- };
49
- _this.pointerUpActiveAnimation = function () {
50
- _this.scaleX += 0.05;
51
- _this.scaleY += 0.05;
52
- };
53
- _this.pointerEnterInactiveAnimation = function () {
54
- alphaStore = _this.alpha;
55
- _this.alpha -= 0.1;
56
- };
57
- _this.pointerOutInactiveAnimation = function () {
58
- if (alphaStore !== null) {
59
- _this.alpha = alphaStore;
60
- }
61
- };
62
- _this.pointerDownInactiveAnimation = function () {
63
- _this.scaleX -= 0.05;
64
- _this.scaleY -= 0.05;
65
- };
66
- _this.pointerUpInactiveAnimation = function () {
67
- _this.scaleX += 0.05;
68
- _this.scaleY += 0.05;
69
- };
70
- return _this;
71
- }
72
- Object.defineProperty(ToggleButton.prototype, "group", {
73
- /** Gets or sets group name this toggle button belongs to */
74
- get: function () {
75
- return this._group;
76
- },
77
- set: function (value) {
78
- if (this._group === value) {
79
- return;
80
- }
81
- this._group = value;
82
- },
83
- enumerable: false,
84
- configurable: true
85
- });
86
- Object.defineProperty(ToggleButton.prototype, "isActive", {
87
- /** Gets or sets a boolean indicating if the toggle button is active or not */
88
- get: function () {
89
- return this._isActive;
90
- },
91
- set: function (value) {
92
- var _this = this;
93
- var _a, _b;
94
- // Function modeled after radioButton.ts
95
- if (this._isActive === value) {
96
- return;
97
- }
98
- this._isActive = value;
99
- // Update the visual state based on the new value
100
- if (this._isActive) {
101
- (_a = this.toActiveAnimation) === null || _a === void 0 ? void 0 : _a.call(this);
102
- }
103
- else {
104
- (_b = this.toInactiveAnimation) === null || _b === void 0 ? void 0 : _b.call(this);
105
- }
106
- this._markAsDirty();
107
- this.onIsActiveChangedObservable.notifyObservers(value);
108
- if (this._isActive && this._host && this._group) {
109
- // A toggle button in a group can only have 1 active element at a given time.
110
- // If this toggle button has a group, set other toggle buttons in the group to inactive.
111
- this._host.executeOnAllControls(function (control) {
112
- // Check for control type ToggleButton
113
- if (control.typeName === "ToggleButton") {
114
- // Don't do anything to this toggle button
115
- if (control === _this) {
116
- return;
117
- }
118
- var childToggle = control;
119
- // If toggle button is in same group, set isActive to false
120
- if (childToggle.group === _this.group) {
121
- childToggle.isActive = false;
122
- }
123
- }
124
- });
125
- }
126
- },
127
- enumerable: false,
128
- configurable: true
129
- });
130
- ToggleButton.prototype._getTypeName = function () {
131
- return "ToggleButton";
132
- };
133
- // While being a container, the toggle button behaves like a control.
134
- /**
135
- * @param x
136
- * @param y
137
- * @param pi
138
- * @param type
139
- * @param pointerId
140
- * @param buttonIndex
141
- * @param deltaX
142
- * @param deltaY
143
- * @hidden
144
- */
145
- ToggleButton.prototype._processPicking = function (x, y, pi, type, pointerId, buttonIndex, deltaX, deltaY) {
146
- if (!this._isEnabled || !this.isHitTestVisible || !this.isVisible || this.notRenderable) {
147
- return false;
148
- }
149
- if (!_super.prototype.contains.call(this, x, y)) {
150
- return false;
151
- }
152
- if (this.delegatePickingToChildren) {
153
- var contains = false;
154
- for (var index = this._children.length - 1; index >= 0; index--) {
155
- var child = this._children[index];
156
- if (child.isEnabled && child.isHitTestVisible && child.isVisible && !child.notRenderable && child.contains(x, y)) {
157
- contains = true;
158
- break;
159
- }
160
- }
161
- if (!contains) {
162
- return false;
163
- }
164
- }
165
- this._processObservables(type, x, y, pi, pointerId, buttonIndex, deltaX, deltaY);
166
- return true;
167
- };
168
- /**
169
- * @param target
170
- * @param pi
171
- * @hidden
172
- */
173
- ToggleButton.prototype._onPointerEnter = function (target, pi) {
174
- if (!_super.prototype._onPointerEnter.call(this, target, pi)) {
175
- return false;
176
- }
177
- if (this.isReadOnly) {
178
- return true;
179
- }
180
- if (this._isActive) {
181
- if (this.pointerEnterActiveAnimation) {
182
- this.pointerEnterActiveAnimation();
183
- }
184
- }
185
- else {
186
- if (this.pointerEnterInactiveAnimation) {
187
- this.pointerEnterInactiveAnimation();
188
- }
189
- }
190
- return true;
191
- };
192
- /**
193
- * @param target
194
- * @param pi
195
- * @param force
196
- * @hidden
197
- */
198
- ToggleButton.prototype._onPointerOut = function (target, pi, force) {
199
- if (force === void 0) { force = false; }
200
- if (!this.isReadOnly) {
201
- if (this._isActive) {
202
- if (this.pointerOutActiveAnimation) {
203
- this.pointerOutActiveAnimation();
204
- }
205
- }
206
- else {
207
- if (this.pointerOutInactiveAnimation) {
208
- this.pointerOutInactiveAnimation();
209
- }
210
- }
211
- }
212
- _super.prototype._onPointerOut.call(this, target, pi, force);
213
- };
214
- /**
215
- * @param target
216
- * @param coordinates
217
- * @param pointerId
218
- * @param buttonIndex
219
- * @param pi
220
- * @hidden
221
- */
222
- ToggleButton.prototype._onPointerDown = function (target, coordinates, pointerId, buttonIndex, pi) {
223
- if (!_super.prototype._onPointerDown.call(this, target, coordinates, pointerId, buttonIndex, pi)) {
224
- return false;
225
- }
226
- if (this.isReadOnly) {
227
- return true;
228
- }
229
- if (this._isActive) {
230
- if (this.pointerDownActiveAnimation) {
231
- this.pointerDownActiveAnimation();
232
- }
233
- }
234
- else {
235
- if (this.pointerDownInactiveAnimation) {
236
- this.pointerDownInactiveAnimation();
237
- }
238
- }
239
- return true;
240
- };
241
- /**
242
- * @param target
243
- * @param coordinates
244
- * @param pointerId
245
- * @param buttonIndex
246
- * @param notifyClick
247
- * @param pi
248
- * @hidden
249
- */
250
- ToggleButton.prototype._onPointerUp = function (target, coordinates, pointerId, buttonIndex, notifyClick, pi) {
251
- if (!this.isReadOnly) {
252
- if (this._isActive) {
253
- if (this.pointerUpActiveAnimation) {
254
- this.pointerUpActiveAnimation();
255
- }
256
- }
257
- else {
258
- if (this.pointerUpInactiveAnimation) {
259
- this.pointerUpInactiveAnimation();
260
- }
261
- }
262
- }
263
- _super.prototype._onPointerUp.call(this, target, coordinates, pointerId, buttonIndex, notifyClick, pi);
264
- };
265
- return ToggleButton;
266
- }(Rectangle));
267
- export { ToggleButton };
268
- RegisterClass("BABYLON.GUI.ToggleButton", ToggleButton);
1
+ import { __extends } from "tslib";
2
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
3
+ import { Rectangle } from "./rectangle";
4
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
5
+ /**
6
+ * Class used to create toggle buttons
7
+ * @since 5.0.0
8
+ */
9
+ var ToggleButton = /** @class */ (function (_super) {
10
+ __extends(ToggleButton, _super);
11
+ /**
12
+ * Creates a new ToggleButton
13
+ * @param name defines the control name
14
+ * @param group defines the toggle group this toggle belongs to
15
+ */
16
+ function ToggleButton(name, group) {
17
+ var _this = _super.call(this, name) || this;
18
+ _this.name = name;
19
+ /** Observable raised when isActive is changed */
20
+ _this.onIsActiveChangedObservable = new Observable();
21
+ /**
22
+ * Gets or sets a boolean indicating that the toggle button will let internal controls handle picking instead of doing it directly using its bounding info
23
+ */
24
+ _this.delegatePickingToChildren = false;
25
+ _this._isActive = false;
26
+ _this.group = group !== null && group !== void 0 ? group : "";
27
+ _this.thickness = 0;
28
+ _this.isPointerBlocker = true;
29
+ var alphaStore = null;
30
+ _this.toActiveAnimation = function () {
31
+ _this.thickness = 1;
32
+ };
33
+ _this.toInactiveAnimation = function () {
34
+ _this.thickness = 0;
35
+ };
36
+ _this.pointerEnterActiveAnimation = function () {
37
+ alphaStore = _this.alpha;
38
+ _this.alpha -= 0.1;
39
+ };
40
+ _this.pointerOutActiveAnimation = function () {
41
+ if (alphaStore !== null) {
42
+ _this.alpha = alphaStore;
43
+ }
44
+ };
45
+ _this.pointerDownActiveAnimation = function () {
46
+ _this.scaleX -= 0.05;
47
+ _this.scaleY -= 0.05;
48
+ };
49
+ _this.pointerUpActiveAnimation = function () {
50
+ _this.scaleX += 0.05;
51
+ _this.scaleY += 0.05;
52
+ };
53
+ _this.pointerEnterInactiveAnimation = function () {
54
+ alphaStore = _this.alpha;
55
+ _this.alpha -= 0.1;
56
+ };
57
+ _this.pointerOutInactiveAnimation = function () {
58
+ if (alphaStore !== null) {
59
+ _this.alpha = alphaStore;
60
+ }
61
+ };
62
+ _this.pointerDownInactiveAnimation = function () {
63
+ _this.scaleX -= 0.05;
64
+ _this.scaleY -= 0.05;
65
+ };
66
+ _this.pointerUpInactiveAnimation = function () {
67
+ _this.scaleX += 0.05;
68
+ _this.scaleY += 0.05;
69
+ };
70
+ return _this;
71
+ }
72
+ Object.defineProperty(ToggleButton.prototype, "group", {
73
+ /** Gets or sets group name this toggle button belongs to */
74
+ get: function () {
75
+ return this._group;
76
+ },
77
+ set: function (value) {
78
+ if (this._group === value) {
79
+ return;
80
+ }
81
+ this._group = value;
82
+ },
83
+ enumerable: false,
84
+ configurable: true
85
+ });
86
+ Object.defineProperty(ToggleButton.prototype, "isActive", {
87
+ /** Gets or sets a boolean indicating if the toggle button is active or not */
88
+ get: function () {
89
+ return this._isActive;
90
+ },
91
+ set: function (value) {
92
+ var _this = this;
93
+ var _a, _b;
94
+ // Function modeled after radioButton.ts
95
+ if (this._isActive === value) {
96
+ return;
97
+ }
98
+ this._isActive = value;
99
+ // Update the visual state based on the new value
100
+ if (this._isActive) {
101
+ (_a = this.toActiveAnimation) === null || _a === void 0 ? void 0 : _a.call(this);
102
+ }
103
+ else {
104
+ (_b = this.toInactiveAnimation) === null || _b === void 0 ? void 0 : _b.call(this);
105
+ }
106
+ this._markAsDirty();
107
+ this.onIsActiveChangedObservable.notifyObservers(value);
108
+ if (this._isActive && this._host && this._group) {
109
+ // A toggle button in a group can only have 1 active element at a given time.
110
+ // If this toggle button has a group, set other toggle buttons in the group to inactive.
111
+ this._host.executeOnAllControls(function (control) {
112
+ // Check for control type ToggleButton
113
+ if (control.typeName === "ToggleButton") {
114
+ // Don't do anything to this toggle button
115
+ if (control === _this) {
116
+ return;
117
+ }
118
+ var childToggle = control;
119
+ // If toggle button is in same group, set isActive to false
120
+ if (childToggle.group === _this.group) {
121
+ childToggle.isActive = false;
122
+ }
123
+ }
124
+ });
125
+ }
126
+ },
127
+ enumerable: false,
128
+ configurable: true
129
+ });
130
+ ToggleButton.prototype._getTypeName = function () {
131
+ return "ToggleButton";
132
+ };
133
+ // While being a container, the toggle button behaves like a control.
134
+ /**
135
+ * @param x
136
+ * @param y
137
+ * @param pi
138
+ * @param type
139
+ * @param pointerId
140
+ * @param buttonIndex
141
+ * @param deltaX
142
+ * @param deltaY
143
+ * @hidden
144
+ */
145
+ ToggleButton.prototype._processPicking = function (x, y, pi, type, pointerId, buttonIndex, deltaX, deltaY) {
146
+ if (!this._isEnabled || !this.isHitTestVisible || !this.isVisible || this.notRenderable) {
147
+ return false;
148
+ }
149
+ if (!_super.prototype.contains.call(this, x, y)) {
150
+ return false;
151
+ }
152
+ if (this.delegatePickingToChildren) {
153
+ var contains = false;
154
+ for (var index = this._children.length - 1; index >= 0; index--) {
155
+ var child = this._children[index];
156
+ if (child.isEnabled && child.isHitTestVisible && child.isVisible && !child.notRenderable && child.contains(x, y)) {
157
+ contains = true;
158
+ break;
159
+ }
160
+ }
161
+ if (!contains) {
162
+ return false;
163
+ }
164
+ }
165
+ this._processObservables(type, x, y, pi, pointerId, buttonIndex, deltaX, deltaY);
166
+ return true;
167
+ };
168
+ /**
169
+ * @param target
170
+ * @param pi
171
+ * @hidden
172
+ */
173
+ ToggleButton.prototype._onPointerEnter = function (target, pi) {
174
+ if (!_super.prototype._onPointerEnter.call(this, target, pi)) {
175
+ return false;
176
+ }
177
+ if (this.isReadOnly) {
178
+ return true;
179
+ }
180
+ if (this._isActive) {
181
+ if (this.pointerEnterActiveAnimation) {
182
+ this.pointerEnterActiveAnimation();
183
+ }
184
+ }
185
+ else {
186
+ if (this.pointerEnterInactiveAnimation) {
187
+ this.pointerEnterInactiveAnimation();
188
+ }
189
+ }
190
+ return true;
191
+ };
192
+ /**
193
+ * @param target
194
+ * @param pi
195
+ * @param force
196
+ * @hidden
197
+ */
198
+ ToggleButton.prototype._onPointerOut = function (target, pi, force) {
199
+ if (force === void 0) { force = false; }
200
+ if (!this.isReadOnly) {
201
+ if (this._isActive) {
202
+ if (this.pointerOutActiveAnimation) {
203
+ this.pointerOutActiveAnimation();
204
+ }
205
+ }
206
+ else {
207
+ if (this.pointerOutInactiveAnimation) {
208
+ this.pointerOutInactiveAnimation();
209
+ }
210
+ }
211
+ }
212
+ _super.prototype._onPointerOut.call(this, target, pi, force);
213
+ };
214
+ /**
215
+ * @param target
216
+ * @param coordinates
217
+ * @param pointerId
218
+ * @param buttonIndex
219
+ * @param pi
220
+ * @hidden
221
+ */
222
+ ToggleButton.prototype._onPointerDown = function (target, coordinates, pointerId, buttonIndex, pi) {
223
+ if (!_super.prototype._onPointerDown.call(this, target, coordinates, pointerId, buttonIndex, pi)) {
224
+ return false;
225
+ }
226
+ if (this.isReadOnly) {
227
+ return true;
228
+ }
229
+ if (this._isActive) {
230
+ if (this.pointerDownActiveAnimation) {
231
+ this.pointerDownActiveAnimation();
232
+ }
233
+ }
234
+ else {
235
+ if (this.pointerDownInactiveAnimation) {
236
+ this.pointerDownInactiveAnimation();
237
+ }
238
+ }
239
+ return true;
240
+ };
241
+ /**
242
+ * @param target
243
+ * @param coordinates
244
+ * @param pointerId
245
+ * @param buttonIndex
246
+ * @param notifyClick
247
+ * @param pi
248
+ * @hidden
249
+ */
250
+ ToggleButton.prototype._onPointerUp = function (target, coordinates, pointerId, buttonIndex, notifyClick, pi) {
251
+ if (!this.isReadOnly) {
252
+ if (this._isActive) {
253
+ if (this.pointerUpActiveAnimation) {
254
+ this.pointerUpActiveAnimation();
255
+ }
256
+ }
257
+ else {
258
+ if (this.pointerUpInactiveAnimation) {
259
+ this.pointerUpInactiveAnimation();
260
+ }
261
+ }
262
+ }
263
+ _super.prototype._onPointerUp.call(this, target, coordinates, pointerId, buttonIndex, notifyClick, pi);
264
+ };
265
+ return ToggleButton;
266
+ }(Rectangle));
267
+ export { ToggleButton };
268
+ RegisterClass("BABYLON.GUI.ToggleButton", ToggleButton);
269
269
  //# sourceMappingURL=toggleButton.js.map