@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.
- 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/checkbox.js
CHANGED
|
@@ -1,189 +1,189 @@
|
|
|
1
|
-
import { __decorate, __extends } from "tslib";
|
|
2
|
-
import { Observable } from "@babylonjs/core/Misc/observable.js";
|
|
3
|
-
import { Control } from "./control
|
|
4
|
-
import { StackPanel } from "./stackPanel
|
|
5
|
-
import { TextBlock } from "./textBlock
|
|
6
|
-
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
7
|
-
import { serialize } from "@babylonjs/core/Misc/decorators.js";
|
|
8
|
-
/**
|
|
9
|
-
* Class used to represent a 2D checkbox
|
|
10
|
-
*/
|
|
11
|
-
var Checkbox = /** @class */ (function (_super) {
|
|
12
|
-
__extends(Checkbox, _super);
|
|
13
|
-
/**
|
|
14
|
-
* Creates a new CheckBox
|
|
15
|
-
* @param name defines the control name
|
|
16
|
-
*/
|
|
17
|
-
function Checkbox(name) {
|
|
18
|
-
var _this = _super.call(this, name) || this;
|
|
19
|
-
_this.name = name;
|
|
20
|
-
_this._isChecked = false;
|
|
21
|
-
_this._background = "black";
|
|
22
|
-
_this._checkSizeRatio = 0.8;
|
|
23
|
-
_this._thickness = 1;
|
|
24
|
-
/**
|
|
25
|
-
* Observable raised when isChecked property changes
|
|
26
|
-
*/
|
|
27
|
-
_this.onIsCheckedChangedObservable = new Observable();
|
|
28
|
-
_this.isPointerBlocker = true;
|
|
29
|
-
return _this;
|
|
30
|
-
}
|
|
31
|
-
Object.defineProperty(Checkbox.prototype, "thickness", {
|
|
32
|
-
/** Gets or sets border thickness */
|
|
33
|
-
get: function () {
|
|
34
|
-
return this._thickness;
|
|
35
|
-
},
|
|
36
|
-
set: function (value) {
|
|
37
|
-
if (this._thickness === value) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
this._thickness = value;
|
|
41
|
-
this._markAsDirty();
|
|
42
|
-
},
|
|
43
|
-
enumerable: false,
|
|
44
|
-
configurable: true
|
|
45
|
-
});
|
|
46
|
-
Object.defineProperty(Checkbox.prototype, "checkSizeRatio", {
|
|
47
|
-
/** Gets or sets a value indicating the ratio between overall size and check size */
|
|
48
|
-
get: function () {
|
|
49
|
-
return this._checkSizeRatio;
|
|
50
|
-
},
|
|
51
|
-
set: function (value) {
|
|
52
|
-
value = Math.max(Math.min(1, value), 0);
|
|
53
|
-
if (this._checkSizeRatio === value) {
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
this._checkSizeRatio = value;
|
|
57
|
-
this._markAsDirty();
|
|
58
|
-
},
|
|
59
|
-
enumerable: false,
|
|
60
|
-
configurable: true
|
|
61
|
-
});
|
|
62
|
-
Object.defineProperty(Checkbox.prototype, "background", {
|
|
63
|
-
/** Gets or sets background color */
|
|
64
|
-
get: function () {
|
|
65
|
-
return this._background;
|
|
66
|
-
},
|
|
67
|
-
set: function (value) {
|
|
68
|
-
if (this._background === value) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
this._background = value;
|
|
72
|
-
this._markAsDirty();
|
|
73
|
-
},
|
|
74
|
-
enumerable: false,
|
|
75
|
-
configurable: true
|
|
76
|
-
});
|
|
77
|
-
Object.defineProperty(Checkbox.prototype, "isChecked", {
|
|
78
|
-
/** Gets or sets a boolean indicating if the checkbox is checked or not */
|
|
79
|
-
get: function () {
|
|
80
|
-
return this._isChecked;
|
|
81
|
-
},
|
|
82
|
-
set: function (value) {
|
|
83
|
-
if (this._isChecked === value) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
this._isChecked = value;
|
|
87
|
-
this._markAsDirty();
|
|
88
|
-
this.onIsCheckedChangedObservable.notifyObservers(value);
|
|
89
|
-
},
|
|
90
|
-
enumerable: false,
|
|
91
|
-
configurable: true
|
|
92
|
-
});
|
|
93
|
-
Checkbox.prototype._getTypeName = function () {
|
|
94
|
-
return "Checkbox";
|
|
95
|
-
};
|
|
96
|
-
/**
|
|
97
|
-
* @param context
|
|
98
|
-
* @hidden
|
|
99
|
-
*/
|
|
100
|
-
Checkbox.prototype._draw = function (context) {
|
|
101
|
-
context.save();
|
|
102
|
-
this._applyStates(context);
|
|
103
|
-
var actualWidth = this._currentMeasure.width - this._thickness;
|
|
104
|
-
var actualHeight = this._currentMeasure.height - this._thickness;
|
|
105
|
-
if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
|
|
106
|
-
context.shadowColor = this.shadowColor;
|
|
107
|
-
context.shadowBlur = this.shadowBlur;
|
|
108
|
-
context.shadowOffsetX = this.shadowOffsetX;
|
|
109
|
-
context.shadowOffsetY = this.shadowOffsetY;
|
|
110
|
-
}
|
|
111
|
-
context.fillStyle = this._isEnabled ? this._background : this._disabledColor;
|
|
112
|
-
context.fillRect(this._currentMeasure.left + this._thickness / 2, this._currentMeasure.top + this._thickness / 2, actualWidth, actualHeight);
|
|
113
|
-
if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
|
|
114
|
-
context.shadowBlur = 0;
|
|
115
|
-
context.shadowOffsetX = 0;
|
|
116
|
-
context.shadowOffsetY = 0;
|
|
117
|
-
}
|
|
118
|
-
if (this._isChecked) {
|
|
119
|
-
context.fillStyle = this._isEnabled ? this.color : this._disabledColorItem;
|
|
120
|
-
var offsetWidth = actualWidth * this._checkSizeRatio;
|
|
121
|
-
var offsetHeight = actualHeight * this._checkSizeRatio;
|
|
122
|
-
context.fillRect(this._currentMeasure.left + this._thickness / 2 + (actualWidth - offsetWidth) / 2, this._currentMeasure.top + this._thickness / 2 + (actualHeight - offsetHeight) / 2, offsetWidth, offsetHeight);
|
|
123
|
-
}
|
|
124
|
-
context.strokeStyle = this.color;
|
|
125
|
-
context.lineWidth = this._thickness;
|
|
126
|
-
context.strokeRect(this._currentMeasure.left + this._thickness / 2, this._currentMeasure.top + this._thickness / 2, actualWidth, actualHeight);
|
|
127
|
-
context.restore();
|
|
128
|
-
};
|
|
129
|
-
// Events
|
|
130
|
-
/**
|
|
131
|
-
* @param target
|
|
132
|
-
* @param coordinates
|
|
133
|
-
* @param pointerId
|
|
134
|
-
* @param buttonIndex
|
|
135
|
-
* @param pi
|
|
136
|
-
* @hidden
|
|
137
|
-
*/
|
|
138
|
-
Checkbox.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) {
|
|
143
|
-
this.isChecked = !this.isChecked;
|
|
144
|
-
}
|
|
145
|
-
return true;
|
|
146
|
-
};
|
|
147
|
-
/**
|
|
148
|
-
* Utility function to easily create a checkbox with a header
|
|
149
|
-
* @param title defines the label to use for the header
|
|
150
|
-
* @param onValueChanged defines the callback to call when value changes
|
|
151
|
-
* @returns a StackPanel containing the checkbox and a textBlock
|
|
152
|
-
*/
|
|
153
|
-
Checkbox.AddCheckBoxWithHeader = function (title, onValueChanged) {
|
|
154
|
-
var panel = new StackPanel();
|
|
155
|
-
panel.isVertical = false;
|
|
156
|
-
panel.height = "30px";
|
|
157
|
-
var checkbox = new Checkbox();
|
|
158
|
-
checkbox.width = "20px";
|
|
159
|
-
checkbox.height = "20px";
|
|
160
|
-
checkbox.isChecked = true;
|
|
161
|
-
checkbox.color = "green";
|
|
162
|
-
checkbox.onIsCheckedChangedObservable.add(onValueChanged);
|
|
163
|
-
panel.addControl(checkbox);
|
|
164
|
-
var header = new TextBlock();
|
|
165
|
-
header.text = title;
|
|
166
|
-
header.width = "180px";
|
|
167
|
-
header.paddingLeft = "5px";
|
|
168
|
-
header.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;
|
|
169
|
-
header.color = "white";
|
|
170
|
-
panel.addControl(header);
|
|
171
|
-
return panel;
|
|
172
|
-
};
|
|
173
|
-
__decorate([
|
|
174
|
-
serialize()
|
|
175
|
-
], Checkbox.prototype, "thickness", null);
|
|
176
|
-
__decorate([
|
|
177
|
-
serialize()
|
|
178
|
-
], Checkbox.prototype, "checkSizeRatio", null);
|
|
179
|
-
__decorate([
|
|
180
|
-
serialize()
|
|
181
|
-
], Checkbox.prototype, "background", null);
|
|
182
|
-
__decorate([
|
|
183
|
-
serialize()
|
|
184
|
-
], Checkbox.prototype, "isChecked", null);
|
|
185
|
-
return Checkbox;
|
|
186
|
-
}(Control));
|
|
187
|
-
export { Checkbox };
|
|
188
|
-
RegisterClass("BABYLON.GUI.Checkbox", Checkbox);
|
|
1
|
+
import { __decorate, __extends } from "tslib";
|
|
2
|
+
import { Observable } from "@babylonjs/core/Misc/observable.js";
|
|
3
|
+
import { Control } from "./control";
|
|
4
|
+
import { StackPanel } from "./stackPanel";
|
|
5
|
+
import { TextBlock } from "./textBlock";
|
|
6
|
+
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
7
|
+
import { serialize } from "@babylonjs/core/Misc/decorators.js";
|
|
8
|
+
/**
|
|
9
|
+
* Class used to represent a 2D checkbox
|
|
10
|
+
*/
|
|
11
|
+
var Checkbox = /** @class */ (function (_super) {
|
|
12
|
+
__extends(Checkbox, _super);
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new CheckBox
|
|
15
|
+
* @param name defines the control name
|
|
16
|
+
*/
|
|
17
|
+
function Checkbox(name) {
|
|
18
|
+
var _this = _super.call(this, name) || this;
|
|
19
|
+
_this.name = name;
|
|
20
|
+
_this._isChecked = false;
|
|
21
|
+
_this._background = "black";
|
|
22
|
+
_this._checkSizeRatio = 0.8;
|
|
23
|
+
_this._thickness = 1;
|
|
24
|
+
/**
|
|
25
|
+
* Observable raised when isChecked property changes
|
|
26
|
+
*/
|
|
27
|
+
_this.onIsCheckedChangedObservable = new Observable();
|
|
28
|
+
_this.isPointerBlocker = true;
|
|
29
|
+
return _this;
|
|
30
|
+
}
|
|
31
|
+
Object.defineProperty(Checkbox.prototype, "thickness", {
|
|
32
|
+
/** Gets or sets border thickness */
|
|
33
|
+
get: function () {
|
|
34
|
+
return this._thickness;
|
|
35
|
+
},
|
|
36
|
+
set: function (value) {
|
|
37
|
+
if (this._thickness === value) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
this._thickness = value;
|
|
41
|
+
this._markAsDirty();
|
|
42
|
+
},
|
|
43
|
+
enumerable: false,
|
|
44
|
+
configurable: true
|
|
45
|
+
});
|
|
46
|
+
Object.defineProperty(Checkbox.prototype, "checkSizeRatio", {
|
|
47
|
+
/** Gets or sets a value indicating the ratio between overall size and check size */
|
|
48
|
+
get: function () {
|
|
49
|
+
return this._checkSizeRatio;
|
|
50
|
+
},
|
|
51
|
+
set: function (value) {
|
|
52
|
+
value = Math.max(Math.min(1, value), 0);
|
|
53
|
+
if (this._checkSizeRatio === value) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
this._checkSizeRatio = value;
|
|
57
|
+
this._markAsDirty();
|
|
58
|
+
},
|
|
59
|
+
enumerable: false,
|
|
60
|
+
configurable: true
|
|
61
|
+
});
|
|
62
|
+
Object.defineProperty(Checkbox.prototype, "background", {
|
|
63
|
+
/** Gets or sets background color */
|
|
64
|
+
get: function () {
|
|
65
|
+
return this._background;
|
|
66
|
+
},
|
|
67
|
+
set: function (value) {
|
|
68
|
+
if (this._background === value) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
this._background = value;
|
|
72
|
+
this._markAsDirty();
|
|
73
|
+
},
|
|
74
|
+
enumerable: false,
|
|
75
|
+
configurable: true
|
|
76
|
+
});
|
|
77
|
+
Object.defineProperty(Checkbox.prototype, "isChecked", {
|
|
78
|
+
/** Gets or sets a boolean indicating if the checkbox is checked or not */
|
|
79
|
+
get: function () {
|
|
80
|
+
return this._isChecked;
|
|
81
|
+
},
|
|
82
|
+
set: function (value) {
|
|
83
|
+
if (this._isChecked === value) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
this._isChecked = value;
|
|
87
|
+
this._markAsDirty();
|
|
88
|
+
this.onIsCheckedChangedObservable.notifyObservers(value);
|
|
89
|
+
},
|
|
90
|
+
enumerable: false,
|
|
91
|
+
configurable: true
|
|
92
|
+
});
|
|
93
|
+
Checkbox.prototype._getTypeName = function () {
|
|
94
|
+
return "Checkbox";
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* @param context
|
|
98
|
+
* @hidden
|
|
99
|
+
*/
|
|
100
|
+
Checkbox.prototype._draw = function (context) {
|
|
101
|
+
context.save();
|
|
102
|
+
this._applyStates(context);
|
|
103
|
+
var actualWidth = this._currentMeasure.width - this._thickness;
|
|
104
|
+
var actualHeight = this._currentMeasure.height - this._thickness;
|
|
105
|
+
if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
|
|
106
|
+
context.shadowColor = this.shadowColor;
|
|
107
|
+
context.shadowBlur = this.shadowBlur;
|
|
108
|
+
context.shadowOffsetX = this.shadowOffsetX;
|
|
109
|
+
context.shadowOffsetY = this.shadowOffsetY;
|
|
110
|
+
}
|
|
111
|
+
context.fillStyle = this._isEnabled ? this._background : this._disabledColor;
|
|
112
|
+
context.fillRect(this._currentMeasure.left + this._thickness / 2, this._currentMeasure.top + this._thickness / 2, actualWidth, actualHeight);
|
|
113
|
+
if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
|
|
114
|
+
context.shadowBlur = 0;
|
|
115
|
+
context.shadowOffsetX = 0;
|
|
116
|
+
context.shadowOffsetY = 0;
|
|
117
|
+
}
|
|
118
|
+
if (this._isChecked) {
|
|
119
|
+
context.fillStyle = this._isEnabled ? this.color : this._disabledColorItem;
|
|
120
|
+
var offsetWidth = actualWidth * this._checkSizeRatio;
|
|
121
|
+
var offsetHeight = actualHeight * this._checkSizeRatio;
|
|
122
|
+
context.fillRect(this._currentMeasure.left + this._thickness / 2 + (actualWidth - offsetWidth) / 2, this._currentMeasure.top + this._thickness / 2 + (actualHeight - offsetHeight) / 2, offsetWidth, offsetHeight);
|
|
123
|
+
}
|
|
124
|
+
context.strokeStyle = this.color;
|
|
125
|
+
context.lineWidth = this._thickness;
|
|
126
|
+
context.strokeRect(this._currentMeasure.left + this._thickness / 2, this._currentMeasure.top + this._thickness / 2, actualWidth, actualHeight);
|
|
127
|
+
context.restore();
|
|
128
|
+
};
|
|
129
|
+
// Events
|
|
130
|
+
/**
|
|
131
|
+
* @param target
|
|
132
|
+
* @param coordinates
|
|
133
|
+
* @param pointerId
|
|
134
|
+
* @param buttonIndex
|
|
135
|
+
* @param pi
|
|
136
|
+
* @hidden
|
|
137
|
+
*/
|
|
138
|
+
Checkbox.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) {
|
|
143
|
+
this.isChecked = !this.isChecked;
|
|
144
|
+
}
|
|
145
|
+
return true;
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Utility function to easily create a checkbox with a header
|
|
149
|
+
* @param title defines the label to use for the header
|
|
150
|
+
* @param onValueChanged defines the callback to call when value changes
|
|
151
|
+
* @returns a StackPanel containing the checkbox and a textBlock
|
|
152
|
+
*/
|
|
153
|
+
Checkbox.AddCheckBoxWithHeader = function (title, onValueChanged) {
|
|
154
|
+
var panel = new StackPanel();
|
|
155
|
+
panel.isVertical = false;
|
|
156
|
+
panel.height = "30px";
|
|
157
|
+
var checkbox = new Checkbox();
|
|
158
|
+
checkbox.width = "20px";
|
|
159
|
+
checkbox.height = "20px";
|
|
160
|
+
checkbox.isChecked = true;
|
|
161
|
+
checkbox.color = "green";
|
|
162
|
+
checkbox.onIsCheckedChangedObservable.add(onValueChanged);
|
|
163
|
+
panel.addControl(checkbox);
|
|
164
|
+
var header = new TextBlock();
|
|
165
|
+
header.text = title;
|
|
166
|
+
header.width = "180px";
|
|
167
|
+
header.paddingLeft = "5px";
|
|
168
|
+
header.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;
|
|
169
|
+
header.color = "white";
|
|
170
|
+
panel.addControl(header);
|
|
171
|
+
return panel;
|
|
172
|
+
};
|
|
173
|
+
__decorate([
|
|
174
|
+
serialize()
|
|
175
|
+
], Checkbox.prototype, "thickness", null);
|
|
176
|
+
__decorate([
|
|
177
|
+
serialize()
|
|
178
|
+
], Checkbox.prototype, "checkSizeRatio", null);
|
|
179
|
+
__decorate([
|
|
180
|
+
serialize()
|
|
181
|
+
], Checkbox.prototype, "background", null);
|
|
182
|
+
__decorate([
|
|
183
|
+
serialize()
|
|
184
|
+
], Checkbox.prototype, "isChecked", null);
|
|
185
|
+
return Checkbox;
|
|
186
|
+
}(Control));
|
|
187
|
+
export { Checkbox };
|
|
188
|
+
RegisterClass("BABYLON.GUI.Checkbox", Checkbox);
|
|
189
189
|
//# sourceMappingURL=checkbox.js.map
|
|
@@ -1,103 +1,103 @@
|
|
|
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 { Measure } from "../measure";
|
|
5
|
-
import { AdvancedDynamicTexture } from "../advancedDynamicTexture";
|
|
6
|
-
import { Color3 } from "@babylonjs/core/Maths/math.color.js";
|
|
7
|
-
import { PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
|
|
8
|
-
import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
|
|
9
|
-
/** Class used to create color pickers */
|
|
10
|
-
export declare class ColorPicker extends Control {
|
|
11
|
-
name?: string | undefined;
|
|
12
|
-
private static _Epsilon;
|
|
13
|
-
private _colorWheelCanvas;
|
|
14
|
-
private _value;
|
|
15
|
-
private _tmpColor;
|
|
16
|
-
private _pointerStartedOnSquare;
|
|
17
|
-
private _pointerStartedOnWheel;
|
|
18
|
-
private _squareLeft;
|
|
19
|
-
private _squareTop;
|
|
20
|
-
private _squareSize;
|
|
21
|
-
private _h;
|
|
22
|
-
private _s;
|
|
23
|
-
private _v;
|
|
24
|
-
private _lastPointerDownId;
|
|
25
|
-
/**
|
|
26
|
-
* Observable raised when the value changes
|
|
27
|
-
*/
|
|
28
|
-
onValueChangedObservable: Observable<Color3>;
|
|
29
|
-
/** Gets or sets the color of the color picker */
|
|
30
|
-
get value(): Color3;
|
|
31
|
-
set value(value: Color3);
|
|
32
|
-
/**
|
|
33
|
-
* Gets or sets control width
|
|
34
|
-
* @see https://doc.babylonjs.com/how_to/gui#position-and-size
|
|
35
|
-
*/
|
|
36
|
-
get width(): string | number;
|
|
37
|
-
set width(value: string | number);
|
|
38
|
-
/**
|
|
39
|
-
* Gets or sets control height
|
|
40
|
-
* @see https://doc.babylonjs.com/how_to/gui#position-and-size
|
|
41
|
-
*/
|
|
42
|
-
get height(): string | number;
|
|
43
|
-
/** Gets or sets control height */
|
|
44
|
-
set height(value: string | number);
|
|
45
|
-
/** Gets or sets control size */
|
|
46
|
-
get size(): string | number;
|
|
47
|
-
set size(value: string | number);
|
|
48
|
-
/**
|
|
49
|
-
* Creates a new ColorPicker
|
|
50
|
-
* @param name defines the control name
|
|
51
|
-
*/
|
|
52
|
-
constructor(name?: string | undefined);
|
|
53
|
-
protected _getTypeName(): string;
|
|
54
|
-
/**
|
|
55
|
-
* @param parentMeasure
|
|
56
|
-
* @hidden
|
|
57
|
-
*/
|
|
58
|
-
protected _preMeasure(parentMeasure: Measure): void;
|
|
59
|
-
private _updateSquareProps;
|
|
60
|
-
private _drawGradientSquare;
|
|
61
|
-
private _drawCircle;
|
|
62
|
-
private _createColorWheelCanvas;
|
|
63
|
-
/**
|
|
64
|
-
* @param context
|
|
65
|
-
* @hidden
|
|
66
|
-
*/
|
|
67
|
-
_draw(context: ICanvasRenderingContext): void;
|
|
68
|
-
private _pointerIsDown;
|
|
69
|
-
private _updateValueFromPointer;
|
|
70
|
-
private _isPointOnSquare;
|
|
71
|
-
private _isPointOnWheel;
|
|
72
|
-
_onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean;
|
|
73
|
-
_onPointerMove(target: Control, coordinates: Vector2, pointerId: number, pi: PointerInfoBase): void;
|
|
74
|
-
_onPointerUp(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, notifyClick: boolean, pi: PointerInfoBase): void;
|
|
75
|
-
_onCanvasBlur(): void;
|
|
76
|
-
/**
|
|
77
|
-
* This function expands the color picker by creating a color picker dialog with manual
|
|
78
|
-
* color value input and the ability to save colors into an array to be used later in
|
|
79
|
-
* subsequent launches of the dialogue.
|
|
80
|
-
* @param advancedTexture defines the AdvancedDynamicTexture the dialog is assigned to
|
|
81
|
-
* @param options defines size for dialog and options for saved colors. Also accepts last color picked as hex string and saved colors array as hex strings.
|
|
82
|
-
* @param options.pickerWidth
|
|
83
|
-
* @param options.pickerHeight
|
|
84
|
-
* @param options.headerHeight
|
|
85
|
-
* @param options.lastColor
|
|
86
|
-
* @param options.swatchLimit
|
|
87
|
-
* @param options.numSwatchesPerLine
|
|
88
|
-
* @param options.savedColors
|
|
89
|
-
* @returns picked color as a hex string and the saved colors array as hex strings.
|
|
90
|
-
*/
|
|
91
|
-
static ShowPickerDialogAsync(advancedTexture: AdvancedDynamicTexture, options: {
|
|
92
|
-
pickerWidth?: string;
|
|
93
|
-
pickerHeight?: string;
|
|
94
|
-
headerHeight?: string;
|
|
95
|
-
lastColor?: string;
|
|
96
|
-
swatchLimit?: number;
|
|
97
|
-
numSwatchesPerLine?: number;
|
|
98
|
-
savedColors?: Array<string>;
|
|
99
|
-
}): Promise<{
|
|
100
|
-
savedColors?: string[];
|
|
101
|
-
pickedColor: string;
|
|
102
|
-
}>;
|
|
103
|
-
}
|
|
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 { Measure } from "../measure";
|
|
5
|
+
import { AdvancedDynamicTexture } from "../advancedDynamicTexture";
|
|
6
|
+
import { Color3 } from "@babylonjs/core/Maths/math.color.js";
|
|
7
|
+
import { PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
|
|
8
|
+
import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
|
|
9
|
+
/** Class used to create color pickers */
|
|
10
|
+
export declare class ColorPicker extends Control {
|
|
11
|
+
name?: string | undefined;
|
|
12
|
+
private static _Epsilon;
|
|
13
|
+
private _colorWheelCanvas;
|
|
14
|
+
private _value;
|
|
15
|
+
private _tmpColor;
|
|
16
|
+
private _pointerStartedOnSquare;
|
|
17
|
+
private _pointerStartedOnWheel;
|
|
18
|
+
private _squareLeft;
|
|
19
|
+
private _squareTop;
|
|
20
|
+
private _squareSize;
|
|
21
|
+
private _h;
|
|
22
|
+
private _s;
|
|
23
|
+
private _v;
|
|
24
|
+
private _lastPointerDownId;
|
|
25
|
+
/**
|
|
26
|
+
* Observable raised when the value changes
|
|
27
|
+
*/
|
|
28
|
+
onValueChangedObservable: Observable<Color3>;
|
|
29
|
+
/** Gets or sets the color of the color picker */
|
|
30
|
+
get value(): Color3;
|
|
31
|
+
set value(value: Color3);
|
|
32
|
+
/**
|
|
33
|
+
* Gets or sets control width
|
|
34
|
+
* @see https://doc.babylonjs.com/how_to/gui#position-and-size
|
|
35
|
+
*/
|
|
36
|
+
get width(): string | number;
|
|
37
|
+
set width(value: string | number);
|
|
38
|
+
/**
|
|
39
|
+
* Gets or sets control height
|
|
40
|
+
* @see https://doc.babylonjs.com/how_to/gui#position-and-size
|
|
41
|
+
*/
|
|
42
|
+
get height(): string | number;
|
|
43
|
+
/** Gets or sets control height */
|
|
44
|
+
set height(value: string | number);
|
|
45
|
+
/** Gets or sets control size */
|
|
46
|
+
get size(): string | number;
|
|
47
|
+
set size(value: string | number);
|
|
48
|
+
/**
|
|
49
|
+
* Creates a new ColorPicker
|
|
50
|
+
* @param name defines the control name
|
|
51
|
+
*/
|
|
52
|
+
constructor(name?: string | undefined);
|
|
53
|
+
protected _getTypeName(): string;
|
|
54
|
+
/**
|
|
55
|
+
* @param parentMeasure
|
|
56
|
+
* @hidden
|
|
57
|
+
*/
|
|
58
|
+
protected _preMeasure(parentMeasure: Measure): void;
|
|
59
|
+
private _updateSquareProps;
|
|
60
|
+
private _drawGradientSquare;
|
|
61
|
+
private _drawCircle;
|
|
62
|
+
private _createColorWheelCanvas;
|
|
63
|
+
/**
|
|
64
|
+
* @param context
|
|
65
|
+
* @hidden
|
|
66
|
+
*/
|
|
67
|
+
_draw(context: ICanvasRenderingContext): void;
|
|
68
|
+
private _pointerIsDown;
|
|
69
|
+
private _updateValueFromPointer;
|
|
70
|
+
private _isPointOnSquare;
|
|
71
|
+
private _isPointOnWheel;
|
|
72
|
+
_onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean;
|
|
73
|
+
_onPointerMove(target: Control, coordinates: Vector2, pointerId: number, pi: PointerInfoBase): void;
|
|
74
|
+
_onPointerUp(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, notifyClick: boolean, pi: PointerInfoBase): void;
|
|
75
|
+
_onCanvasBlur(): void;
|
|
76
|
+
/**
|
|
77
|
+
* This function expands the color picker by creating a color picker dialog with manual
|
|
78
|
+
* color value input and the ability to save colors into an array to be used later in
|
|
79
|
+
* subsequent launches of the dialogue.
|
|
80
|
+
* @param advancedTexture defines the AdvancedDynamicTexture the dialog is assigned to
|
|
81
|
+
* @param options defines size for dialog and options for saved colors. Also accepts last color picked as hex string and saved colors array as hex strings.
|
|
82
|
+
* @param options.pickerWidth
|
|
83
|
+
* @param options.pickerHeight
|
|
84
|
+
* @param options.headerHeight
|
|
85
|
+
* @param options.lastColor
|
|
86
|
+
* @param options.swatchLimit
|
|
87
|
+
* @param options.numSwatchesPerLine
|
|
88
|
+
* @param options.savedColors
|
|
89
|
+
* @returns picked color as a hex string and the saved colors array as hex strings.
|
|
90
|
+
*/
|
|
91
|
+
static ShowPickerDialogAsync(advancedTexture: AdvancedDynamicTexture, options: {
|
|
92
|
+
pickerWidth?: string;
|
|
93
|
+
pickerHeight?: string;
|
|
94
|
+
headerHeight?: string;
|
|
95
|
+
lastColor?: string;
|
|
96
|
+
swatchLimit?: number;
|
|
97
|
+
numSwatchesPerLine?: number;
|
|
98
|
+
savedColors?: Array<string>;
|
|
99
|
+
}): Promise<{
|
|
100
|
+
savedColors?: string[];
|
|
101
|
+
pickedColor: string;
|
|
102
|
+
}>;
|
|
103
|
+
}
|