@babylonjs/gui 5.20.0 → 5.22.1
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.js +70 -90
- package/2D/adtInstrumentation.js.map +1 -1
- package/2D/advancedDynamicTexture.d.ts +14 -0
- package/2D/advancedDynamicTexture.js +574 -620
- package/2D/advancedDynamicTexture.js.map +1 -1
- package/2D/controls/button.js +76 -90
- package/2D/controls/button.js.map +1 -1
- package/2D/controls/checkbox.js +86 -106
- package/2D/controls/checkbox.js.map +1 -1
- package/2D/controls/colorpicker.js +395 -415
- package/2D/controls/colorpicker.js.map +1 -1
- package/2D/controls/container.js +187 -230
- package/2D/controls/container.js.map +1 -1
- package/2D/controls/control.js +1073 -1353
- package/2D/controls/control.js.map +1 -1
- package/2D/controls/displayGrid.js +152 -196
- package/2D/controls/displayGrid.js.map +1 -1
- package/2D/controls/ellipse.js +32 -40
- package/2D/controls/ellipse.js.map +1 -1
- package/2D/controls/focusableButton.js +30 -35
- package/2D/controls/focusableButton.js.map +1 -1
- package/2D/controls/grid.js +172 -212
- package/2D/controls/grid.js.map +1 -1
- package/2D/controls/image.js +489 -592
- package/2D/controls/image.js.map +1 -1
- package/2D/controls/inputPassword.js +9 -16
- package/2D/controls/inputPassword.js.map +1 -1
- package/2D/controls/inputText.js +380 -467
- package/2D/controls/inputText.js.map +1 -1
- package/2D/controls/inputTextArea.js +234 -273
- package/2D/controls/inputTextArea.js.map +1 -1
- package/2D/controls/line.js +147 -198
- package/2D/controls/line.js.map +1 -1
- package/2D/controls/multiLine.js +87 -113
- package/2D/controls/multiLine.js.map +1 -1
- package/2D/controls/radioButton.js +106 -127
- package/2D/controls/radioButton.js.map +1 -1
- package/2D/controls/rectangle.js +60 -72
- package/2D/controls/rectangle.js.map +1 -1
- package/2D/controls/scrollViewers/scrollViewer.js +439 -543
- package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
- package/2D/controls/scrollViewers/scrollViewerWindow.js +99 -118
- package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
- package/2D/controls/selector.js +241 -329
- package/2D/controls/selector.js.map +1 -1
- package/2D/controls/sliders/baseSlider.js +182 -230
- package/2D/controls/sliders/baseSlider.js.map +1 -1
- package/2D/controls/sliders/imageBasedSlider.js +86 -109
- package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
- package/2D/controls/sliders/imageScrollBar.js +148 -178
- package/2D/controls/sliders/imageScrollBar.js.map +1 -1
- package/2D/controls/sliders/scrollBar.js +64 -80
- package/2D/controls/sliders/scrollBar.js.map +1 -1
- package/2D/controls/sliders/slider.js +91 -115
- package/2D/controls/sliders/slider.js.map +1 -1
- package/2D/controls/stackPanel.js +114 -135
- package/2D/controls/stackPanel.js.map +1 -1
- package/2D/controls/statics.js +5 -5
- package/2D/controls/statics.js.map +1 -1
- package/2D/controls/textBlock.js +322 -384
- package/2D/controls/textBlock.js.map +1 -1
- package/2D/controls/textWrapper.js +27 -41
- package/2D/controls/textWrapper.js.map +1 -1
- package/2D/controls/toggleButton.js +105 -121
- package/2D/controls/toggleButton.js.map +1 -1
- package/2D/controls/virtualKeyboard.js +101 -123
- package/2D/controls/virtualKeyboard.js.map +1 -1
- package/2D/math2D.js +62 -70
- package/2D/math2D.js.map +1 -1
- package/2D/measure.js +30 -32
- package/2D/measure.js.map +1 -1
- package/2D/multiLinePoint.js +71 -89
- package/2D/multiLinePoint.js.map +1 -1
- package/2D/style.js +55 -73
- package/2D/style.js.map +1 -1
- package/2D/valueAndUnit.js +71 -104
- package/2D/valueAndUnit.js.map +1 -1
- package/2D/xmlLoader.js +70 -84
- package/2D/xmlLoader.js.map +1 -1
- package/3D/behaviors/defaultBehavior.js +40 -59
- package/3D/behaviors/defaultBehavior.js.map +1 -1
- package/3D/controls/abstractButton3D.js +8 -12
- package/3D/controls/abstractButton3D.js.map +1 -1
- package/3D/controls/button3D.js +30 -35
- package/3D/controls/button3D.js.map +1 -1
- package/3D/controls/container3D.js +57 -71
- package/3D/controls/container3D.js.map +1 -1
- package/3D/controls/contentDisplay3D.js +47 -60
- package/3D/controls/contentDisplay3D.js.map +1 -1
- package/3D/controls/control3D.js +123 -158
- package/3D/controls/control3D.js.map +1 -1
- package/3D/controls/cylinderPanel.js +28 -38
- package/3D/controls/cylinderPanel.js.map +1 -1
- package/3D/controls/handMenu.js +20 -29
- package/3D/controls/handMenu.js.map +1 -1
- package/3D/controls/holographicBackplate.js +52 -72
- package/3D/controls/holographicBackplate.js.map +1 -1
- package/3D/controls/holographicButton.js +160 -200
- package/3D/controls/holographicButton.js.map +1 -1
- package/3D/controls/holographicSlate.js +176 -206
- package/3D/controls/holographicSlate.js.map +1 -1
- package/3D/controls/meshButton3D.js +24 -30
- package/3D/controls/meshButton3D.js.map +1 -1
- package/3D/controls/nearMenu.js +57 -71
- package/3D/controls/nearMenu.js.map +1 -1
- package/3D/controls/planePanel.js +6 -13
- package/3D/controls/planePanel.js.map +1 -1
- package/3D/controls/scatterPanel.js +43 -54
- package/3D/controls/scatterPanel.js.map +1 -1
- package/3D/controls/slider3D.js +168 -222
- package/3D/controls/slider3D.js.map +1 -1
- package/3D/controls/spherePanel.js +29 -39
- package/3D/controls/spherePanel.js.map +1 -1
- package/3D/controls/stackPanel3D.js +36 -49
- package/3D/controls/stackPanel3D.js.map +1 -1
- package/3D/controls/touchButton3D.js +126 -154
- package/3D/controls/touchButton3D.js.map +1 -1
- package/3D/controls/touchHolographicButton.js +223 -272
- package/3D/controls/touchHolographicButton.js.map +1 -1
- package/3D/controls/touchHolographicMenu.js +55 -66
- package/3D/controls/touchHolographicMenu.js.map +1 -1
- package/3D/controls/touchMeshButton3D.js +24 -30
- package/3D/controls/touchMeshButton3D.js.map +1 -1
- package/3D/controls/volumeBasedPanel.js +85 -107
- package/3D/controls/volumeBasedPanel.js.map +1 -1
- package/3D/gizmos/gizmoHandle.js +68 -103
- package/3D/gizmos/gizmoHandle.js.map +1 -1
- package/3D/gizmos/slateGizmo.js +165 -182
- package/3D/gizmos/slateGizmo.js.map +1 -1
- package/3D/gui3DManager.js +76 -101
- package/3D/gui3DManager.js.map +1 -1
- package/3D/materials/fluent/fluentMaterial.js +110 -119
- package/3D/materials/fluent/fluentMaterial.js.map +1 -1
- package/3D/materials/fluent/shaders/fluent.fragment.js +20 -3
- package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -1
- package/3D/materials/fluent/shaders/fluent.vertex.js +11 -3
- package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -1
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +168 -177
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +9 -3
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -1
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +15 -3
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -1
- package/3D/materials/fluentButton/fluentButtonMaterial.js +205 -213
- package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
- package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +6 -3
- package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -1
- package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +6 -3
- package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -1
- package/3D/materials/handle/handleMaterial.js +56 -69
- package/3D/materials/handle/handleMaterial.js.map +1 -1
- package/3D/materials/handle/shaders/handle.fragment.js +3 -3
- package/3D/materials/handle/shaders/handle.fragment.js.map +1 -1
- package/3D/materials/handle/shaders/handle.vertex.js +3 -3
- package/3D/materials/handle/shaders/handle.vertex.js.map +1 -1
- package/3D/materials/mrdl/mrdlBackplateMaterial.js +158 -166
- package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
- package/3D/materials/mrdl/mrdlSliderBarMaterial.js +322 -330
- package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +322 -330
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
- package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +9 -3
- package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -1
- package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +6 -3
- package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -1
- package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +24 -3
- package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -1
- package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +12 -3
- package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -1
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +24 -3
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -1
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +12 -3
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -1
- package/3D/vector3WithInfo.js +6 -12
- package/3D/vector3WithInfo.js.map +1 -1
- package/legacy/legacy.js +1 -1
- package/legacy/legacy.js.map +1 -1
- package/package.json +3 -6
|
@@ -1,77 +1,66 @@
|
|
|
1
|
-
import { __extends } from "tslib";
|
|
2
1
|
import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
|
|
3
2
|
import { Control3D } from "./control3D.js";
|
|
4
3
|
/**
|
|
5
4
|
* Class used to create containers for controls
|
|
6
5
|
*/
|
|
7
|
-
|
|
8
|
-
__extends(Container3D, _super);
|
|
6
|
+
export class Container3D extends Control3D {
|
|
9
7
|
/**
|
|
10
8
|
* Creates a new container
|
|
11
9
|
* @param name defines the container name
|
|
12
10
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
constructor(name) {
|
|
12
|
+
super(name);
|
|
13
|
+
this._blockLayout = false;
|
|
16
14
|
/**
|
|
17
15
|
* Gets the list of child controls
|
|
18
16
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
this._children = new Array();
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Gets the list of child controls
|
|
21
|
+
*/
|
|
22
|
+
get children() {
|
|
23
|
+
return this._children;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Gets or sets a boolean indicating if the layout must be blocked (default is false).
|
|
27
|
+
* This is helpful to optimize layout operation when adding multiple children in a row
|
|
28
|
+
*/
|
|
29
|
+
get blockLayout() {
|
|
30
|
+
return this._blockLayout;
|
|
31
|
+
}
|
|
32
|
+
set blockLayout(value) {
|
|
33
|
+
if (this._blockLayout === value) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
this._blockLayout = value;
|
|
37
|
+
if (!this._blockLayout) {
|
|
38
|
+
this._arrangeChildren();
|
|
39
|
+
}
|
|
21
40
|
}
|
|
22
|
-
Object.defineProperty(Container3D.prototype, "children", {
|
|
23
|
-
/**
|
|
24
|
-
* Gets the list of child controls
|
|
25
|
-
*/
|
|
26
|
-
get: function () {
|
|
27
|
-
return this._children;
|
|
28
|
-
},
|
|
29
|
-
enumerable: false,
|
|
30
|
-
configurable: true
|
|
31
|
-
});
|
|
32
|
-
Object.defineProperty(Container3D.prototype, "blockLayout", {
|
|
33
|
-
/**
|
|
34
|
-
* Gets or sets a boolean indicating if the layout must be blocked (default is false).
|
|
35
|
-
* This is helpful to optimize layout operation when adding multiple children in a row
|
|
36
|
-
*/
|
|
37
|
-
get: function () {
|
|
38
|
-
return this._blockLayout;
|
|
39
|
-
},
|
|
40
|
-
set: function (value) {
|
|
41
|
-
if (this._blockLayout === value) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
this._blockLayout = value;
|
|
45
|
-
if (!this._blockLayout) {
|
|
46
|
-
this._arrangeChildren();
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
enumerable: false,
|
|
50
|
-
configurable: true
|
|
51
|
-
});
|
|
52
41
|
/**
|
|
53
42
|
* Force the container to update the layout. Please note that it will not take blockLayout property in account
|
|
54
43
|
* @returns the current container
|
|
55
44
|
*/
|
|
56
|
-
|
|
45
|
+
updateLayout() {
|
|
57
46
|
this._arrangeChildren();
|
|
58
47
|
return this;
|
|
59
|
-
}
|
|
48
|
+
}
|
|
60
49
|
/**
|
|
61
50
|
* Gets a boolean indicating if the given control is in the children of this control
|
|
62
51
|
* @param control defines the control to check
|
|
63
52
|
* @returns true if the control is in the child list
|
|
64
53
|
*/
|
|
65
|
-
|
|
54
|
+
containsControl(control) {
|
|
66
55
|
return this._children.indexOf(control) !== -1;
|
|
67
|
-
}
|
|
56
|
+
}
|
|
68
57
|
/**
|
|
69
58
|
* Adds a control to the children of this control
|
|
70
59
|
* @param control defines the control to add
|
|
71
60
|
* @returns the current container
|
|
72
61
|
*/
|
|
73
|
-
|
|
74
|
-
|
|
62
|
+
addControl(control) {
|
|
63
|
+
const index = this._children.indexOf(control);
|
|
75
64
|
if (index !== -1) {
|
|
76
65
|
return this;
|
|
77
66
|
}
|
|
@@ -88,53 +77,50 @@ var Container3D = /** @class */ (function (_super) {
|
|
|
88
77
|
}
|
|
89
78
|
}
|
|
90
79
|
return this;
|
|
91
|
-
}
|
|
80
|
+
}
|
|
92
81
|
/**
|
|
93
82
|
* This function will be called everytime a new control is added
|
|
94
83
|
*/
|
|
95
|
-
|
|
96
|
-
|
|
84
|
+
_arrangeChildren() { }
|
|
85
|
+
_createNode(scene) {
|
|
97
86
|
return new TransformNode("ContainerNode", scene);
|
|
98
|
-
}
|
|
87
|
+
}
|
|
99
88
|
/**
|
|
100
89
|
* Removes a control from the children of this control
|
|
101
90
|
* @param control defines the control to remove
|
|
102
91
|
* @returns the current container
|
|
103
92
|
*/
|
|
104
|
-
|
|
105
|
-
|
|
93
|
+
removeControl(control) {
|
|
94
|
+
const index = this._children.indexOf(control);
|
|
106
95
|
if (index !== -1) {
|
|
107
96
|
this._children.splice(index, 1);
|
|
108
97
|
control.parent = null;
|
|
109
98
|
control._disposeNode();
|
|
110
99
|
}
|
|
111
100
|
return this;
|
|
112
|
-
}
|
|
113
|
-
|
|
101
|
+
}
|
|
102
|
+
_getTypeName() {
|
|
114
103
|
return "Container3D";
|
|
115
|
-
}
|
|
104
|
+
}
|
|
116
105
|
/**
|
|
117
106
|
* Releases all associated resources
|
|
118
107
|
*/
|
|
119
|
-
|
|
120
|
-
for (
|
|
121
|
-
var control = _a[_i];
|
|
108
|
+
dispose() {
|
|
109
|
+
for (const control of this._children) {
|
|
122
110
|
control.dispose();
|
|
123
111
|
}
|
|
124
112
|
this._children.length = 0;
|
|
125
|
-
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}(Control3D));
|
|
139
|
-
export { Container3D };
|
|
113
|
+
super.dispose();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/** Control rotation will remain unchanged */
|
|
117
|
+
Container3D.UNSET_ORIENTATION = 0;
|
|
118
|
+
/** Control will rotate to make it look at sphere central axis */
|
|
119
|
+
Container3D.FACEORIGIN_ORIENTATION = 1;
|
|
120
|
+
/** Control will rotate to make it look back at sphere central axis */
|
|
121
|
+
Container3D.FACEORIGINREVERSED_ORIENTATION = 2;
|
|
122
|
+
/** Control will rotate to look at z axis (0, 0, 1) */
|
|
123
|
+
Container3D.FACEFORWARD_ORIENTATION = 3;
|
|
124
|
+
/** Control will rotate to look at negative z axis (0, 0, -1) */
|
|
125
|
+
Container3D.FACEFORWARDREVERSED_ORIENTATION = 4;
|
|
140
126
|
//# sourceMappingURL=container3D.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container3D.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/3D/controls/container3D.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"container3D.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/3D/controls/container3D.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from \"core/types\";\r\nimport { TransformNode } from \"core/Meshes/transformNode\";\r\nimport type { Scene } from \"core/scene\";\r\n\r\nimport { Control3D } from \"./control3D\";\r\n\r\n/**\r\n * Class used to create containers for controls\r\n */\r\nexport class Container3D extends Control3D {\r\n private _blockLayout = false;\r\n\r\n /**\r\n * Gets the list of child controls\r\n */\r\n protected _children = new Array<Control3D>();\r\n\r\n /**\r\n * Gets the list of child controls\r\n */\r\n public get children(): Array<Control3D> {\r\n return this._children;\r\n }\r\n\r\n /**\r\n * Gets or sets a boolean indicating if the layout must be blocked (default is false).\r\n * This is helpful to optimize layout operation when adding multiple children in a row\r\n */\r\n public get blockLayout(): boolean {\r\n return this._blockLayout;\r\n }\r\n\r\n public set blockLayout(value: boolean) {\r\n if (this._blockLayout === value) {\r\n return;\r\n }\r\n\r\n this._blockLayout = value;\r\n\r\n if (!this._blockLayout) {\r\n this._arrangeChildren();\r\n }\r\n }\r\n\r\n /**\r\n * Creates a new container\r\n * @param name defines the container name\r\n */\r\n constructor(name?: string) {\r\n super(name);\r\n }\r\n\r\n /**\r\n * Force the container to update the layout. Please note that it will not take blockLayout property in account\r\n * @returns the current container\r\n */\r\n public updateLayout(): Container3D {\r\n this._arrangeChildren();\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if the given control is in the children of this control\r\n * @param control defines the control to check\r\n * @returns true if the control is in the child list\r\n */\r\n public containsControl(control: Control3D): boolean {\r\n return this._children.indexOf(control) !== -1;\r\n }\r\n\r\n /**\r\n * Adds a control to the children of this control\r\n * @param control defines the control to add\r\n * @returns the current container\r\n */\r\n public addControl(control: Control3D): Container3D {\r\n const index = this._children.indexOf(control);\r\n\r\n if (index !== -1) {\r\n return this;\r\n }\r\n control.parent = this;\r\n control._host = this._host;\r\n\r\n this._children.push(control);\r\n\r\n if (this._host.utilityLayer) {\r\n control._prepareNode(this._host.utilityLayer.utilityLayerScene);\r\n\r\n if (control.node) {\r\n control.node.parent = this.node;\r\n }\r\n\r\n if (!this.blockLayout) {\r\n this._arrangeChildren();\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * This function will be called everytime a new control is added\r\n */\r\n protected _arrangeChildren() {}\r\n\r\n protected _createNode(scene: Scene): Nullable<TransformNode> {\r\n return new TransformNode(\"ContainerNode\", scene);\r\n }\r\n\r\n /**\r\n * Removes a control from the children of this control\r\n * @param control defines the control to remove\r\n * @returns the current container\r\n */\r\n public removeControl(control: Control3D): Container3D {\r\n const index = this._children.indexOf(control);\r\n\r\n if (index !== -1) {\r\n this._children.splice(index, 1);\r\n\r\n control.parent = null;\r\n control._disposeNode();\r\n }\r\n\r\n return this;\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"Container3D\";\r\n }\r\n\r\n /**\r\n * Releases all associated resources\r\n */\r\n public dispose() {\r\n for (const control of this._children) {\r\n control.dispose();\r\n }\r\n\r\n this._children.length = 0;\r\n\r\n super.dispose();\r\n }\r\n\r\n /** Control rotation will remain unchanged */\r\n public static readonly UNSET_ORIENTATION = 0;\r\n\r\n /** Control will rotate to make it look at sphere central axis */\r\n public static readonly FACEORIGIN_ORIENTATION = 1;\r\n\r\n /** Control will rotate to make it look back at sphere central axis */\r\n public static readonly FACEORIGINREVERSED_ORIENTATION = 2;\r\n\r\n /** Control will rotate to look at z axis (0, 0, 1) */\r\n public static readonly FACEFORWARD_ORIENTATION = 3;\r\n\r\n /** Control will rotate to look at negative z axis (0, 0, -1) */\r\n public static readonly FACEFORWARDREVERSED_ORIENTATION = 4;\r\n}\r\n"]}
|
|
@@ -1,80 +1,67 @@
|
|
|
1
|
-
import { __extends } from "tslib";
|
|
2
1
|
import { AdvancedDynamicTexture } from "../../2D/advancedDynamicTexture.js";
|
|
3
2
|
import { Control3D } from "./control3D.js";
|
|
4
3
|
import { Texture } from "@babylonjs/core/Materials/Textures/texture.js";
|
|
5
4
|
/**
|
|
6
5
|
* The base class for controls that display content
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
_this._contentScaleRatio = 2;
|
|
14
|
-
return _this;
|
|
7
|
+
export class ContentDisplay3D extends Control3D {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this._contentResolution = 512;
|
|
11
|
+
this._contentScaleRatio = 2;
|
|
15
12
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
this._contentResolution = value;
|
|
55
|
-
this._resetContent();
|
|
56
|
-
},
|
|
57
|
-
enumerable: false,
|
|
58
|
-
configurable: true
|
|
59
|
-
});
|
|
60
|
-
ContentDisplay3D.prototype._disposeFacadeTexture = function () {
|
|
13
|
+
/**
|
|
14
|
+
* Gets or sets the GUI 2D content used to display the button's facade
|
|
15
|
+
*/
|
|
16
|
+
get content() {
|
|
17
|
+
return this._content;
|
|
18
|
+
}
|
|
19
|
+
set content(value) {
|
|
20
|
+
this._content = value;
|
|
21
|
+
if (!value || !this._host || !this._host.utilityLayer) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (!this._facadeTexture) {
|
|
25
|
+
this._facadeTexture = new AdvancedDynamicTexture("Facade", this._contentResolution, this._contentResolution, this._host.utilityLayer.utilityLayerScene, true, Texture.TRILINEAR_SAMPLINGMODE);
|
|
26
|
+
this._facadeTexture.rootContainer.scaleX = this._contentScaleRatio;
|
|
27
|
+
this._facadeTexture.rootContainer.scaleY = this._contentScaleRatio;
|
|
28
|
+
this._facadeTexture.premulAlpha = true;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this._facadeTexture.rootContainer.clearControls();
|
|
32
|
+
}
|
|
33
|
+
this._facadeTexture.addControl(value);
|
|
34
|
+
this._applyFacade(this._facadeTexture);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Gets or sets the texture resolution used to render content (512 by default)
|
|
38
|
+
*/
|
|
39
|
+
get contentResolution() {
|
|
40
|
+
return this._contentResolution;
|
|
41
|
+
}
|
|
42
|
+
set contentResolution(value) {
|
|
43
|
+
if (this._contentResolution === value) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
this._contentResolution = value;
|
|
47
|
+
this._resetContent();
|
|
48
|
+
}
|
|
49
|
+
_disposeFacadeTexture() {
|
|
61
50
|
if (this._facadeTexture) {
|
|
62
51
|
this._facadeTexture.dispose();
|
|
63
52
|
this._facadeTexture = null;
|
|
64
53
|
}
|
|
65
|
-
}
|
|
66
|
-
|
|
54
|
+
}
|
|
55
|
+
_resetContent() {
|
|
67
56
|
this._disposeFacadeTexture();
|
|
68
57
|
this.content = this._content;
|
|
69
|
-
}
|
|
58
|
+
}
|
|
70
59
|
/**
|
|
71
60
|
* Apply the facade texture (created from the content property).
|
|
72
61
|
* This function can be overloaded by child classes
|
|
73
62
|
* @param facadeTexture defines the AdvancedDynamicTexture to use
|
|
74
63
|
*/
|
|
75
64
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}(Control3D));
|
|
79
|
-
export { ContentDisplay3D };
|
|
65
|
+
_applyFacade(facadeTexture) { }
|
|
66
|
+
}
|
|
80
67
|
//# sourceMappingURL=contentDisplay3D.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentDisplay3D.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/3D/controls/contentDisplay3D.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contentDisplay3D.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/3D/controls/contentDisplay3D.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,sDAAwC;AAE1D;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAA/C;;QAGc,uBAAkB,GAAG,GAAG,CAAC;QACzB,uBAAkB,GAAG,CAAC,CAAC;IAwErC,CAAC;IAtEG;;OAEG;IACH,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAW,OAAO,CAAC,KAAc;QAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YACnD,OAAO;SACV;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,cAAc,GAAG,IAAI,sBAAsB,CAC5C,QAAQ,EACR,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,iBAAiB,EACzC,IAAI,EACJ,OAAO,CAAC,sBAAsB,CACjC,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACnE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACnE,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC;SAC1C;aAAM;YACH,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;SACrD;QAED,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAW,iBAAiB;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED,IAAW,iBAAiB,CAAC,KAAa;QACtC,IAAI,IAAI,CAAC,kBAAkB,KAAK,KAAK,EAAE;YACnC,OAAO;SACV;QAED,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAES,qBAAqB;QAC3B,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC9B;IACL,CAAC;IAES,aAAa;QACnB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,6DAA6D;IACnD,YAAY,CAAC,aAAqC,IAAG,CAAC;CACnE","sourcesContent":["import type { Control } from \"../../2D/controls/control\";\r\nimport { AdvancedDynamicTexture } from \"../../2D/advancedDynamicTexture\";\r\nimport type { Nullable } from \"core/types\";\r\nimport { Control3D } from \"./control3D\";\r\nimport { Texture } from \"core/Materials/Textures/texture\";\r\n\r\n/**\r\n * The base class for controls that display content\r\n */\r\nexport class ContentDisplay3D extends Control3D {\r\n private _content: Control;\r\n private _facadeTexture: Nullable<AdvancedDynamicTexture>;\r\n protected _contentResolution = 512;\r\n protected _contentScaleRatio = 2;\r\n\r\n /**\r\n * Gets or sets the GUI 2D content used to display the button's facade\r\n */\r\n public get content(): Control {\r\n return this._content;\r\n }\r\n\r\n public set content(value: Control) {\r\n this._content = value;\r\n\r\n if (!value || !this._host || !this._host.utilityLayer) {\r\n return;\r\n }\r\n\r\n if (!this._facadeTexture) {\r\n this._facadeTexture = new AdvancedDynamicTexture(\r\n \"Facade\",\r\n this._contentResolution,\r\n this._contentResolution,\r\n this._host.utilityLayer.utilityLayerScene,\r\n true,\r\n Texture.TRILINEAR_SAMPLINGMODE\r\n );\r\n this._facadeTexture.rootContainer.scaleX = this._contentScaleRatio;\r\n this._facadeTexture.rootContainer.scaleY = this._contentScaleRatio;\r\n this._facadeTexture.premulAlpha = true;\r\n } else {\r\n this._facadeTexture.rootContainer.clearControls();\r\n }\r\n\r\n this._facadeTexture.addControl(value);\r\n\r\n this._applyFacade(this._facadeTexture);\r\n }\r\n\r\n /**\r\n * Gets or sets the texture resolution used to render content (512 by default)\r\n */\r\n public get contentResolution(): number {\r\n return this._contentResolution;\r\n }\r\n\r\n public set contentResolution(value: number) {\r\n if (this._contentResolution === value) {\r\n return;\r\n }\r\n\r\n this._contentResolution = value;\r\n this._resetContent();\r\n }\r\n\r\n protected _disposeFacadeTexture() {\r\n if (this._facadeTexture) {\r\n this._facadeTexture.dispose();\r\n this._facadeTexture = null;\r\n }\r\n }\r\n\r\n protected _resetContent() {\r\n this._disposeFacadeTexture();\r\n this.content = this._content;\r\n }\r\n\r\n /**\r\n * Apply the facade texture (created from the content property).\r\n * This function can be overloaded by child classes\r\n * @param facadeTexture defines the AdvancedDynamicTexture to use\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n protected _applyFacade(facadeTexture: AdvancedDynamicTexture) {}\r\n}\r\n"]}
|