@babylonjs/gui 5.0.0-rc.5 → 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.
- package/2D/adtInstrumentation.d.ts +52 -52
- package/2D/adtInstrumentation.js +126 -126
- package/2D/advancedDynamicTexture.d.ts +448 -448
- package/2D/advancedDynamicTexture.js +1318 -1318
- package/2D/controls/button.d.ts +135 -135
- package/2D/controls/button.js +276 -276
- package/2D/controls/checkbox.d.ts +59 -59
- package/2D/controls/checkbox.js +188 -188
- package/2D/controls/colorpicker.d.ts +103 -103
- package/2D/controls/colorpicker.js +1417 -1417
- package/2D/controls/container.d.ts +175 -175
- package/2D/controls/container.js +570 -570
- package/2D/controls/control.d.ts +866 -866
- package/2D/controls/control.js +2433 -2433
- package/2D/controls/displayGrid.d.ts +53 -53
- package/2D/controls/displayGrid.js +245 -245
- package/2D/controls/ellipse.d.ts +21 -21
- package/2D/controls/ellipse.js +85 -85
- package/2D/controls/focusableButton.d.ts +59 -59
- package/2D/controls/focusableButton.js +99 -99
- package/2D/controls/focusableControl.d.ts +34 -34
- package/2D/controls/focusableControl.js +1 -1
- package/2D/controls/grid.d.ts +139 -139
- package/2D/controls/grid.js +529 -529
- package/2D/controls/image.d.ts +204 -204
- package/2D/controls/image.js +887 -887
- package/2D/controls/index.d.ts +29 -29
- package/2D/controls/index.js +29 -29
- package/2D/controls/inputPassword.d.ts +8 -8
- package/2D/controls/inputPassword.js +25 -25
- package/2D/controls/inputText.d.ts +201 -201
- package/2D/controls/inputText.js +1119 -1119
- package/2D/controls/line.d.ts +66 -66
- package/2D/controls/line.js +271 -271
- package/2D/controls/multiLine.d.ts +75 -75
- package/2D/controls/multiLine.js +262 -262
- package/2D/controls/radioButton.d.ts +49 -49
- package/2D/controls/radioButton.js +205 -205
- package/2D/controls/rectangle.d.ts +29 -29
- package/2D/controls/rectangle.js +150 -150
- package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -182
- package/2D/controls/scrollViewers/scrollViewer.js +677 -677
- package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -57
- package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -278
- package/2D/controls/selector.d.ts +263 -263
- package/2D/controls/selector.js +692 -692
- package/2D/controls/sliders/baseSlider.d.ts +82 -82
- package/2D/controls/sliders/baseSlider.js +347 -347
- package/2D/controls/sliders/imageBasedSlider.d.ts +49 -49
- package/2D/controls/sliders/imageBasedSlider.js +192 -192
- package/2D/controls/sliders/imageScrollBar.d.ts +65 -65
- package/2D/controls/sliders/imageScrollBar.js +263 -263
- package/2D/controls/sliders/scrollBar.d.ts +38 -38
- package/2D/controls/sliders/scrollBar.js +143 -143
- package/2D/controls/sliders/slider.d.ts +35 -35
- package/2D/controls/sliders/slider.js +271 -271
- package/2D/controls/stackPanel.d.ts +64 -64
- package/2D/controls/stackPanel.js +246 -246
- package/2D/controls/statics.d.ts +6 -6
- package/2D/controls/statics.js +49 -49
- package/2D/controls/textBlock.d.ts +175 -175
- package/2D/controls/textBlock.js +603 -603
- package/2D/controls/textWrapper.d.ts +13 -13
- package/2D/controls/textWrapper.js +101 -101
- package/2D/controls/toggleButton.d.ts +117 -117
- package/2D/controls/toggleButton.js +268 -268
- package/2D/controls/virtualKeyboard.d.ts +96 -96
- package/2D/controls/virtualKeyboard.js +256 -256
- package/2D/index.d.ts +9 -9
- package/2D/index.js +9 -9
- package/2D/math2D.d.ts +117 -117
- package/2D/math2D.js +221 -221
- package/2D/measure.d.ts +77 -77
- package/2D/measure.js +139 -139
- package/2D/multiLinePoint.d.ts +47 -47
- package/2D/multiLinePoint.js +127 -127
- package/2D/style.d.ts +46 -46
- package/2D/style.js +97 -97
- package/2D/valueAndUnit.d.ts +89 -89
- package/2D/valueAndUnit.js +226 -226
- package/2D/xmlLoader.d.ts +60 -60
- package/2D/xmlLoader.js +348 -348
- package/3D/behaviors/defaultBehavior.d.ts +73 -73
- package/3D/behaviors/defaultBehavior.js +121 -121
- package/3D/controls/abstractButton3D.d.ts +15 -15
- package/3D/controls/abstractButton3D.js +25 -25
- package/3D/controls/button3D.d.ts +30 -30
- package/3D/controls/button3D.js +93 -93
- package/3D/controls/container3D.d.ts +72 -72
- package/3D/controls/container3D.js +139 -139
- package/3D/controls/contentDisplay3D.d.ts +30 -30
- package/3D/controls/contentDisplay3D.js +79 -79
- package/3D/controls/control3D.d.ts +201 -201
- package/3D/controls/control3D.js +445 -445
- package/3D/controls/cylinderPanel.d.ts +17 -17
- package/3D/controls/cylinderPanel.js +66 -66
- package/3D/controls/handMenu.d.ts +28 -28
- package/3D/controls/handMenu.js +47 -47
- package/3D/controls/holographicBackplate.d.ts +49 -49
- package/3D/controls/holographicBackplate.js +120 -120
- package/3D/controls/holographicButton.d.ts +84 -84
- package/3D/controls/holographicButton.js +339 -339
- package/3D/controls/holographicSlate.d.ts +131 -131
- package/3D/controls/holographicSlate.js +431 -431
- package/3D/controls/index.d.ts +21 -21
- package/3D/controls/index.js +21 -21
- package/3D/controls/meshButton3D.d.ts +21 -21
- package/3D/controls/meshButton3D.js +62 -62
- package/3D/controls/nearMenu.d.ts +44 -44
- package/3D/controls/nearMenu.js +114 -114
- package/3D/controls/planePanel.d.ts +9 -9
- package/3D/controls/planePanel.js +36 -36
- package/3D/controls/scatterPanel.d.ts +18 -18
- package/3D/controls/scatterPanel.js +108 -108
- package/3D/controls/slider3D.d.ts +81 -81
- package/3D/controls/slider3D.js +268 -268
- package/3D/controls/spherePanel.d.ts +17 -17
- package/3D/controls/spherePanel.js +67 -67
- package/3D/controls/stackPanel3D.d.ts +22 -22
- package/3D/controls/stackPanel3D.js +107 -107
- package/3D/controls/touchButton3D.d.ts +80 -80
- package/3D/controls/touchButton3D.js +233 -233
- package/3D/controls/touchHolographicButton.d.ts +110 -110
- package/3D/controls/touchHolographicButton.js +445 -445
- package/3D/controls/touchHolographicMenu.d.ts +61 -61
- package/3D/controls/touchHolographicMenu.js +149 -149
- package/3D/controls/touchMeshButton3D.d.ts +21 -21
- package/3D/controls/touchMeshButton3D.js +62 -62
- package/3D/controls/volumeBasedPanel.d.ts +53 -53
- package/3D/controls/volumeBasedPanel.js +174 -174
- package/3D/gizmos/gizmoHandle.d.ts +108 -108
- package/3D/gizmos/gizmoHandle.js +209 -209
- package/3D/gizmos/index.d.ts +2 -2
- package/3D/gizmos/index.js +2 -2
- package/3D/gizmos/slateGizmo.d.ts +57 -57
- package/3D/gizmos/slateGizmo.js +369 -369
- package/3D/gui3DManager.d.ts +94 -94
- package/3D/gui3DManager.js +257 -257
- package/3D/index.d.ts +5 -5
- package/3D/index.js +5 -5
- package/3D/materials/fluent/fluentMaterial.d.ts +90 -90
- package/3D/materials/fluent/fluentMaterial.js +292 -292
- package/3D/materials/fluent/index.d.ts +1 -1
- package/3D/materials/fluent/index.js +1 -1
- package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
- package/3D/materials/fluent/shaders/fluent.fragment.js +8 -8
- package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
- package/3D/materials/fluent/shaders/fluent.vertex.js +8 -8
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +154 -154
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -469
- package/3D/materials/fluentBackplate/index.d.ts +1 -1
- package/3D/materials/fluentBackplate/index.js +1 -1
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -8
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -8
- package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +189 -189
- package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -539
- package/3D/materials/fluentButton/index.d.ts +1 -1
- package/3D/materials/fluentButton/index.js +1 -1
- package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
- package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -8
- package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
- package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -8
- package/3D/materials/fluentMaterial.d.ts +4 -4
- package/3D/materials/fluentMaterial.js +4 -4
- package/3D/materials/handle/handleMaterial.d.ts +68 -68
- package/3D/materials/handle/handleMaterial.js +126 -126
- package/3D/materials/handle/index.d.ts +1 -1
- package/3D/materials/handle/index.js +1 -1
- package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
- package/3D/materials/handle/shaders/handle.fragment.js +8 -8
- package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
- package/3D/materials/handle/shaders/handle.vertex.js +8 -8
- package/3D/materials/index.d.ts +5 -5
- package/3D/materials/index.js +5 -5
- package/3D/materials/mrdl/index.d.ts +3 -3
- package/3D/materials/mrdl/index.js +3 -3
- package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +147 -147
- package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -436
- package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +333 -333
- package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -851
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +333 -333
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -851
- package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -8
- package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -8
- package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -8
- package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -8
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -8
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -8
- package/3D/vector3WithInfo.d.ts +16 -16
- package/3D/vector3WithInfo.js +23 -23
- package/index.d.ts +2 -2
- package/index.js +2 -2
- package/legacy/legacy.d.ts +1 -1
- package/legacy/legacy.js +13 -13
- 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
|
|
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
|