@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
|
@@ -1,257 +1,257 @@
|
|
|
1
|
-
import { __extends } from "tslib";
|
|
2
|
-
import { Observable } from "@babylonjs/core/Misc/observable.js";
|
|
3
|
-
import { StackPanel } from "./stackPanel
|
|
4
|
-
import { Button } from "./button
|
|
5
|
-
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
6
|
-
/**
|
|
7
|
-
* Class used to store key control properties
|
|
8
|
-
*/
|
|
9
|
-
var KeyPropertySet = /** @class */ (function () {
|
|
10
|
-
function KeyPropertySet() {
|
|
11
|
-
}
|
|
12
|
-
return KeyPropertySet;
|
|
13
|
-
}());
|
|
14
|
-
export { KeyPropertySet };
|
|
15
|
-
/**
|
|
16
|
-
* Class used to create virtual keyboard
|
|
17
|
-
*/
|
|
18
|
-
var VirtualKeyboard = /** @class */ (function (_super) {
|
|
19
|
-
__extends(VirtualKeyboard, _super);
|
|
20
|
-
function VirtualKeyboard() {
|
|
21
|
-
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
22
|
-
/** Observable raised when a key is pressed */
|
|
23
|
-
_this.onKeyPressObservable = new Observable();
|
|
24
|
-
/** Gets or sets default key button width */
|
|
25
|
-
_this.defaultButtonWidth = "40px";
|
|
26
|
-
/** Gets or sets default key button height */
|
|
27
|
-
_this.defaultButtonHeight = "40px";
|
|
28
|
-
/** Gets or sets default key button left padding */
|
|
29
|
-
_this.defaultButtonPaddingLeft = "2px";
|
|
30
|
-
/** Gets or sets default key button right padding */
|
|
31
|
-
_this.defaultButtonPaddingRight = "2px";
|
|
32
|
-
/** Gets or sets default key button top padding */
|
|
33
|
-
_this.defaultButtonPaddingTop = "2px";
|
|
34
|
-
/** Gets or sets default key button bottom padding */
|
|
35
|
-
_this.defaultButtonPaddingBottom = "2px";
|
|
36
|
-
/** Gets or sets default key button foreground color */
|
|
37
|
-
_this.defaultButtonColor = "#DDD";
|
|
38
|
-
/** Gets or sets default key button background color */
|
|
39
|
-
_this.defaultButtonBackground = "#070707";
|
|
40
|
-
/** Gets or sets shift button foreground color */
|
|
41
|
-
_this.shiftButtonColor = "#7799FF";
|
|
42
|
-
/** Gets or sets shift button thickness*/
|
|
43
|
-
_this.selectedShiftThickness = 1;
|
|
44
|
-
/** Gets shift key state */
|
|
45
|
-
_this.shiftState = 0;
|
|
46
|
-
_this._currentlyConnectedInputText = null;
|
|
47
|
-
_this._connectedInputTexts = [];
|
|
48
|
-
_this._onKeyPressObserver = null;
|
|
49
|
-
return _this;
|
|
50
|
-
}
|
|
51
|
-
VirtualKeyboard.prototype._getTypeName = function () {
|
|
52
|
-
return "VirtualKeyboard";
|
|
53
|
-
};
|
|
54
|
-
VirtualKeyboard.prototype._createKey = function (key, propertySet) {
|
|
55
|
-
var _this = this;
|
|
56
|
-
var button = Button.CreateSimpleButton(key, key);
|
|
57
|
-
button.width = propertySet && propertySet.width ? propertySet.width : this.defaultButtonWidth;
|
|
58
|
-
button.height = propertySet && propertySet.height ? propertySet.height : this.defaultButtonHeight;
|
|
59
|
-
button.color = propertySet && propertySet.color ? propertySet.color : this.defaultButtonColor;
|
|
60
|
-
button.background = propertySet && propertySet.background ? propertySet.background : this.defaultButtonBackground;
|
|
61
|
-
button.paddingLeft = propertySet && propertySet.paddingLeft ? propertySet.paddingLeft : this.defaultButtonPaddingLeft;
|
|
62
|
-
button.paddingRight = propertySet && propertySet.paddingRight ? propertySet.paddingRight : this.defaultButtonPaddingRight;
|
|
63
|
-
button.paddingTop = propertySet && propertySet.paddingTop ? propertySet.paddingTop : this.defaultButtonPaddingTop;
|
|
64
|
-
button.paddingBottom = propertySet && propertySet.paddingBottom ? propertySet.paddingBottom : this.defaultButtonPaddingBottom;
|
|
65
|
-
button.thickness = 0;
|
|
66
|
-
button.isFocusInvisible = true;
|
|
67
|
-
button.shadowColor = this.shadowColor;
|
|
68
|
-
button.shadowBlur = this.shadowBlur;
|
|
69
|
-
button.shadowOffsetX = this.shadowOffsetX;
|
|
70
|
-
button.shadowOffsetY = this.shadowOffsetY;
|
|
71
|
-
button.onPointerUpObservable.add(function () {
|
|
72
|
-
_this.onKeyPressObservable.notifyObservers(key);
|
|
73
|
-
});
|
|
74
|
-
return button;
|
|
75
|
-
};
|
|
76
|
-
/**
|
|
77
|
-
* Adds a new row of keys
|
|
78
|
-
* @param keys defines the list of keys to add
|
|
79
|
-
* @param propertySets defines the associated property sets
|
|
80
|
-
*/
|
|
81
|
-
VirtualKeyboard.prototype.addKeysRow = function (keys, propertySets) {
|
|
82
|
-
var panel = new StackPanel();
|
|
83
|
-
panel.isVertical = false;
|
|
84
|
-
panel.isFocusInvisible = true;
|
|
85
|
-
var maxKey = null;
|
|
86
|
-
for (var i = 0; i < keys.length; i++) {
|
|
87
|
-
var properties = null;
|
|
88
|
-
if (propertySets && propertySets.length === keys.length) {
|
|
89
|
-
properties = propertySets[i];
|
|
90
|
-
}
|
|
91
|
-
var key = this._createKey(keys[i], properties);
|
|
92
|
-
if (!maxKey || key.heightInPixels > maxKey.heightInPixels) {
|
|
93
|
-
maxKey = key;
|
|
94
|
-
}
|
|
95
|
-
panel.addControl(key);
|
|
96
|
-
}
|
|
97
|
-
panel.height = maxKey ? maxKey.height : this.defaultButtonHeight;
|
|
98
|
-
this.addControl(panel);
|
|
99
|
-
};
|
|
100
|
-
/**
|
|
101
|
-
* Set the shift key to a specific state
|
|
102
|
-
* @param shiftState defines the new shift state
|
|
103
|
-
*/
|
|
104
|
-
VirtualKeyboard.prototype.applyShiftState = function (shiftState) {
|
|
105
|
-
if (!this.children) {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
for (var i = 0; i < this.children.length; i++) {
|
|
109
|
-
var row = this.children[i];
|
|
110
|
-
if (!row || !row.children) {
|
|
111
|
-
continue;
|
|
112
|
-
}
|
|
113
|
-
var rowContainer = row;
|
|
114
|
-
for (var j = 0; j < rowContainer.children.length; j++) {
|
|
115
|
-
var button = rowContainer.children[j];
|
|
116
|
-
if (!button || !button.children[0]) {
|
|
117
|
-
continue;
|
|
118
|
-
}
|
|
119
|
-
var button_tblock = button.children[0];
|
|
120
|
-
if (button_tblock.text === "\u21E7") {
|
|
121
|
-
button.color = shiftState ? this.shiftButtonColor : this.defaultButtonColor;
|
|
122
|
-
button.thickness = shiftState > 1 ? this.selectedShiftThickness : 0;
|
|
123
|
-
}
|
|
124
|
-
button_tblock.text = shiftState > 0 ? button_tblock.text.toUpperCase() : button_tblock.text.toLowerCase();
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
Object.defineProperty(VirtualKeyboard.prototype, "connectedInputText", {
|
|
129
|
-
/** Gets the input text control currently attached to the keyboard */
|
|
130
|
-
get: function () {
|
|
131
|
-
return this._currentlyConnectedInputText;
|
|
132
|
-
},
|
|
133
|
-
enumerable: false,
|
|
134
|
-
configurable: true
|
|
135
|
-
});
|
|
136
|
-
/**
|
|
137
|
-
* Connects the keyboard with an input text control
|
|
138
|
-
*
|
|
139
|
-
* @param input defines the target control
|
|
140
|
-
*/
|
|
141
|
-
VirtualKeyboard.prototype.connect = function (input) {
|
|
142
|
-
var _this = this;
|
|
143
|
-
var inputTextAlreadyConnected = this._connectedInputTexts.some(function (a) { return a.input === input; });
|
|
144
|
-
if (inputTextAlreadyConnected) {
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
if (this._onKeyPressObserver === null) {
|
|
148
|
-
this._onKeyPressObserver = this.onKeyPressObservable.add(function (key) {
|
|
149
|
-
if (!_this._currentlyConnectedInputText) {
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
_this._currentlyConnectedInputText._host.focusedControl = _this._currentlyConnectedInputText;
|
|
153
|
-
switch (key) {
|
|
154
|
-
case "\u21E7":
|
|
155
|
-
_this.shiftState++;
|
|
156
|
-
if (_this.shiftState > 2) {
|
|
157
|
-
_this.shiftState = 0;
|
|
158
|
-
}
|
|
159
|
-
_this.applyShiftState(_this.shiftState);
|
|
160
|
-
return;
|
|
161
|
-
case "\u2190":
|
|
162
|
-
_this._currentlyConnectedInputText.processKey(8);
|
|
163
|
-
return;
|
|
164
|
-
case "\u21B5":
|
|
165
|
-
_this._currentlyConnectedInputText.processKey(13);
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
_this._currentlyConnectedInputText.processKey(-1, _this.shiftState ? key.toUpperCase() : key);
|
|
169
|
-
if (_this.shiftState === 1) {
|
|
170
|
-
_this.shiftState = 0;
|
|
171
|
-
_this.applyShiftState(_this.shiftState);
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
this.isVisible = false;
|
|
176
|
-
this._currentlyConnectedInputText = input;
|
|
177
|
-
input._connectedVirtualKeyboard = this;
|
|
178
|
-
// Events hooking
|
|
179
|
-
var onFocusObserver = input.onFocusObservable.add(function () {
|
|
180
|
-
_this._currentlyConnectedInputText = input;
|
|
181
|
-
input._connectedVirtualKeyboard = _this;
|
|
182
|
-
_this.isVisible = true;
|
|
183
|
-
});
|
|
184
|
-
var onBlurObserver = input.onBlurObservable.add(function () {
|
|
185
|
-
input._connectedVirtualKeyboard = null;
|
|
186
|
-
_this._currentlyConnectedInputText = null;
|
|
187
|
-
_this.isVisible = false;
|
|
188
|
-
});
|
|
189
|
-
this._connectedInputTexts.push({
|
|
190
|
-
input: input,
|
|
191
|
-
onBlurObserver: onBlurObserver,
|
|
192
|
-
onFocusObserver: onFocusObserver,
|
|
193
|
-
});
|
|
194
|
-
};
|
|
195
|
-
/**
|
|
196
|
-
* Disconnects the keyboard from connected InputText controls
|
|
197
|
-
*
|
|
198
|
-
* @param input optionally defines a target control, otherwise all are disconnected
|
|
199
|
-
*/
|
|
200
|
-
VirtualKeyboard.prototype.disconnect = function (input) {
|
|
201
|
-
var _this = this;
|
|
202
|
-
if (input) {
|
|
203
|
-
// .find not available on IE
|
|
204
|
-
var filtered = this._connectedInputTexts.filter(function (a) { return a.input === input; });
|
|
205
|
-
if (filtered.length === 1) {
|
|
206
|
-
this._removeConnectedInputObservables(filtered[0]);
|
|
207
|
-
this._connectedInputTexts = this._connectedInputTexts.filter(function (a) { return a.input !== input; });
|
|
208
|
-
if (this._currentlyConnectedInputText === input) {
|
|
209
|
-
this._currentlyConnectedInputText = null;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
else {
|
|
214
|
-
this._connectedInputTexts.forEach(function (connectedInputText) {
|
|
215
|
-
_this._removeConnectedInputObservables(connectedInputText);
|
|
216
|
-
});
|
|
217
|
-
this._connectedInputTexts = [];
|
|
218
|
-
}
|
|
219
|
-
if (this._connectedInputTexts.length === 0) {
|
|
220
|
-
this._currentlyConnectedInputText = null;
|
|
221
|
-
this.onKeyPressObservable.remove(this._onKeyPressObserver);
|
|
222
|
-
this._onKeyPressObserver = null;
|
|
223
|
-
}
|
|
224
|
-
};
|
|
225
|
-
VirtualKeyboard.prototype._removeConnectedInputObservables = function (connectedInputText) {
|
|
226
|
-
connectedInputText.input._connectedVirtualKeyboard = null;
|
|
227
|
-
connectedInputText.input.onFocusObservable.remove(connectedInputText.onFocusObserver);
|
|
228
|
-
connectedInputText.input.onBlurObservable.remove(connectedInputText.onBlurObserver);
|
|
229
|
-
};
|
|
230
|
-
/**
|
|
231
|
-
* Release all resources
|
|
232
|
-
*/
|
|
233
|
-
VirtualKeyboard.prototype.dispose = function () {
|
|
234
|
-
_super.prototype.dispose.call(this);
|
|
235
|
-
this.disconnect();
|
|
236
|
-
};
|
|
237
|
-
// Statics
|
|
238
|
-
/**
|
|
239
|
-
* Creates a new keyboard using a default layout
|
|
240
|
-
*
|
|
241
|
-
* @param name defines control name
|
|
242
|
-
* @returns a new VirtualKeyboard
|
|
243
|
-
*/
|
|
244
|
-
VirtualKeyboard.CreateDefaultLayout = function (name) {
|
|
245
|
-
var returnValue = new VirtualKeyboard(name);
|
|
246
|
-
returnValue.addKeysRow(["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "\u2190"]);
|
|
247
|
-
returnValue.addKeysRow(["q", "w", "e", "r", "t", "y", "u", "i", "o", "p"]);
|
|
248
|
-
returnValue.addKeysRow(["a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'", "\u21B5"]);
|
|
249
|
-
returnValue.addKeysRow(["\u21E7", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/"]);
|
|
250
|
-
returnValue.addKeysRow([" "], [{ width: "200px" }]);
|
|
251
|
-
return returnValue;
|
|
252
|
-
};
|
|
253
|
-
return VirtualKeyboard;
|
|
254
|
-
}(StackPanel));
|
|
255
|
-
export { VirtualKeyboard };
|
|
256
|
-
RegisterClass("BABYLON.GUI.VirtualKeyboard", VirtualKeyboard);
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { Observable } from "@babylonjs/core/Misc/observable.js";
|
|
3
|
+
import { StackPanel } from "./stackPanel";
|
|
4
|
+
import { Button } from "./button";
|
|
5
|
+
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
6
|
+
/**
|
|
7
|
+
* Class used to store key control properties
|
|
8
|
+
*/
|
|
9
|
+
var KeyPropertySet = /** @class */ (function () {
|
|
10
|
+
function KeyPropertySet() {
|
|
11
|
+
}
|
|
12
|
+
return KeyPropertySet;
|
|
13
|
+
}());
|
|
14
|
+
export { KeyPropertySet };
|
|
15
|
+
/**
|
|
16
|
+
* Class used to create virtual keyboard
|
|
17
|
+
*/
|
|
18
|
+
var VirtualKeyboard = /** @class */ (function (_super) {
|
|
19
|
+
__extends(VirtualKeyboard, _super);
|
|
20
|
+
function VirtualKeyboard() {
|
|
21
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
22
|
+
/** Observable raised when a key is pressed */
|
|
23
|
+
_this.onKeyPressObservable = new Observable();
|
|
24
|
+
/** Gets or sets default key button width */
|
|
25
|
+
_this.defaultButtonWidth = "40px";
|
|
26
|
+
/** Gets or sets default key button height */
|
|
27
|
+
_this.defaultButtonHeight = "40px";
|
|
28
|
+
/** Gets or sets default key button left padding */
|
|
29
|
+
_this.defaultButtonPaddingLeft = "2px";
|
|
30
|
+
/** Gets or sets default key button right padding */
|
|
31
|
+
_this.defaultButtonPaddingRight = "2px";
|
|
32
|
+
/** Gets or sets default key button top padding */
|
|
33
|
+
_this.defaultButtonPaddingTop = "2px";
|
|
34
|
+
/** Gets or sets default key button bottom padding */
|
|
35
|
+
_this.defaultButtonPaddingBottom = "2px";
|
|
36
|
+
/** Gets or sets default key button foreground color */
|
|
37
|
+
_this.defaultButtonColor = "#DDD";
|
|
38
|
+
/** Gets or sets default key button background color */
|
|
39
|
+
_this.defaultButtonBackground = "#070707";
|
|
40
|
+
/** Gets or sets shift button foreground color */
|
|
41
|
+
_this.shiftButtonColor = "#7799FF";
|
|
42
|
+
/** Gets or sets shift button thickness*/
|
|
43
|
+
_this.selectedShiftThickness = 1;
|
|
44
|
+
/** Gets shift key state */
|
|
45
|
+
_this.shiftState = 0;
|
|
46
|
+
_this._currentlyConnectedInputText = null;
|
|
47
|
+
_this._connectedInputTexts = [];
|
|
48
|
+
_this._onKeyPressObserver = null;
|
|
49
|
+
return _this;
|
|
50
|
+
}
|
|
51
|
+
VirtualKeyboard.prototype._getTypeName = function () {
|
|
52
|
+
return "VirtualKeyboard";
|
|
53
|
+
};
|
|
54
|
+
VirtualKeyboard.prototype._createKey = function (key, propertySet) {
|
|
55
|
+
var _this = this;
|
|
56
|
+
var button = Button.CreateSimpleButton(key, key);
|
|
57
|
+
button.width = propertySet && propertySet.width ? propertySet.width : this.defaultButtonWidth;
|
|
58
|
+
button.height = propertySet && propertySet.height ? propertySet.height : this.defaultButtonHeight;
|
|
59
|
+
button.color = propertySet && propertySet.color ? propertySet.color : this.defaultButtonColor;
|
|
60
|
+
button.background = propertySet && propertySet.background ? propertySet.background : this.defaultButtonBackground;
|
|
61
|
+
button.paddingLeft = propertySet && propertySet.paddingLeft ? propertySet.paddingLeft : this.defaultButtonPaddingLeft;
|
|
62
|
+
button.paddingRight = propertySet && propertySet.paddingRight ? propertySet.paddingRight : this.defaultButtonPaddingRight;
|
|
63
|
+
button.paddingTop = propertySet && propertySet.paddingTop ? propertySet.paddingTop : this.defaultButtonPaddingTop;
|
|
64
|
+
button.paddingBottom = propertySet && propertySet.paddingBottom ? propertySet.paddingBottom : this.defaultButtonPaddingBottom;
|
|
65
|
+
button.thickness = 0;
|
|
66
|
+
button.isFocusInvisible = true;
|
|
67
|
+
button.shadowColor = this.shadowColor;
|
|
68
|
+
button.shadowBlur = this.shadowBlur;
|
|
69
|
+
button.shadowOffsetX = this.shadowOffsetX;
|
|
70
|
+
button.shadowOffsetY = this.shadowOffsetY;
|
|
71
|
+
button.onPointerUpObservable.add(function () {
|
|
72
|
+
_this.onKeyPressObservable.notifyObservers(key);
|
|
73
|
+
});
|
|
74
|
+
return button;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Adds a new row of keys
|
|
78
|
+
* @param keys defines the list of keys to add
|
|
79
|
+
* @param propertySets defines the associated property sets
|
|
80
|
+
*/
|
|
81
|
+
VirtualKeyboard.prototype.addKeysRow = function (keys, propertySets) {
|
|
82
|
+
var panel = new StackPanel();
|
|
83
|
+
panel.isVertical = false;
|
|
84
|
+
panel.isFocusInvisible = true;
|
|
85
|
+
var maxKey = null;
|
|
86
|
+
for (var i = 0; i < keys.length; i++) {
|
|
87
|
+
var properties = null;
|
|
88
|
+
if (propertySets && propertySets.length === keys.length) {
|
|
89
|
+
properties = propertySets[i];
|
|
90
|
+
}
|
|
91
|
+
var key = this._createKey(keys[i], properties);
|
|
92
|
+
if (!maxKey || key.heightInPixels > maxKey.heightInPixels) {
|
|
93
|
+
maxKey = key;
|
|
94
|
+
}
|
|
95
|
+
panel.addControl(key);
|
|
96
|
+
}
|
|
97
|
+
panel.height = maxKey ? maxKey.height : this.defaultButtonHeight;
|
|
98
|
+
this.addControl(panel);
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Set the shift key to a specific state
|
|
102
|
+
* @param shiftState defines the new shift state
|
|
103
|
+
*/
|
|
104
|
+
VirtualKeyboard.prototype.applyShiftState = function (shiftState) {
|
|
105
|
+
if (!this.children) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
for (var i = 0; i < this.children.length; i++) {
|
|
109
|
+
var row = this.children[i];
|
|
110
|
+
if (!row || !row.children) {
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
var rowContainer = row;
|
|
114
|
+
for (var j = 0; j < rowContainer.children.length; j++) {
|
|
115
|
+
var button = rowContainer.children[j];
|
|
116
|
+
if (!button || !button.children[0]) {
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
var button_tblock = button.children[0];
|
|
120
|
+
if (button_tblock.text === "\u21E7") {
|
|
121
|
+
button.color = shiftState ? this.shiftButtonColor : this.defaultButtonColor;
|
|
122
|
+
button.thickness = shiftState > 1 ? this.selectedShiftThickness : 0;
|
|
123
|
+
}
|
|
124
|
+
button_tblock.text = shiftState > 0 ? button_tblock.text.toUpperCase() : button_tblock.text.toLowerCase();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
Object.defineProperty(VirtualKeyboard.prototype, "connectedInputText", {
|
|
129
|
+
/** Gets the input text control currently attached to the keyboard */
|
|
130
|
+
get: function () {
|
|
131
|
+
return this._currentlyConnectedInputText;
|
|
132
|
+
},
|
|
133
|
+
enumerable: false,
|
|
134
|
+
configurable: true
|
|
135
|
+
});
|
|
136
|
+
/**
|
|
137
|
+
* Connects the keyboard with an input text control
|
|
138
|
+
*
|
|
139
|
+
* @param input defines the target control
|
|
140
|
+
*/
|
|
141
|
+
VirtualKeyboard.prototype.connect = function (input) {
|
|
142
|
+
var _this = this;
|
|
143
|
+
var inputTextAlreadyConnected = this._connectedInputTexts.some(function (a) { return a.input === input; });
|
|
144
|
+
if (inputTextAlreadyConnected) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (this._onKeyPressObserver === null) {
|
|
148
|
+
this._onKeyPressObserver = this.onKeyPressObservable.add(function (key) {
|
|
149
|
+
if (!_this._currentlyConnectedInputText) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
_this._currentlyConnectedInputText._host.focusedControl = _this._currentlyConnectedInputText;
|
|
153
|
+
switch (key) {
|
|
154
|
+
case "\u21E7":
|
|
155
|
+
_this.shiftState++;
|
|
156
|
+
if (_this.shiftState > 2) {
|
|
157
|
+
_this.shiftState = 0;
|
|
158
|
+
}
|
|
159
|
+
_this.applyShiftState(_this.shiftState);
|
|
160
|
+
return;
|
|
161
|
+
case "\u2190":
|
|
162
|
+
_this._currentlyConnectedInputText.processKey(8);
|
|
163
|
+
return;
|
|
164
|
+
case "\u21B5":
|
|
165
|
+
_this._currentlyConnectedInputText.processKey(13);
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
_this._currentlyConnectedInputText.processKey(-1, _this.shiftState ? key.toUpperCase() : key);
|
|
169
|
+
if (_this.shiftState === 1) {
|
|
170
|
+
_this.shiftState = 0;
|
|
171
|
+
_this.applyShiftState(_this.shiftState);
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
this.isVisible = false;
|
|
176
|
+
this._currentlyConnectedInputText = input;
|
|
177
|
+
input._connectedVirtualKeyboard = this;
|
|
178
|
+
// Events hooking
|
|
179
|
+
var onFocusObserver = input.onFocusObservable.add(function () {
|
|
180
|
+
_this._currentlyConnectedInputText = input;
|
|
181
|
+
input._connectedVirtualKeyboard = _this;
|
|
182
|
+
_this.isVisible = true;
|
|
183
|
+
});
|
|
184
|
+
var onBlurObserver = input.onBlurObservable.add(function () {
|
|
185
|
+
input._connectedVirtualKeyboard = null;
|
|
186
|
+
_this._currentlyConnectedInputText = null;
|
|
187
|
+
_this.isVisible = false;
|
|
188
|
+
});
|
|
189
|
+
this._connectedInputTexts.push({
|
|
190
|
+
input: input,
|
|
191
|
+
onBlurObserver: onBlurObserver,
|
|
192
|
+
onFocusObserver: onFocusObserver,
|
|
193
|
+
});
|
|
194
|
+
};
|
|
195
|
+
/**
|
|
196
|
+
* Disconnects the keyboard from connected InputText controls
|
|
197
|
+
*
|
|
198
|
+
* @param input optionally defines a target control, otherwise all are disconnected
|
|
199
|
+
*/
|
|
200
|
+
VirtualKeyboard.prototype.disconnect = function (input) {
|
|
201
|
+
var _this = this;
|
|
202
|
+
if (input) {
|
|
203
|
+
// .find not available on IE
|
|
204
|
+
var filtered = this._connectedInputTexts.filter(function (a) { return a.input === input; });
|
|
205
|
+
if (filtered.length === 1) {
|
|
206
|
+
this._removeConnectedInputObservables(filtered[0]);
|
|
207
|
+
this._connectedInputTexts = this._connectedInputTexts.filter(function (a) { return a.input !== input; });
|
|
208
|
+
if (this._currentlyConnectedInputText === input) {
|
|
209
|
+
this._currentlyConnectedInputText = null;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
this._connectedInputTexts.forEach(function (connectedInputText) {
|
|
215
|
+
_this._removeConnectedInputObservables(connectedInputText);
|
|
216
|
+
});
|
|
217
|
+
this._connectedInputTexts = [];
|
|
218
|
+
}
|
|
219
|
+
if (this._connectedInputTexts.length === 0) {
|
|
220
|
+
this._currentlyConnectedInputText = null;
|
|
221
|
+
this.onKeyPressObservable.remove(this._onKeyPressObserver);
|
|
222
|
+
this._onKeyPressObserver = null;
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
VirtualKeyboard.prototype._removeConnectedInputObservables = function (connectedInputText) {
|
|
226
|
+
connectedInputText.input._connectedVirtualKeyboard = null;
|
|
227
|
+
connectedInputText.input.onFocusObservable.remove(connectedInputText.onFocusObserver);
|
|
228
|
+
connectedInputText.input.onBlurObservable.remove(connectedInputText.onBlurObserver);
|
|
229
|
+
};
|
|
230
|
+
/**
|
|
231
|
+
* Release all resources
|
|
232
|
+
*/
|
|
233
|
+
VirtualKeyboard.prototype.dispose = function () {
|
|
234
|
+
_super.prototype.dispose.call(this);
|
|
235
|
+
this.disconnect();
|
|
236
|
+
};
|
|
237
|
+
// Statics
|
|
238
|
+
/**
|
|
239
|
+
* Creates a new keyboard using a default layout
|
|
240
|
+
*
|
|
241
|
+
* @param name defines control name
|
|
242
|
+
* @returns a new VirtualKeyboard
|
|
243
|
+
*/
|
|
244
|
+
VirtualKeyboard.CreateDefaultLayout = function (name) {
|
|
245
|
+
var returnValue = new VirtualKeyboard(name);
|
|
246
|
+
returnValue.addKeysRow(["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "\u2190"]);
|
|
247
|
+
returnValue.addKeysRow(["q", "w", "e", "r", "t", "y", "u", "i", "o", "p"]);
|
|
248
|
+
returnValue.addKeysRow(["a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'", "\u21B5"]);
|
|
249
|
+
returnValue.addKeysRow(["\u21E7", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/"]);
|
|
250
|
+
returnValue.addKeysRow([" "], [{ width: "200px" }]);
|
|
251
|
+
return returnValue;
|
|
252
|
+
};
|
|
253
|
+
return VirtualKeyboard;
|
|
254
|
+
}(StackPanel));
|
|
255
|
+
export { VirtualKeyboard };
|
|
256
|
+
RegisterClass("BABYLON.GUI.VirtualKeyboard", VirtualKeyboard);
|
|
257
257
|
//# sourceMappingURL=virtualKeyboard.js.map
|
package/2D/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export * from "./controls/index";
|
|
2
|
-
export * from "./advancedDynamicTexture";
|
|
3
|
-
export * from "./adtInstrumentation";
|
|
4
|
-
export * from "./math2D";
|
|
5
|
-
export * from "./measure";
|
|
6
|
-
export * from "./multiLinePoint";
|
|
7
|
-
export * from "./style";
|
|
8
|
-
export * from "./valueAndUnit";
|
|
9
|
-
export * from "./xmlLoader";
|
|
1
|
+
export * from "./controls/index";
|
|
2
|
+
export * from "./advancedDynamicTexture";
|
|
3
|
+
export * from "./adtInstrumentation";
|
|
4
|
+
export * from "./math2D";
|
|
5
|
+
export * from "./measure";
|
|
6
|
+
export * from "./multiLinePoint";
|
|
7
|
+
export * from "./style";
|
|
8
|
+
export * from "./valueAndUnit";
|
|
9
|
+
export * from "./xmlLoader";
|
package/2D/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export * from "./controls/index
|
|
2
|
-
export * from "./advancedDynamicTexture
|
|
3
|
-
export * from "./adtInstrumentation
|
|
4
|
-
export * from "./math2D
|
|
5
|
-
export * from "./measure
|
|
6
|
-
export * from "./multiLinePoint
|
|
7
|
-
export * from "./style
|
|
8
|
-
export * from "./valueAndUnit
|
|
9
|
-
export * from "./xmlLoader
|
|
1
|
+
export * from "./controls/index";
|
|
2
|
+
export * from "./advancedDynamicTexture";
|
|
3
|
+
export * from "./adtInstrumentation";
|
|
4
|
+
export * from "./math2D";
|
|
5
|
+
export * from "./measure";
|
|
6
|
+
export * from "./multiLinePoint";
|
|
7
|
+
export * from "./style";
|
|
8
|
+
export * from "./valueAndUnit";
|
|
9
|
+
export * from "./xmlLoader";
|
|
10
10
|
//# sourceMappingURL=index.js.map
|