@babylonjs/gui 5.0.0-alpha.6 → 5.0.0-alpha.60
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 +1 -1
- package/2D/advancedDynamicTexture.d.ts +26 -4
- package/2D/advancedDynamicTexture.js +107 -47
- package/2D/advancedDynamicTexture.js.map +1 -1
- package/2D/controls/button.js +10 -10
- package/2D/controls/button.js.map +1 -1
- package/2D/controls/checkbox.d.ts +2 -1
- package/2D/controls/checkbox.js +10 -8
- package/2D/controls/checkbox.js.map +1 -1
- package/2D/controls/colorpicker.d.ts +4 -3
- package/2D/controls/colorpicker.js +40 -23
- package/2D/controls/colorpicker.js.map +1 -1
- package/2D/controls/container.d.ts +16 -5
- package/2D/controls/container.js +89 -11
- package/2D/controls/container.js.map +1 -1
- package/2D/controls/control.d.ts +40 -15
- package/2D/controls/control.js +103 -59
- package/2D/controls/control.js.map +1 -1
- package/2D/controls/displayGrid.d.ts +2 -1
- package/2D/controls/displayGrid.js +6 -6
- package/2D/controls/displayGrid.js.map +1 -1
- package/2D/controls/ellipse.d.ts +5 -3
- package/2D/controls/ellipse.js +9 -5
- package/2D/controls/ellipse.js.map +1 -1
- package/2D/controls/focusableButton.d.ts +4 -2
- package/2D/controls/focusableButton.js +9 -6
- package/2D/controls/focusableButton.js.map +1 -1
- package/2D/controls/focusableControl.d.ts +2 -1
- package/2D/controls/focusableControl.js.map +1 -1
- package/2D/controls/grid.d.ts +11 -2
- package/2D/controls/grid.js +63 -6
- package/2D/controls/grid.js.map +1 -1
- package/2D/controls/image.d.ts +20 -12
- package/2D/controls/image.js +154 -111
- package/2D/controls/image.js.map +1 -1
- package/2D/controls/index.js +29 -29
- package/2D/controls/inputPassword.js +4 -4
- package/2D/controls/inputPassword.js.map +1 -1
- package/2D/controls/inputText.d.ts +6 -4
- package/2D/controls/inputText.js +39 -13
- package/2D/controls/inputText.js.map +1 -1
- package/2D/controls/line.d.ts +3 -2
- package/2D/controls/line.js +8 -8
- package/2D/controls/line.js.map +1 -1
- package/2D/controls/multiLine.d.ts +4 -3
- package/2D/controls/multiLine.js +6 -6
- package/2D/controls/multiLine.js.map +1 -1
- package/2D/controls/radioButton.d.ts +2 -1
- package/2D/controls/radioButton.js +10 -7
- package/2D/controls/radioButton.js.map +1 -1
- package/2D/controls/rectangle.d.ts +8 -3
- package/2D/controls/rectangle.js +21 -5
- package/2D/controls/rectangle.js.map +1 -1
- package/2D/controls/scrollViewers/scrollViewer.d.ts +3 -2
- package/2D/controls/scrollViewers/scrollViewer.js +9 -9
- package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
- package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +4 -3
- package/2D/controls/scrollViewers/scrollViewerWindow.js +4 -4
- package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
- package/2D/controls/selector.js +8 -8
- package/2D/controls/selector.js.map +1 -1
- package/2D/controls/sliders/baseSlider.d.ts +1 -1
- package/2D/controls/sliders/baseSlider.js +12 -10
- package/2D/controls/sliders/baseSlider.js.map +1 -1
- package/2D/controls/sliders/imageBasedSlider.d.ts +10 -1
- package/2D/controls/sliders/imageBasedSlider.js +29 -5
- package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
- package/2D/controls/sliders/imageScrollBar.d.ts +2 -1
- package/2D/controls/sliders/imageScrollBar.js +3 -3
- package/2D/controls/sliders/imageScrollBar.js.map +1 -1
- package/2D/controls/sliders/scrollBar.d.ts +2 -1
- package/2D/controls/sliders/scrollBar.js +3 -3
- package/2D/controls/sliders/scrollBar.js.map +1 -1
- package/2D/controls/sliders/slider.d.ts +2 -1
- package/2D/controls/sliders/slider.js +4 -4
- package/2D/controls/sliders/slider.js.map +1 -1
- package/2D/controls/stackPanel.d.ts +3 -2
- package/2D/controls/stackPanel.js +6 -6
- package/2D/controls/stackPanel.js.map +1 -1
- package/2D/controls/statics.js +3 -3
- package/2D/controls/statics.js.map +1 -1
- package/2D/controls/textBlock.d.ts +9 -8
- package/2D/controls/textBlock.js +25 -15
- package/2D/controls/textBlock.js.map +1 -1
- package/2D/controls/textWrapper.js +2 -2
- package/2D/controls/textWrapper.js.map +1 -1
- package/2D/controls/toggleButton.d.ts +1 -13
- package/2D/controls/toggleButton.js +29 -38
- package/2D/controls/toggleButton.js.map +1 -1
- package/2D/controls/virtualKeyboard.js +5 -5
- package/2D/controls/virtualKeyboard.js.map +1 -1
- package/2D/index.d.ts +1 -1
- package/2D/index.js +9 -9
- package/2D/index.js.map +1 -1
- package/2D/math2D.js +2 -2
- package/2D/measure.js +1 -1
- package/2D/measure.js.map +1 -1
- package/2D/multiLinePoint.js +3 -3
- package/2D/style.js +2 -2
- package/2D/xmlLoader.d.ts +17 -3
- package/2D/xmlLoader.js +54 -15
- package/2D/xmlLoader.js.map +1 -1
- package/3D/behaviors/defaultBehavior.d.ts +73 -0
- package/3D/behaviors/defaultBehavior.js +122 -0
- package/3D/behaviors/defaultBehavior.js.map +1 -0
- package/3D/controls/abstractButton3D.d.ts +2 -2
- package/3D/controls/abstractButton3D.js +3 -3
- package/3D/controls/abstractButton3D.js.map +1 -1
- package/3D/controls/button3D.d.ts +0 -24
- package/3D/controls/button3D.js +7 -83
- package/3D/controls/button3D.js.map +1 -1
- package/3D/controls/container3D.js +2 -2
- package/3D/controls/contentDisplay3D.d.ts +30 -0
- package/3D/controls/contentDisplay3D.js +79 -0
- package/3D/controls/contentDisplay3D.js.map +1 -0
- package/3D/controls/control3D.d.ts +8 -7
- package/3D/controls/control3D.js +39 -28
- package/3D/controls/control3D.js.map +1 -1
- package/3D/controls/cylinderPanel.js +5 -5
- package/3D/controls/handMenu.d.ts +28 -0
- package/3D/controls/handMenu.js +48 -0
- package/3D/controls/handMenu.js.map +1 -0
- package/3D/controls/holographicBackplate.d.ts +48 -0
- package/3D/controls/holographicBackplate.js +121 -0
- package/3D/controls/holographicBackplate.js.map +1 -0
- package/3D/controls/holographicButton.d.ts +1 -1
- package/3D/controls/holographicButton.js +27 -24
- package/3D/controls/holographicButton.js.map +1 -1
- package/3D/controls/holographicSlate.d.ts +118 -0
- package/3D/controls/holographicSlate.js +360 -0
- package/3D/controls/holographicSlate.js.map +1 -0
- package/3D/controls/index.d.ts +10 -0
- package/3D/controls/index.js +22 -12
- package/3D/controls/index.js.map +1 -1
- package/3D/controls/meshButton3D.js +2 -2
- package/3D/controls/meshButton3D.js.map +1 -1
- package/3D/controls/nearMenu.d.ts +45 -0
- package/3D/controls/nearMenu.js +111 -0
- package/3D/controls/nearMenu.js.map +1 -0
- package/3D/controls/planePanel.js +3 -3
- package/3D/controls/scatterPanel.js +4 -4
- package/3D/controls/slider3D.d.ts +80 -0
- package/3D/controls/slider3D.js +268 -0
- package/3D/controls/slider3D.js.map +1 -0
- package/3D/controls/spherePanel.js +5 -5
- package/3D/controls/stackPanel3D.js +3 -3
- package/3D/controls/touchButton3D.d.ts +43 -0
- package/3D/controls/touchButton3D.js +133 -0
- package/3D/controls/touchButton3D.js.map +1 -0
- package/3D/controls/touchHolographicButton.d.ts +100 -0
- package/3D/controls/touchHolographicButton.js +408 -0
- package/3D/controls/touchHolographicButton.js.map +1 -0
- package/3D/controls/touchHolographicMenu.d.ts +61 -0
- package/3D/controls/touchHolographicMenu.js +147 -0
- package/3D/controls/touchHolographicMenu.js.map +1 -0
- package/3D/controls/touchMeshButton3D.d.ts +22 -0
- package/3D/controls/touchMeshButton3D.js +63 -0
- package/3D/controls/touchMeshButton3D.js.map +1 -0
- package/3D/controls/touchToggleButton3D.d.ts +35 -0
- package/3D/controls/touchToggleButton3D.js +60 -0
- package/3D/controls/touchToggleButton3D.js.map +1 -0
- package/3D/controls/volumeBasedPanel.d.ts +1 -1
- package/3D/controls/volumeBasedPanel.js +5 -5
- package/3D/controls/volumeBasedPanel.js.map +1 -1
- package/3D/gizmos/gizmoHandle.d.ts +108 -0
- package/3D/gizmos/gizmoHandle.js +210 -0
- package/3D/gizmos/gizmoHandle.js.map +1 -0
- package/3D/gizmos/index.d.ts +2 -0
- package/3D/gizmos/index.js +3 -0
- package/3D/gizmos/index.js.map +1 -0
- package/3D/gizmos/slateGizmo.d.ts +59 -0
- package/3D/gizmos/slateGizmo.js +364 -0
- package/3D/gizmos/slateGizmo.js.map +1 -0
- package/3D/gui3DManager.d.ts +9 -0
- package/3D/gui3DManager.js +30 -13
- package/3D/gui3DManager.js.map +1 -1
- package/3D/index.d.ts +3 -2
- package/3D/index.js +5 -4
- package/3D/index.js.map +1 -1
- package/3D/materials/fluent/fluentMaterial.d.ts +90 -0
- package/3D/materials/fluent/fluentMaterial.js +282 -0
- package/3D/materials/fluent/fluentMaterial.js.map +1 -0
- package/3D/materials/fluent/index.d.ts +1 -0
- package/3D/materials/fluent/index.js +2 -0
- package/3D/materials/fluent/index.js.map +1 -0
- package/3D/materials/{shaders → fluent/shaders}/fluent.fragment.d.ts +0 -0
- package/3D/materials/fluent/shaders/fluent.fragment.js +7 -0
- package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -0
- package/3D/materials/{shaders → fluent/shaders}/fluent.vertex.d.ts +0 -0
- package/3D/materials/{shaders → fluent/shaders}/fluent.vertex.js +2 -2
- package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -0
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +154 -0
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +435 -0
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -0
- package/3D/materials/fluentBackplate/index.d.ts +1 -0
- package/3D/materials/fluentBackplate/index.js +2 -0
- package/3D/materials/fluentBackplate/index.js.map +1 -0
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -0
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +7 -0
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -0
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -0
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +7 -0
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -0
- package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +189 -0
- package/3D/materials/fluentButton/fluentButtonMaterial.js +538 -0
- package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -0
- package/3D/materials/fluentButton/index.d.ts +1 -0
- package/3D/materials/fluentButton/index.js +2 -0
- package/3D/materials/fluentButton/index.js.map +1 -0
- package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -0
- package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +7 -0
- package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -0
- package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -0
- package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +7 -0
- package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -0
- package/3D/materials/fluentMaterial.d.ts +2 -88
- package/3D/materials/fluentMaterial.js +2 -277
- package/3D/materials/fluentMaterial.js.map +1 -1
- package/3D/materials/handle/handleMaterial.d.ts +68 -0
- package/3D/materials/handle/handleMaterial.js +127 -0
- package/3D/materials/handle/handleMaterial.js.map +1 -0
- package/3D/materials/handle/index.d.ts +1 -0
- package/3D/materials/handle/index.js +2 -0
- package/3D/materials/handle/index.js.map +1 -0
- package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -0
- package/3D/materials/handle/shaders/handle.fragment.js +7 -0
- package/3D/materials/handle/shaders/handle.fragment.js.map +1 -0
- package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -0
- package/3D/materials/handle/shaders/handle.vertex.js +7 -0
- package/3D/materials/handle/shaders/handle.vertex.js.map +1 -0
- package/3D/materials/index.d.ts +5 -1
- package/3D/materials/index.js +5 -1
- package/3D/materials/index.js.map +1 -1
- package/3D/materials/mrdl/index.d.ts +3 -0
- package/3D/materials/mrdl/index.js +4 -0
- package/3D/materials/mrdl/index.js.map +1 -0
- package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +147 -0
- package/3D/materials/mrdl/mrdlBackplateMaterial.js +410 -0
- package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -0
- package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +333 -0
- package/3D/materials/mrdl/mrdlSliderBarMaterial.js +787 -0
- package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -0
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +333 -0
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +787 -0
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -0
- package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -0
- package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +7 -0
- package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -0
- package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -0
- package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +7 -0
- package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -0
- package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -0
- package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +7 -0
- package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -0
- package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -0
- package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +7 -0
- package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -0
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -0
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +7 -0
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -0
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -0
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +7 -0
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -0
- package/3D/vector3WithInfo.js +1 -1
- package/index.d.ts +2 -2
- package/index.js +2 -2
- package/index.js.map +1 -1
- package/legacy/legacy.js +2 -2
- package/package.json +126 -9
- package/3D/materials/shaders/fluent.fragment.js +0 -7
- package/3D/materials/shaders/fluent.fragment.js.map +0 -1
- package/3D/materials/shaders/fluent.vertex.js.map +0 -1
package/2D/adtInstrumentation.js
CHANGED
|
@@ -170,6 +170,19 @@ export declare class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
170
170
|
*/
|
|
171
171
|
getDescendants(directDescendantsOnly?: boolean, predicate?: (control: Control) => boolean): Control[];
|
|
172
172
|
/**
|
|
173
|
+
* Will return all controls with the given type name
|
|
174
|
+
* @param typeName defines the type name to search for
|
|
175
|
+
* @returns an array of all controls found
|
|
176
|
+
*/
|
|
177
|
+
getControlsByType(typeName: string): Control[];
|
|
178
|
+
/**
|
|
179
|
+
* Will return the first control with the given name
|
|
180
|
+
* @param name defines the name to search for
|
|
181
|
+
* @return the first control found or null
|
|
182
|
+
*/
|
|
183
|
+
getControlByName(name: string): Nullable<Control>;
|
|
184
|
+
private _getControlByKey;
|
|
185
|
+
/**
|
|
173
186
|
* Gets or sets the current focused control
|
|
174
187
|
*/
|
|
175
188
|
get focusedControl(): Nullable<IFocusableControl>;
|
|
@@ -249,7 +262,7 @@ export declare class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
249
262
|
dispose(): void;
|
|
250
263
|
private _onResize;
|
|
251
264
|
/** @hidden */
|
|
252
|
-
_getGlobalViewport(
|
|
265
|
+
_getGlobalViewport(): Viewport;
|
|
253
266
|
/**
|
|
254
267
|
* Get screen coordinates for a vector3
|
|
255
268
|
* @param position defines the position to project
|
|
@@ -316,14 +329,23 @@ export declare class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
316
329
|
/**
|
|
317
330
|
* Recreate the content of the ADT from a JSON object
|
|
318
331
|
* @param serializedObject define the JSON serialized object to restore from
|
|
332
|
+
* @param scaleToSize defines whether to scale to texture to the saved size
|
|
319
333
|
*/
|
|
320
|
-
parseContent(serializedObject: any): void;
|
|
334
|
+
parseContent(serializedObject: any, scaleToSize?: boolean): void;
|
|
321
335
|
/**
|
|
322
336
|
* Recreate the content of the ADT from a snippet saved by the GUI editor
|
|
323
337
|
* @param snippetId defines the snippet to load
|
|
338
|
+
* @param scaleToSize defines whether to scale to texture to the saved size
|
|
324
339
|
* @returns a promise that will resolve on success
|
|
325
340
|
*/
|
|
326
|
-
parseFromSnippetAsync(snippetId: string): Promise<void>;
|
|
341
|
+
parseFromSnippetAsync(snippetId: string, scaleToSize?: boolean): Promise<void>;
|
|
342
|
+
/**
|
|
343
|
+
* Recreate the content of the ADT from a url json
|
|
344
|
+
* @param url defines the url to load
|
|
345
|
+
* @param scaleToSize defines whether to scale to texture to the saved size
|
|
346
|
+
* @returns a promise that will resolve on success
|
|
347
|
+
*/
|
|
348
|
+
parseFromURLAsync(url: string, scaleToSize?: boolean): Promise<void>;
|
|
327
349
|
/**
|
|
328
350
|
* Creates a new AdvancedDynamicTexture in projected mode (ie. attached to a mesh)
|
|
329
351
|
* @param mesh defines the mesh which will receive the texture
|
|
@@ -353,7 +375,7 @@ export declare class AdvancedDynamicTexture extends DynamicTexture {
|
|
|
353
375
|
* LayerMask is set through advancedTexture.layer.layerMask
|
|
354
376
|
* @param name defines name for the texture
|
|
355
377
|
* @param foreground defines a boolean indicating if the texture must be rendered in foreground (default is true)
|
|
356
|
-
* @param scene defines the
|
|
378
|
+
* @param scene defines the hosting scene
|
|
357
379
|
* @param sampling defines the texture sampling mode (Texture.BILINEAR_SAMPLINGMODE by default)
|
|
358
380
|
* @returns a new AdvancedDynamicTexture
|
|
359
381
|
*/
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
-
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3
|
-
import { Vector2, Vector3 } from "@babylonjs/core/Maths/math.vector";
|
|
4
|
-
import { Tools } from "@babylonjs/core/Misc/tools";
|
|
5
|
-
import { PointerEventTypes } from '@babylonjs/core/Events/pointerEvents';
|
|
6
|
-
import { ClipboardEventTypes, ClipboardInfo } from "@babylonjs/core/Events/clipboardEvents";
|
|
7
|
-
import { KeyboardEventTypes } from "@babylonjs/core/Events/keyboardEvents";
|
|
8
|
-
import { StandardMaterial } from "@babylonjs/core/Materials/standardMaterial";
|
|
9
|
-
import { Texture } from "@babylonjs/core/Materials/Textures/texture";
|
|
10
|
-
import { DynamicTexture } from "@babylonjs/core/Materials/Textures/dynamicTexture";
|
|
11
|
-
import { Layer } from "@babylonjs/core/Layers/layer";
|
|
12
|
-
import { Container } from "./controls/container";
|
|
13
|
-
import { Control } from "./controls/control";
|
|
14
|
-
import { Style } from "./style";
|
|
15
|
-
import { Measure } from "./measure";
|
|
16
|
-
import { Constants } from '@babylonjs/core/Engines/constants';
|
|
17
|
-
import { Viewport } from '@babylonjs/core/Maths/math.viewport';
|
|
18
|
-
import { Color3 } from '@babylonjs/core/Maths/math.color';
|
|
19
|
-
import { WebRequest } from "@babylonjs/core/Misc/webRequest";
|
|
2
|
+
import { Observable } from "@babylonjs/core/Misc/observable.js";
|
|
3
|
+
import { Vector2, Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
4
|
+
import { Tools } from "@babylonjs/core/Misc/tools.js";
|
|
5
|
+
import { PointerEventTypes } from '@babylonjs/core/Events/pointerEvents.js';
|
|
6
|
+
import { ClipboardEventTypes, ClipboardInfo } from "@babylonjs/core/Events/clipboardEvents.js";
|
|
7
|
+
import { KeyboardEventTypes } from "@babylonjs/core/Events/keyboardEvents.js";
|
|
8
|
+
import { StandardMaterial } from "@babylonjs/core/Materials/standardMaterial.js";
|
|
9
|
+
import { Texture } from "@babylonjs/core/Materials/Textures/texture.js";
|
|
10
|
+
import { DynamicTexture } from "@babylonjs/core/Materials/Textures/dynamicTexture.js";
|
|
11
|
+
import { Layer } from "@babylonjs/core/Layers/layer.js";
|
|
12
|
+
import { Container } from "./controls/container.js";
|
|
13
|
+
import { Control } from "./controls/control.js";
|
|
14
|
+
import { Style } from "./style.js";
|
|
15
|
+
import { Measure } from "./measure.js";
|
|
16
|
+
import { Constants } from '@babylonjs/core/Engines/constants.js';
|
|
17
|
+
import { Viewport } from '@babylonjs/core/Maths/math.viewport.js';
|
|
18
|
+
import { Color3 } from '@babylonjs/core/Maths/math.color.js';
|
|
19
|
+
import { WebRequest } from "@babylonjs/core/Misc/webRequest.js";
|
|
20
20
|
/**
|
|
21
21
|
* Class used to create texture to support 2D GUI elements
|
|
22
22
|
* @see https://doc.babylonjs.com/how_to/gui
|
|
@@ -38,6 +38,7 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
38
38
|
if (height === void 0) { height = 0; }
|
|
39
39
|
if (generateMipMaps === void 0) { generateMipMaps = false; }
|
|
40
40
|
if (samplingMode === void 0) { samplingMode = Texture.NEAREST_SAMPLINGMODE; }
|
|
41
|
+
if (invertY === void 0) { invertY = true; }
|
|
41
42
|
var _this = _super.call(this, name, { width: width, height: height }, scene, generateMipMaps, samplingMode, Constants.TEXTUREFORMAT_RGBA, invertY) || this;
|
|
42
43
|
_this._isDirty = false;
|
|
43
44
|
/** @hidden */
|
|
@@ -130,6 +131,7 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
130
131
|
if (!scene || !_this._texture) {
|
|
131
132
|
return _this;
|
|
132
133
|
}
|
|
134
|
+
_this.applyYInversionOnUpdate = invertY;
|
|
133
135
|
_this._rootElement = scene.getEngine().getInputElement();
|
|
134
136
|
_this._renderObserver = scene.onBeforeCameraRenderObservable.add(function (camera) { return _this._checkUpdate(camera); });
|
|
135
137
|
_this._preKeyboardObserver = scene.onPreKeyboardObservable.add(function (info) {
|
|
@@ -341,6 +343,25 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
341
343
|
AdvancedDynamicTexture.prototype.getDescendants = function (directDescendantsOnly, predicate) {
|
|
342
344
|
return this._rootContainer.getDescendants(directDescendantsOnly, predicate);
|
|
343
345
|
};
|
|
346
|
+
/**
|
|
347
|
+
* Will return all controls with the given type name
|
|
348
|
+
* @param typeName defines the type name to search for
|
|
349
|
+
* @returns an array of all controls found
|
|
350
|
+
*/
|
|
351
|
+
AdvancedDynamicTexture.prototype.getControlsByType = function (typeName) {
|
|
352
|
+
return this._rootContainer.getDescendants(false, function (control) { return control.typeName === typeName; });
|
|
353
|
+
};
|
|
354
|
+
/**
|
|
355
|
+
* Will return the first control with the given name
|
|
356
|
+
* @param name defines the name to search for
|
|
357
|
+
* @return the first control found or null
|
|
358
|
+
*/
|
|
359
|
+
AdvancedDynamicTexture.prototype.getControlByName = function (name) {
|
|
360
|
+
return this._getControlByKey("name", name);
|
|
361
|
+
};
|
|
362
|
+
AdvancedDynamicTexture.prototype._getControlByKey = function (key, value) {
|
|
363
|
+
return this._rootContainer.getDescendants().find(function (control) { return control[key] === value; }) || null;
|
|
364
|
+
};
|
|
344
365
|
Object.defineProperty(AdvancedDynamicTexture.prototype, "focusedControl", {
|
|
345
366
|
/**
|
|
346
367
|
* Gets or sets the current focused control
|
|
@@ -565,9 +586,9 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
565
586
|
this.invalidateRect(0, 0, textureSize.width - 1, textureSize.height - 1);
|
|
566
587
|
};
|
|
567
588
|
/** @hidden */
|
|
568
|
-
AdvancedDynamicTexture.prototype._getGlobalViewport = function (
|
|
569
|
-
var
|
|
570
|
-
return this._fullscreenViewport.toGlobal(
|
|
589
|
+
AdvancedDynamicTexture.prototype._getGlobalViewport = function () {
|
|
590
|
+
var size = this.getSize();
|
|
591
|
+
return this._fullscreenViewport.toGlobal(size.width, size.height);
|
|
571
592
|
};
|
|
572
593
|
/**
|
|
573
594
|
* Get screen coordinates for a vector3
|
|
@@ -576,14 +597,8 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
576
597
|
* @returns the projected position
|
|
577
598
|
*/
|
|
578
599
|
AdvancedDynamicTexture.prototype.getProjectedPosition = function (position, worldMatrix) {
|
|
579
|
-
var
|
|
580
|
-
|
|
581
|
-
return Vector2.Zero();
|
|
582
|
-
}
|
|
583
|
-
var globalViewport = this._getGlobalViewport(scene);
|
|
584
|
-
var projectedPosition = Vector3.Project(position, worldMatrix, scene.getTransformMatrix(), globalViewport);
|
|
585
|
-
projectedPosition.scaleInPlace(this.renderScale);
|
|
586
|
-
return new Vector2(projectedPosition.x, projectedPosition.y);
|
|
600
|
+
var result = this.getProjectedPositionWithZ(position, worldMatrix);
|
|
601
|
+
return new Vector2(result.x, result.y);
|
|
587
602
|
};
|
|
588
603
|
/**
|
|
589
604
|
* Get screen coordinates for a vector3
|
|
@@ -596,9 +611,8 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
596
611
|
if (!scene) {
|
|
597
612
|
return Vector3.Zero();
|
|
598
613
|
}
|
|
599
|
-
var globalViewport = this._getGlobalViewport(
|
|
614
|
+
var globalViewport = this._getGlobalViewport();
|
|
600
615
|
var projectedPosition = Vector3.Project(position, worldMatrix, scene.getTransformMatrix(), globalViewport);
|
|
601
|
-
projectedPosition.scaleInPlace(this.renderScale);
|
|
602
616
|
return new Vector3(projectedPosition.x, projectedPosition.y, projectedPosition.z);
|
|
603
617
|
};
|
|
604
618
|
AdvancedDynamicTexture.prototype._checkUpdate = function (camera) {
|
|
@@ -612,7 +626,7 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
612
626
|
if (!scene) {
|
|
613
627
|
return;
|
|
614
628
|
}
|
|
615
|
-
var globalViewport = this._getGlobalViewport(
|
|
629
|
+
var globalViewport = this._getGlobalViewport();
|
|
616
630
|
var _loop_1 = function (control) {
|
|
617
631
|
if (!control.isVisible) {
|
|
618
632
|
return "continue";
|
|
@@ -631,11 +645,8 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
631
645
|
return "continue";
|
|
632
646
|
}
|
|
633
647
|
control.notRenderable = false;
|
|
634
|
-
// Account for RenderScale.
|
|
635
|
-
projectedPosition.scaleInPlace(this_1.renderScale);
|
|
636
648
|
control._moveToProjectedPosition(projectedPosition);
|
|
637
649
|
};
|
|
638
|
-
var this_1 = this;
|
|
639
650
|
for (var _i = 0, _a = this._linkedControls; _i < _a.length; _i++) {
|
|
640
651
|
var control = _a[_i];
|
|
641
652
|
_loop_1(control);
|
|
@@ -704,6 +715,9 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
704
715
|
var textureSize = this.getSize();
|
|
705
716
|
if (this._isFullscreen) {
|
|
706
717
|
var camera = scene.cameraToUseForPointers || scene.activeCamera;
|
|
718
|
+
if (!camera) {
|
|
719
|
+
return;
|
|
720
|
+
}
|
|
707
721
|
var viewport = camera.viewport;
|
|
708
722
|
x = x * (textureSize.width / (engine.getRenderWidth() * viewport.width));
|
|
709
723
|
y = y * (textureSize.height / (engine.getRenderHeight() * viewport.height));
|
|
@@ -714,7 +728,9 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
714
728
|
}
|
|
715
729
|
this._cursorChanged = false;
|
|
716
730
|
if (!this._rootContainer._processPicking(x, y, pi, type, pointerId, buttonIndex, deltaX, deltaY)) {
|
|
717
|
-
|
|
731
|
+
if (!scene.doNotHandleCursors) {
|
|
732
|
+
this._changeCursor("");
|
|
733
|
+
}
|
|
718
734
|
if (type === PointerEventTypes.POINTERMOVE) {
|
|
719
735
|
if (this._lastControlOver[pointerId]) {
|
|
720
736
|
this._lastControlOver[pointerId]._onPointerOut(this._lastControlOver[pointerId], pi);
|
|
@@ -722,7 +738,7 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
722
738
|
}
|
|
723
739
|
}
|
|
724
740
|
}
|
|
725
|
-
if (!this._cursorChanged) {
|
|
741
|
+
if (!this._cursorChanged && !scene.doNotHandleCursors) {
|
|
726
742
|
this._changeCursor("");
|
|
727
743
|
}
|
|
728
744
|
this._manageFocus();
|
|
@@ -762,9 +778,6 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
762
778
|
&& pi.type !== PointerEventTypes.POINTERWHEEL) {
|
|
763
779
|
return;
|
|
764
780
|
}
|
|
765
|
-
if (!scene) {
|
|
766
|
-
return;
|
|
767
|
-
}
|
|
768
781
|
if (pi.type === PointerEventTypes.POINTERMOVE && pi.event.pointerId) {
|
|
769
782
|
_this._defaultMousePointerId = pi.event.pointerId; // This is required to make sure we have the correct pointer ID for wheel
|
|
770
783
|
}
|
|
@@ -824,15 +837,19 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
824
837
|
this._pointerObserver = scene.onPointerObservable.add(function (pi, state) {
|
|
825
838
|
if (pi.type !== PointerEventTypes.POINTERMOVE
|
|
826
839
|
&& pi.type !== PointerEventTypes.POINTERUP
|
|
827
|
-
&& pi.type !== PointerEventTypes.POINTERDOWN
|
|
840
|
+
&& pi.type !== PointerEventTypes.POINTERDOWN
|
|
841
|
+
&& pi.type !== PointerEventTypes.POINTERWHEEL) {
|
|
828
842
|
return;
|
|
829
843
|
}
|
|
844
|
+
if (pi.type === PointerEventTypes.POINTERMOVE && pi.event.pointerId) {
|
|
845
|
+
_this._defaultMousePointerId = pi.event.pointerId; // This is required to make sure we have the correct pointer ID for wheel
|
|
846
|
+
}
|
|
830
847
|
var pointerId = pi.event.pointerId || _this._defaultMousePointerId;
|
|
831
848
|
if (pi.pickInfo && pi.pickInfo.hit && pi.pickInfo.pickedMesh === mesh) {
|
|
832
849
|
var uv = pi.pickInfo.getTextureCoordinates();
|
|
833
850
|
if (uv) {
|
|
834
851
|
var size = _this.getSize();
|
|
835
|
-
_this._doPicking(uv.x * size.width, (_this.applyYInversionOnUpdate ? (1.0 - uv.y) : uv.y) * size.height, pi, pi.type, pointerId, pi.event.button);
|
|
852
|
+
_this._doPicking(uv.x * size.width, (_this.applyYInversionOnUpdate ? (1.0 - uv.y) : uv.y) * size.height, pi, pi.type, pointerId, pi.event.button, pi.event.deltaX, pi.event.deltaY);
|
|
836
853
|
}
|
|
837
854
|
}
|
|
838
855
|
else if (pi.type === PointerEventTypes.POINTERUP) {
|
|
@@ -919,6 +936,7 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
919
936
|
var key = _a[0], value = _a[1];
|
|
920
937
|
value._onCanvasBlur();
|
|
921
938
|
});
|
|
939
|
+
_this.focusedControl = null;
|
|
922
940
|
_this._lastControlDown = {};
|
|
923
941
|
});
|
|
924
942
|
};
|
|
@@ -927,8 +945,11 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
927
945
|
* @returns an object with the JSON serialized data
|
|
928
946
|
*/
|
|
929
947
|
AdvancedDynamicTexture.prototype.serializeContent = function () {
|
|
948
|
+
var size = this.getSize();
|
|
930
949
|
var serializationObject = {
|
|
931
|
-
root: {}
|
|
950
|
+
root: {},
|
|
951
|
+
width: size.width,
|
|
952
|
+
height: size.height,
|
|
932
953
|
};
|
|
933
954
|
this._rootContainer.serialize(serializationObject.root);
|
|
934
955
|
return serializationObject;
|
|
@@ -936,16 +957,25 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
936
957
|
/**
|
|
937
958
|
* Recreate the content of the ADT from a JSON object
|
|
938
959
|
* @param serializedObject define the JSON serialized object to restore from
|
|
960
|
+
* @param scaleToSize defines whether to scale to texture to the saved size
|
|
939
961
|
*/
|
|
940
|
-
AdvancedDynamicTexture.prototype.parseContent = function (serializedObject) {
|
|
962
|
+
AdvancedDynamicTexture.prototype.parseContent = function (serializedObject, scaleToSize) {
|
|
941
963
|
this._rootContainer = Control.Parse(serializedObject.root, this);
|
|
964
|
+
if (scaleToSize) {
|
|
965
|
+
var width = serializedObject.width;
|
|
966
|
+
var height = serializedObject.height;
|
|
967
|
+
if (typeof (width) === "number" && typeof (height) === "number" && width >= 0 && height >= 0) {
|
|
968
|
+
this.scaleTo(width, height);
|
|
969
|
+
}
|
|
970
|
+
}
|
|
942
971
|
};
|
|
943
972
|
/**
|
|
944
973
|
* Recreate the content of the ADT from a snippet saved by the GUI editor
|
|
945
974
|
* @param snippetId defines the snippet to load
|
|
975
|
+
* @param scaleToSize defines whether to scale to texture to the saved size
|
|
946
976
|
* @returns a promise that will resolve on success
|
|
947
977
|
*/
|
|
948
|
-
AdvancedDynamicTexture.prototype.parseFromSnippetAsync = function (snippetId) {
|
|
978
|
+
AdvancedDynamicTexture.prototype.parseFromSnippetAsync = function (snippetId, scaleToSize) {
|
|
949
979
|
var _this = this;
|
|
950
980
|
if (snippetId === "_BLANK") {
|
|
951
981
|
return Promise.resolve();
|
|
@@ -957,7 +987,7 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
957
987
|
if (request.status == 200) {
|
|
958
988
|
var snippet = JSON.parse(JSON.parse(request.responseText).jsonPayload);
|
|
959
989
|
var serializationObject = JSON.parse(snippet.gui);
|
|
960
|
-
_this.parseContent(serializationObject);
|
|
990
|
+
_this.parseContent(serializationObject, scaleToSize);
|
|
961
991
|
_this.snippetId = snippetId;
|
|
962
992
|
resolve();
|
|
963
993
|
}
|
|
@@ -970,6 +1000,36 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
970
1000
|
request.send();
|
|
971
1001
|
});
|
|
972
1002
|
};
|
|
1003
|
+
/**
|
|
1004
|
+
* Recreate the content of the ADT from a url json
|
|
1005
|
+
* @param url defines the url to load
|
|
1006
|
+
* @param scaleToSize defines whether to scale to texture to the saved size
|
|
1007
|
+
* @returns a promise that will resolve on success
|
|
1008
|
+
*/
|
|
1009
|
+
AdvancedDynamicTexture.prototype.parseFromURLAsync = function (url, scaleToSize) {
|
|
1010
|
+
var _this = this;
|
|
1011
|
+
if (url === "") {
|
|
1012
|
+
return Promise.resolve();
|
|
1013
|
+
}
|
|
1014
|
+
return new Promise(function (resolve, reject) {
|
|
1015
|
+
var request = new WebRequest();
|
|
1016
|
+
request.addEventListener("readystatechange", function () {
|
|
1017
|
+
if (request.readyState == 4) {
|
|
1018
|
+
if (request.status == 200) {
|
|
1019
|
+
var gui = request.responseText;
|
|
1020
|
+
var serializationObject = JSON.parse(gui);
|
|
1021
|
+
_this.parseContent(serializationObject, scaleToSize);
|
|
1022
|
+
resolve();
|
|
1023
|
+
}
|
|
1024
|
+
else {
|
|
1025
|
+
reject("Unable to load");
|
|
1026
|
+
}
|
|
1027
|
+
}
|
|
1028
|
+
});
|
|
1029
|
+
request.open("GET", url);
|
|
1030
|
+
request.send();
|
|
1031
|
+
});
|
|
1032
|
+
};
|
|
973
1033
|
// Statics
|
|
974
1034
|
/**
|
|
975
1035
|
* Creates a new AdvancedDynamicTexture in projected mode (ie. attached to a mesh)
|
|
@@ -1029,7 +1089,7 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
|
|
|
1029
1089
|
* LayerMask is set through advancedTexture.layer.layerMask
|
|
1030
1090
|
* @param name defines name for the texture
|
|
1031
1091
|
* @param foreground defines a boolean indicating if the texture must be rendered in foreground (default is true)
|
|
1032
|
-
* @param scene defines the
|
|
1092
|
+
* @param scene defines the hosting scene
|
|
1033
1093
|
* @param sampling defines the texture sampling mode (Texture.BILINEAR_SAMPLINGMODE by default)
|
|
1034
1094
|
* @returns a new AdvancedDynamicTexture
|
|
1035
1095
|
*/
|