@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
package/2D/controls/button.js
CHANGED
|
@@ -1,277 +1,277 @@
|
|
|
1
|
-
import { __extends } from "tslib";
|
|
2
|
-
import { Rectangle } from "./rectangle
|
|
3
|
-
import { Control } from "./control
|
|
4
|
-
import { TextBlock } from "./textBlock
|
|
5
|
-
import { Image } from "./image
|
|
6
|
-
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
7
|
-
/**
|
|
8
|
-
* Class used to create 2D buttons
|
|
9
|
-
*/
|
|
10
|
-
var Button = /** @class */ (function (_super) {
|
|
11
|
-
__extends(Button, _super);
|
|
12
|
-
/**
|
|
13
|
-
* Creates a new Button
|
|
14
|
-
* @param name defines the name of the button
|
|
15
|
-
*/
|
|
16
|
-
function Button(name) {
|
|
17
|
-
var _this = _super.call(this, name) || this;
|
|
18
|
-
_this.name = name;
|
|
19
|
-
/**
|
|
20
|
-
* Gets or sets a boolean indicating that the button will let internal controls handle picking instead of doing it directly using its bounding info
|
|
21
|
-
*/
|
|
22
|
-
_this.delegatePickingToChildren = false;
|
|
23
|
-
_this.thickness = 1;
|
|
24
|
-
_this.isPointerBlocker = true;
|
|
25
|
-
var alphaStore = null;
|
|
26
|
-
_this.pointerEnterAnimation = function () {
|
|
27
|
-
alphaStore = _this.alpha;
|
|
28
|
-
_this.alpha -= 0.1;
|
|
29
|
-
};
|
|
30
|
-
_this.pointerOutAnimation = function () {
|
|
31
|
-
if (alphaStore !== null) {
|
|
32
|
-
_this.alpha = alphaStore;
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
_this.pointerDownAnimation = function () {
|
|
36
|
-
_this.scaleX -= 0.05;
|
|
37
|
-
_this.scaleY -= 0.05;
|
|
38
|
-
};
|
|
39
|
-
_this.pointerUpAnimation = function () {
|
|
40
|
-
_this.scaleX += 0.05;
|
|
41
|
-
_this.scaleY += 0.05;
|
|
42
|
-
};
|
|
43
|
-
return _this;
|
|
44
|
-
}
|
|
45
|
-
Object.defineProperty(Button.prototype, "image", {
|
|
46
|
-
/**
|
|
47
|
-
* Returns the image part of the button (if any)
|
|
48
|
-
*/
|
|
49
|
-
get: function () {
|
|
50
|
-
return this._image;
|
|
51
|
-
},
|
|
52
|
-
enumerable: false,
|
|
53
|
-
configurable: true
|
|
54
|
-
});
|
|
55
|
-
Object.defineProperty(Button.prototype, "textBlock", {
|
|
56
|
-
/**
|
|
57
|
-
* Returns the image part of the button (if any)
|
|
58
|
-
*/
|
|
59
|
-
get: function () {
|
|
60
|
-
return this._textBlock;
|
|
61
|
-
},
|
|
62
|
-
enumerable: false,
|
|
63
|
-
configurable: true
|
|
64
|
-
});
|
|
65
|
-
Button.prototype._getTypeName = function () {
|
|
66
|
-
return "Button";
|
|
67
|
-
};
|
|
68
|
-
// While being a container, the button behaves like a control.
|
|
69
|
-
/**
|
|
70
|
-
* @param x
|
|
71
|
-
* @param y
|
|
72
|
-
* @param pi
|
|
73
|
-
* @param type
|
|
74
|
-
* @param pointerId
|
|
75
|
-
* @param buttonIndex
|
|
76
|
-
* @param deltaX
|
|
77
|
-
* @param deltaY
|
|
78
|
-
* @hidden
|
|
79
|
-
*/
|
|
80
|
-
Button.prototype._processPicking = function (x, y, pi, type, pointerId, buttonIndex, deltaX, deltaY) {
|
|
81
|
-
if (!this._isEnabled || !this.isHitTestVisible || !this.isVisible || this.notRenderable) {
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
if (!_super.prototype.contains.call(this, x, y)) {
|
|
85
|
-
return false;
|
|
86
|
-
}
|
|
87
|
-
if (this.delegatePickingToChildren) {
|
|
88
|
-
var contains = false;
|
|
89
|
-
for (var index = this._children.length - 1; index >= 0; index--) {
|
|
90
|
-
var child = this._children[index];
|
|
91
|
-
if (child.isEnabled && child.isHitTestVisible && child.isVisible && !child.notRenderable && child.contains(x, y)) {
|
|
92
|
-
contains = true;
|
|
93
|
-
break;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
if (!contains) {
|
|
97
|
-
return false;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
this._processObservables(type, x, y, pi, pointerId, buttonIndex, deltaX, deltaY);
|
|
101
|
-
return true;
|
|
102
|
-
};
|
|
103
|
-
/**
|
|
104
|
-
* @param target
|
|
105
|
-
* @param pi
|
|
106
|
-
* @hidden
|
|
107
|
-
*/
|
|
108
|
-
Button.prototype._onPointerEnter = function (target, pi) {
|
|
109
|
-
if (!_super.prototype._onPointerEnter.call(this, target, pi)) {
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
if (!this.isReadOnly && this.pointerEnterAnimation) {
|
|
113
|
-
this.pointerEnterAnimation();
|
|
114
|
-
}
|
|
115
|
-
return true;
|
|
116
|
-
};
|
|
117
|
-
/**
|
|
118
|
-
* @param target
|
|
119
|
-
* @param pi
|
|
120
|
-
* @param force
|
|
121
|
-
* @hidden
|
|
122
|
-
*/
|
|
123
|
-
Button.prototype._onPointerOut = function (target, pi, force) {
|
|
124
|
-
if (force === void 0) { force = false; }
|
|
125
|
-
if (!this.isReadOnly && this.pointerOutAnimation) {
|
|
126
|
-
this.pointerOutAnimation();
|
|
127
|
-
}
|
|
128
|
-
_super.prototype._onPointerOut.call(this, target, pi, force);
|
|
129
|
-
};
|
|
130
|
-
/**
|
|
131
|
-
* @param target
|
|
132
|
-
* @param coordinates
|
|
133
|
-
* @param pointerId
|
|
134
|
-
* @param buttonIndex
|
|
135
|
-
* @param pi
|
|
136
|
-
* @hidden
|
|
137
|
-
*/
|
|
138
|
-
Button.prototype._onPointerDown = function (target, coordinates, pointerId, buttonIndex, pi) {
|
|
139
|
-
if (!_super.prototype._onPointerDown.call(this, target, coordinates, pointerId, buttonIndex, pi)) {
|
|
140
|
-
return false;
|
|
141
|
-
}
|
|
142
|
-
if (!this.isReadOnly && this.pointerDownAnimation) {
|
|
143
|
-
this.pointerDownAnimation();
|
|
144
|
-
}
|
|
145
|
-
return true;
|
|
146
|
-
};
|
|
147
|
-
/**
|
|
148
|
-
* @param target
|
|
149
|
-
* @param coordinates
|
|
150
|
-
* @param pointerId
|
|
151
|
-
* @param buttonIndex
|
|
152
|
-
* @param notifyClick
|
|
153
|
-
* @param pi
|
|
154
|
-
* @hidden
|
|
155
|
-
*/
|
|
156
|
-
Button.prototype._onPointerUp = function (target, coordinates, pointerId, buttonIndex, notifyClick, pi) {
|
|
157
|
-
if (!this.isReadOnly && this.pointerUpAnimation) {
|
|
158
|
-
this.pointerUpAnimation();
|
|
159
|
-
}
|
|
160
|
-
_super.prototype._onPointerUp.call(this, target, coordinates, pointerId, buttonIndex, notifyClick, pi);
|
|
161
|
-
};
|
|
162
|
-
/**
|
|
163
|
-
* Serializes the current button
|
|
164
|
-
* @param serializationObject defines the JSON serialized object
|
|
165
|
-
*/
|
|
166
|
-
Button.prototype.serialize = function (serializationObject) {
|
|
167
|
-
_super.prototype.serialize.call(this, serializationObject);
|
|
168
|
-
if (this._textBlock) {
|
|
169
|
-
serializationObject.textBlockName = this._textBlock.name;
|
|
170
|
-
}
|
|
171
|
-
if (this._image) {
|
|
172
|
-
serializationObject.imageName = this._image.name;
|
|
173
|
-
}
|
|
174
|
-
};
|
|
175
|
-
/**
|
|
176
|
-
* @param serializedObject
|
|
177
|
-
* @param host
|
|
178
|
-
* @hidden
|
|
179
|
-
*/
|
|
180
|
-
Button.prototype._parseFromContent = function (serializedObject, host) {
|
|
181
|
-
_super.prototype._parseFromContent.call(this, serializedObject, host);
|
|
182
|
-
if (serializedObject.textBlockName) {
|
|
183
|
-
this._textBlock = this.getChildByName(serializedObject.textBlockName);
|
|
184
|
-
}
|
|
185
|
-
if (serializedObject.imageName) {
|
|
186
|
-
this._image = this.getChildByName(serializedObject.imageName);
|
|
187
|
-
}
|
|
188
|
-
};
|
|
189
|
-
// Statics
|
|
190
|
-
/**
|
|
191
|
-
* Creates a new button made with an image and a text
|
|
192
|
-
* @param name defines the name of the button
|
|
193
|
-
* @param text defines the text of the button
|
|
194
|
-
* @param imageUrl defines the url of the image
|
|
195
|
-
* @returns a new Button
|
|
196
|
-
*/
|
|
197
|
-
Button.CreateImageButton = function (name, text, imageUrl) {
|
|
198
|
-
var result = new this(name);
|
|
199
|
-
// Adding text
|
|
200
|
-
var textBlock = new TextBlock(name + "_button", text);
|
|
201
|
-
textBlock.textWrapping = true;
|
|
202
|
-
textBlock.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_CENTER;
|
|
203
|
-
textBlock.paddingLeft = "20%";
|
|
204
|
-
result.addControl(textBlock);
|
|
205
|
-
// Adding image
|
|
206
|
-
var iconImage = new Image(name + "_icon", imageUrl);
|
|
207
|
-
iconImage.width = "20%";
|
|
208
|
-
iconImage.stretch = Image.STRETCH_UNIFORM;
|
|
209
|
-
iconImage.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;
|
|
210
|
-
result.addControl(iconImage);
|
|
211
|
-
// Store
|
|
212
|
-
result._image = iconImage;
|
|
213
|
-
result._textBlock = textBlock;
|
|
214
|
-
return result;
|
|
215
|
-
};
|
|
216
|
-
/**
|
|
217
|
-
* Creates a new button made with an image
|
|
218
|
-
* @param name defines the name of the button
|
|
219
|
-
* @param imageUrl defines the url of the image
|
|
220
|
-
* @returns a new Button
|
|
221
|
-
*/
|
|
222
|
-
Button.CreateImageOnlyButton = function (name, imageUrl) {
|
|
223
|
-
var result = new this(name);
|
|
224
|
-
// Adding image
|
|
225
|
-
var iconImage = new Image(name + "_icon", imageUrl);
|
|
226
|
-
iconImage.stretch = Image.STRETCH_FILL;
|
|
227
|
-
iconImage.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;
|
|
228
|
-
result.addControl(iconImage);
|
|
229
|
-
// Store
|
|
230
|
-
result._image = iconImage;
|
|
231
|
-
return result;
|
|
232
|
-
};
|
|
233
|
-
/**
|
|
234
|
-
* Creates a new button made with a text
|
|
235
|
-
* @param name defines the name of the button
|
|
236
|
-
* @param text defines the text of the button
|
|
237
|
-
* @returns a new Button
|
|
238
|
-
*/
|
|
239
|
-
Button.CreateSimpleButton = function (name, text) {
|
|
240
|
-
var result = new this(name);
|
|
241
|
-
// Adding text
|
|
242
|
-
var textBlock = new TextBlock(name + "_button", text);
|
|
243
|
-
textBlock.textWrapping = true;
|
|
244
|
-
textBlock.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_CENTER;
|
|
245
|
-
result.addControl(textBlock);
|
|
246
|
-
// Store
|
|
247
|
-
result._textBlock = textBlock;
|
|
248
|
-
return result;
|
|
249
|
-
};
|
|
250
|
-
/**
|
|
251
|
-
* Creates a new button made with an image and a centered text
|
|
252
|
-
* @param name defines the name of the button
|
|
253
|
-
* @param text defines the text of the button
|
|
254
|
-
* @param imageUrl defines the url of the image
|
|
255
|
-
* @returns a new Button
|
|
256
|
-
*/
|
|
257
|
-
Button.CreateImageWithCenterTextButton = function (name, text, imageUrl) {
|
|
258
|
-
var result = new this(name);
|
|
259
|
-
// Adding image
|
|
260
|
-
var iconImage = new Image(name + "_icon", imageUrl);
|
|
261
|
-
iconImage.stretch = Image.STRETCH_FILL;
|
|
262
|
-
result.addControl(iconImage);
|
|
263
|
-
// Adding text
|
|
264
|
-
var textBlock = new TextBlock(name + "_button", text);
|
|
265
|
-
textBlock.textWrapping = true;
|
|
266
|
-
textBlock.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_CENTER;
|
|
267
|
-
result.addControl(textBlock);
|
|
268
|
-
// Store
|
|
269
|
-
result._image = iconImage;
|
|
270
|
-
result._textBlock = textBlock;
|
|
271
|
-
return result;
|
|
272
|
-
};
|
|
273
|
-
return Button;
|
|
274
|
-
}(Rectangle));
|
|
275
|
-
export { Button };
|
|
276
|
-
RegisterClass("BABYLON.GUI.Button", Button);
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { Rectangle } from "./rectangle";
|
|
3
|
+
import { Control } from "./control";
|
|
4
|
+
import { TextBlock } from "./textBlock";
|
|
5
|
+
import { Image } from "./image";
|
|
6
|
+
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
7
|
+
/**
|
|
8
|
+
* Class used to create 2D buttons
|
|
9
|
+
*/
|
|
10
|
+
var Button = /** @class */ (function (_super) {
|
|
11
|
+
__extends(Button, _super);
|
|
12
|
+
/**
|
|
13
|
+
* Creates a new Button
|
|
14
|
+
* @param name defines the name of the button
|
|
15
|
+
*/
|
|
16
|
+
function Button(name) {
|
|
17
|
+
var _this = _super.call(this, name) || this;
|
|
18
|
+
_this.name = name;
|
|
19
|
+
/**
|
|
20
|
+
* Gets or sets a boolean indicating that the button will let internal controls handle picking instead of doing it directly using its bounding info
|
|
21
|
+
*/
|
|
22
|
+
_this.delegatePickingToChildren = false;
|
|
23
|
+
_this.thickness = 1;
|
|
24
|
+
_this.isPointerBlocker = true;
|
|
25
|
+
var alphaStore = null;
|
|
26
|
+
_this.pointerEnterAnimation = function () {
|
|
27
|
+
alphaStore = _this.alpha;
|
|
28
|
+
_this.alpha -= 0.1;
|
|
29
|
+
};
|
|
30
|
+
_this.pointerOutAnimation = function () {
|
|
31
|
+
if (alphaStore !== null) {
|
|
32
|
+
_this.alpha = alphaStore;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
_this.pointerDownAnimation = function () {
|
|
36
|
+
_this.scaleX -= 0.05;
|
|
37
|
+
_this.scaleY -= 0.05;
|
|
38
|
+
};
|
|
39
|
+
_this.pointerUpAnimation = function () {
|
|
40
|
+
_this.scaleX += 0.05;
|
|
41
|
+
_this.scaleY += 0.05;
|
|
42
|
+
};
|
|
43
|
+
return _this;
|
|
44
|
+
}
|
|
45
|
+
Object.defineProperty(Button.prototype, "image", {
|
|
46
|
+
/**
|
|
47
|
+
* Returns the image part of the button (if any)
|
|
48
|
+
*/
|
|
49
|
+
get: function () {
|
|
50
|
+
return this._image;
|
|
51
|
+
},
|
|
52
|
+
enumerable: false,
|
|
53
|
+
configurable: true
|
|
54
|
+
});
|
|
55
|
+
Object.defineProperty(Button.prototype, "textBlock", {
|
|
56
|
+
/**
|
|
57
|
+
* Returns the image part of the button (if any)
|
|
58
|
+
*/
|
|
59
|
+
get: function () {
|
|
60
|
+
return this._textBlock;
|
|
61
|
+
},
|
|
62
|
+
enumerable: false,
|
|
63
|
+
configurable: true
|
|
64
|
+
});
|
|
65
|
+
Button.prototype._getTypeName = function () {
|
|
66
|
+
return "Button";
|
|
67
|
+
};
|
|
68
|
+
// While being a container, the button behaves like a control.
|
|
69
|
+
/**
|
|
70
|
+
* @param x
|
|
71
|
+
* @param y
|
|
72
|
+
* @param pi
|
|
73
|
+
* @param type
|
|
74
|
+
* @param pointerId
|
|
75
|
+
* @param buttonIndex
|
|
76
|
+
* @param deltaX
|
|
77
|
+
* @param deltaY
|
|
78
|
+
* @hidden
|
|
79
|
+
*/
|
|
80
|
+
Button.prototype._processPicking = function (x, y, pi, type, pointerId, buttonIndex, deltaX, deltaY) {
|
|
81
|
+
if (!this._isEnabled || !this.isHitTestVisible || !this.isVisible || this.notRenderable) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
if (!_super.prototype.contains.call(this, x, y)) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
if (this.delegatePickingToChildren) {
|
|
88
|
+
var contains = false;
|
|
89
|
+
for (var index = this._children.length - 1; index >= 0; index--) {
|
|
90
|
+
var child = this._children[index];
|
|
91
|
+
if (child.isEnabled && child.isHitTestVisible && child.isVisible && !child.notRenderable && child.contains(x, y)) {
|
|
92
|
+
contains = true;
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (!contains) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
this._processObservables(type, x, y, pi, pointerId, buttonIndex, deltaX, deltaY);
|
|
101
|
+
return true;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* @param target
|
|
105
|
+
* @param pi
|
|
106
|
+
* @hidden
|
|
107
|
+
*/
|
|
108
|
+
Button.prototype._onPointerEnter = function (target, pi) {
|
|
109
|
+
if (!_super.prototype._onPointerEnter.call(this, target, pi)) {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
if (!this.isReadOnly && this.pointerEnterAnimation) {
|
|
113
|
+
this.pointerEnterAnimation();
|
|
114
|
+
}
|
|
115
|
+
return true;
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* @param target
|
|
119
|
+
* @param pi
|
|
120
|
+
* @param force
|
|
121
|
+
* @hidden
|
|
122
|
+
*/
|
|
123
|
+
Button.prototype._onPointerOut = function (target, pi, force) {
|
|
124
|
+
if (force === void 0) { force = false; }
|
|
125
|
+
if (!this.isReadOnly && this.pointerOutAnimation) {
|
|
126
|
+
this.pointerOutAnimation();
|
|
127
|
+
}
|
|
128
|
+
_super.prototype._onPointerOut.call(this, target, pi, force);
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* @param target
|
|
132
|
+
* @param coordinates
|
|
133
|
+
* @param pointerId
|
|
134
|
+
* @param buttonIndex
|
|
135
|
+
* @param pi
|
|
136
|
+
* @hidden
|
|
137
|
+
*/
|
|
138
|
+
Button.prototype._onPointerDown = function (target, coordinates, pointerId, buttonIndex, pi) {
|
|
139
|
+
if (!_super.prototype._onPointerDown.call(this, target, coordinates, pointerId, buttonIndex, pi)) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
if (!this.isReadOnly && this.pointerDownAnimation) {
|
|
143
|
+
this.pointerDownAnimation();
|
|
144
|
+
}
|
|
145
|
+
return true;
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* @param target
|
|
149
|
+
* @param coordinates
|
|
150
|
+
* @param pointerId
|
|
151
|
+
* @param buttonIndex
|
|
152
|
+
* @param notifyClick
|
|
153
|
+
* @param pi
|
|
154
|
+
* @hidden
|
|
155
|
+
*/
|
|
156
|
+
Button.prototype._onPointerUp = function (target, coordinates, pointerId, buttonIndex, notifyClick, pi) {
|
|
157
|
+
if (!this.isReadOnly && this.pointerUpAnimation) {
|
|
158
|
+
this.pointerUpAnimation();
|
|
159
|
+
}
|
|
160
|
+
_super.prototype._onPointerUp.call(this, target, coordinates, pointerId, buttonIndex, notifyClick, pi);
|
|
161
|
+
};
|
|
162
|
+
/**
|
|
163
|
+
* Serializes the current button
|
|
164
|
+
* @param serializationObject defines the JSON serialized object
|
|
165
|
+
*/
|
|
166
|
+
Button.prototype.serialize = function (serializationObject) {
|
|
167
|
+
_super.prototype.serialize.call(this, serializationObject);
|
|
168
|
+
if (this._textBlock) {
|
|
169
|
+
serializationObject.textBlockName = this._textBlock.name;
|
|
170
|
+
}
|
|
171
|
+
if (this._image) {
|
|
172
|
+
serializationObject.imageName = this._image.name;
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
/**
|
|
176
|
+
* @param serializedObject
|
|
177
|
+
* @param host
|
|
178
|
+
* @hidden
|
|
179
|
+
*/
|
|
180
|
+
Button.prototype._parseFromContent = function (serializedObject, host) {
|
|
181
|
+
_super.prototype._parseFromContent.call(this, serializedObject, host);
|
|
182
|
+
if (serializedObject.textBlockName) {
|
|
183
|
+
this._textBlock = this.getChildByName(serializedObject.textBlockName);
|
|
184
|
+
}
|
|
185
|
+
if (serializedObject.imageName) {
|
|
186
|
+
this._image = this.getChildByName(serializedObject.imageName);
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
// Statics
|
|
190
|
+
/**
|
|
191
|
+
* Creates a new button made with an image and a text
|
|
192
|
+
* @param name defines the name of the button
|
|
193
|
+
* @param text defines the text of the button
|
|
194
|
+
* @param imageUrl defines the url of the image
|
|
195
|
+
* @returns a new Button
|
|
196
|
+
*/
|
|
197
|
+
Button.CreateImageButton = function (name, text, imageUrl) {
|
|
198
|
+
var result = new this(name);
|
|
199
|
+
// Adding text
|
|
200
|
+
var textBlock = new TextBlock(name + "_button", text);
|
|
201
|
+
textBlock.textWrapping = true;
|
|
202
|
+
textBlock.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_CENTER;
|
|
203
|
+
textBlock.paddingLeft = "20%";
|
|
204
|
+
result.addControl(textBlock);
|
|
205
|
+
// Adding image
|
|
206
|
+
var iconImage = new Image(name + "_icon", imageUrl);
|
|
207
|
+
iconImage.width = "20%";
|
|
208
|
+
iconImage.stretch = Image.STRETCH_UNIFORM;
|
|
209
|
+
iconImage.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;
|
|
210
|
+
result.addControl(iconImage);
|
|
211
|
+
// Store
|
|
212
|
+
result._image = iconImage;
|
|
213
|
+
result._textBlock = textBlock;
|
|
214
|
+
return result;
|
|
215
|
+
};
|
|
216
|
+
/**
|
|
217
|
+
* Creates a new button made with an image
|
|
218
|
+
* @param name defines the name of the button
|
|
219
|
+
* @param imageUrl defines the url of the image
|
|
220
|
+
* @returns a new Button
|
|
221
|
+
*/
|
|
222
|
+
Button.CreateImageOnlyButton = function (name, imageUrl) {
|
|
223
|
+
var result = new this(name);
|
|
224
|
+
// Adding image
|
|
225
|
+
var iconImage = new Image(name + "_icon", imageUrl);
|
|
226
|
+
iconImage.stretch = Image.STRETCH_FILL;
|
|
227
|
+
iconImage.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;
|
|
228
|
+
result.addControl(iconImage);
|
|
229
|
+
// Store
|
|
230
|
+
result._image = iconImage;
|
|
231
|
+
return result;
|
|
232
|
+
};
|
|
233
|
+
/**
|
|
234
|
+
* Creates a new button made with a text
|
|
235
|
+
* @param name defines the name of the button
|
|
236
|
+
* @param text defines the text of the button
|
|
237
|
+
* @returns a new Button
|
|
238
|
+
*/
|
|
239
|
+
Button.CreateSimpleButton = function (name, text) {
|
|
240
|
+
var result = new this(name);
|
|
241
|
+
// Adding text
|
|
242
|
+
var textBlock = new TextBlock(name + "_button", text);
|
|
243
|
+
textBlock.textWrapping = true;
|
|
244
|
+
textBlock.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_CENTER;
|
|
245
|
+
result.addControl(textBlock);
|
|
246
|
+
// Store
|
|
247
|
+
result._textBlock = textBlock;
|
|
248
|
+
return result;
|
|
249
|
+
};
|
|
250
|
+
/**
|
|
251
|
+
* Creates a new button made with an image and a centered text
|
|
252
|
+
* @param name defines the name of the button
|
|
253
|
+
* @param text defines the text of the button
|
|
254
|
+
* @param imageUrl defines the url of the image
|
|
255
|
+
* @returns a new Button
|
|
256
|
+
*/
|
|
257
|
+
Button.CreateImageWithCenterTextButton = function (name, text, imageUrl) {
|
|
258
|
+
var result = new this(name);
|
|
259
|
+
// Adding image
|
|
260
|
+
var iconImage = new Image(name + "_icon", imageUrl);
|
|
261
|
+
iconImage.stretch = Image.STRETCH_FILL;
|
|
262
|
+
result.addControl(iconImage);
|
|
263
|
+
// Adding text
|
|
264
|
+
var textBlock = new TextBlock(name + "_button", text);
|
|
265
|
+
textBlock.textWrapping = true;
|
|
266
|
+
textBlock.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_CENTER;
|
|
267
|
+
result.addControl(textBlock);
|
|
268
|
+
// Store
|
|
269
|
+
result._image = iconImage;
|
|
270
|
+
result._textBlock = textBlock;
|
|
271
|
+
return result;
|
|
272
|
+
};
|
|
273
|
+
return Button;
|
|
274
|
+
}(Rectangle));
|
|
275
|
+
export { Button };
|
|
276
|
+
RegisterClass("BABYLON.GUI.Button", Button);
|
|
277
277
|
//# sourceMappingURL=button.js.map
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
import { Observable } from "@babylonjs/core/Misc/observable.js";
|
|
2
|
-
import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
|
|
3
|
-
import { Control } from "./control";
|
|
4
|
-
import { StackPanel } from "./stackPanel";
|
|
5
|
-
import { PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
|
|
6
|
-
import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
|
|
7
|
-
/**
|
|
8
|
-
* Class used to represent a 2D checkbox
|
|
9
|
-
*/
|
|
10
|
-
export declare class Checkbox extends Control {
|
|
11
|
-
name?: string | undefined;
|
|
12
|
-
private _isChecked;
|
|
13
|
-
private _background;
|
|
14
|
-
private _checkSizeRatio;
|
|
15
|
-
private _thickness;
|
|
16
|
-
/** Gets or sets border thickness */
|
|
17
|
-
get thickness(): number;
|
|
18
|
-
set thickness(value: number);
|
|
19
|
-
/**
|
|
20
|
-
* Observable raised when isChecked property changes
|
|
21
|
-
*/
|
|
22
|
-
onIsCheckedChangedObservable: Observable<boolean>;
|
|
23
|
-
/** Gets or sets a value indicating the ratio between overall size and check size */
|
|
24
|
-
get checkSizeRatio(): number;
|
|
25
|
-
set checkSizeRatio(value: number);
|
|
26
|
-
/** Gets or sets background color */
|
|
27
|
-
get background(): string;
|
|
28
|
-
set background(value: string);
|
|
29
|
-
/** Gets or sets a boolean indicating if the checkbox is checked or not */
|
|
30
|
-
get isChecked(): boolean;
|
|
31
|
-
set isChecked(value: boolean);
|
|
32
|
-
/**
|
|
33
|
-
* Creates a new CheckBox
|
|
34
|
-
* @param name defines the control name
|
|
35
|
-
*/
|
|
36
|
-
constructor(name?: string | undefined);
|
|
37
|
-
protected _getTypeName(): string;
|
|
38
|
-
/**
|
|
39
|
-
* @param context
|
|
40
|
-
* @hidden
|
|
41
|
-
*/
|
|
42
|
-
_draw(context: ICanvasRenderingContext): void;
|
|
43
|
-
/**
|
|
44
|
-
* @param target
|
|
45
|
-
* @param coordinates
|
|
46
|
-
* @param pointerId
|
|
47
|
-
* @param buttonIndex
|
|
48
|
-
* @param pi
|
|
49
|
-
* @hidden
|
|
50
|
-
*/
|
|
51
|
-
_onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean;
|
|
52
|
-
/**
|
|
53
|
-
* Utility function to easily create a checkbox with a header
|
|
54
|
-
* @param title defines the label to use for the header
|
|
55
|
-
* @param onValueChanged defines the callback to call when value changes
|
|
56
|
-
* @returns a StackPanel containing the checkbox and a textBlock
|
|
57
|
-
*/
|
|
58
|
-
static AddCheckBoxWithHeader(title: string, onValueChanged: (value: boolean) => void): StackPanel;
|
|
59
|
-
}
|
|
1
|
+
import { Observable } from "@babylonjs/core/Misc/observable.js";
|
|
2
|
+
import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
|
|
3
|
+
import { Control } from "./control";
|
|
4
|
+
import { StackPanel } from "./stackPanel";
|
|
5
|
+
import { PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
|
|
6
|
+
import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
|
|
7
|
+
/**
|
|
8
|
+
* Class used to represent a 2D checkbox
|
|
9
|
+
*/
|
|
10
|
+
export declare class Checkbox extends Control {
|
|
11
|
+
name?: string | undefined;
|
|
12
|
+
private _isChecked;
|
|
13
|
+
private _background;
|
|
14
|
+
private _checkSizeRatio;
|
|
15
|
+
private _thickness;
|
|
16
|
+
/** Gets or sets border thickness */
|
|
17
|
+
get thickness(): number;
|
|
18
|
+
set thickness(value: number);
|
|
19
|
+
/**
|
|
20
|
+
* Observable raised when isChecked property changes
|
|
21
|
+
*/
|
|
22
|
+
onIsCheckedChangedObservable: Observable<boolean>;
|
|
23
|
+
/** Gets or sets a value indicating the ratio between overall size and check size */
|
|
24
|
+
get checkSizeRatio(): number;
|
|
25
|
+
set checkSizeRatio(value: number);
|
|
26
|
+
/** Gets or sets background color */
|
|
27
|
+
get background(): string;
|
|
28
|
+
set background(value: string);
|
|
29
|
+
/** Gets or sets a boolean indicating if the checkbox is checked or not */
|
|
30
|
+
get isChecked(): boolean;
|
|
31
|
+
set isChecked(value: boolean);
|
|
32
|
+
/**
|
|
33
|
+
* Creates a new CheckBox
|
|
34
|
+
* @param name defines the control name
|
|
35
|
+
*/
|
|
36
|
+
constructor(name?: string | undefined);
|
|
37
|
+
protected _getTypeName(): string;
|
|
38
|
+
/**
|
|
39
|
+
* @param context
|
|
40
|
+
* @hidden
|
|
41
|
+
*/
|
|
42
|
+
_draw(context: ICanvasRenderingContext): void;
|
|
43
|
+
/**
|
|
44
|
+
* @param target
|
|
45
|
+
* @param coordinates
|
|
46
|
+
* @param pointerId
|
|
47
|
+
* @param buttonIndex
|
|
48
|
+
* @param pi
|
|
49
|
+
* @hidden
|
|
50
|
+
*/
|
|
51
|
+
_onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Utility function to easily create a checkbox with a header
|
|
54
|
+
* @param title defines the label to use for the header
|
|
55
|
+
* @param onValueChanged defines the callback to call when value changes
|
|
56
|
+
* @returns a StackPanel containing the checkbox and a textBlock
|
|
57
|
+
*/
|
|
58
|
+
static AddCheckBoxWithHeader(title: string, onValueChanged: (value: boolean) => void): StackPanel;
|
|
59
|
+
}
|