@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/controls/image.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Nullable } from "@babylonjs/core/types";
|
|
|
2
2
|
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3
3
|
import { Control } from "./control";
|
|
4
4
|
import { Measure } from "../measure";
|
|
5
|
+
import { ICanvasRenderingContext, IImage } from "@babylonjs/core/Engines/ICanvas";
|
|
5
6
|
/**
|
|
6
7
|
* Class used to create 2D images
|
|
7
8
|
*/
|
|
@@ -24,11 +25,11 @@ export declare class Image extends Control {
|
|
|
24
25
|
private _cellWidth;
|
|
25
26
|
private _cellHeight;
|
|
26
27
|
private _cellId;
|
|
27
|
-
private _populateNinePatchSlicesFromImage;
|
|
28
28
|
private _sliceLeft;
|
|
29
29
|
private _sliceRight;
|
|
30
30
|
private _sliceTop;
|
|
31
31
|
private _sliceBottom;
|
|
32
|
+
private _populateNinePatchSlicesFromImage;
|
|
32
33
|
private _detectPointerOnOpaqueOnly;
|
|
33
34
|
private _imageDataCache;
|
|
34
35
|
/**
|
|
@@ -43,11 +44,6 @@ export declare class Image extends Control {
|
|
|
43
44
|
* Gets a boolean indicating that the content is loaded
|
|
44
45
|
*/
|
|
45
46
|
get isLoaded(): boolean;
|
|
46
|
-
/**
|
|
47
|
-
* Gets or sets a boolean indicating if nine patch slices (left, top, right, bottom) should be read from image data
|
|
48
|
-
*/
|
|
49
|
-
get populateNinePatchSlicesFromImage(): boolean;
|
|
50
|
-
set populateNinePatchSlicesFromImage(value: boolean);
|
|
51
47
|
/**
|
|
52
48
|
* Gets or sets a boolean indicating if pointers should only be validated on pixels with alpha > 0.
|
|
53
49
|
* Beware using this as this will comsume more memory as the image has to be stored twice
|
|
@@ -94,6 +90,19 @@ export declare class Image extends Control {
|
|
|
94
90
|
*/
|
|
95
91
|
get sourceHeight(): number;
|
|
96
92
|
set sourceHeight(value: number);
|
|
93
|
+
/**
|
|
94
|
+
* Gets the image width
|
|
95
|
+
*/
|
|
96
|
+
get imageWidth(): number;
|
|
97
|
+
/**
|
|
98
|
+
* Gets the image height
|
|
99
|
+
*/
|
|
100
|
+
get imageHeight(): number;
|
|
101
|
+
/**
|
|
102
|
+
* Gets or sets a boolean indicating if nine patch slices (left, top, right, bottom) should be read from image data
|
|
103
|
+
*/
|
|
104
|
+
get populateNinePatchSlicesFromImage(): boolean;
|
|
105
|
+
set populateNinePatchSlicesFromImage(value: boolean);
|
|
97
106
|
/** Indicates if the format of the image is SVG */
|
|
98
107
|
get isSVG(): boolean;
|
|
99
108
|
/** Gets the status of the SVG attributes computation (sourceLeft, sourceTop, sourceWidth, sourceHeight) */
|
|
@@ -111,13 +120,13 @@ export declare class Image extends Control {
|
|
|
111
120
|
_rotate90(n: number, preserveProperties?: boolean): Image;
|
|
112
121
|
private _handleRotationForSVGImage;
|
|
113
122
|
private _rotate90SourceProperties;
|
|
123
|
+
private _extractNinePatchSliceDataFromImage;
|
|
114
124
|
/**
|
|
115
125
|
* Gets or sets the internal DOM image used to render the control
|
|
116
126
|
*/
|
|
117
|
-
set domImage(value:
|
|
118
|
-
get domImage():
|
|
127
|
+
set domImage(value: IImage);
|
|
128
|
+
get domImage(): IImage;
|
|
119
129
|
private _onImageLoaded;
|
|
120
|
-
private _extractNinePatchSliceDataFromImage;
|
|
121
130
|
/**
|
|
122
131
|
* Gets the image source url
|
|
123
132
|
*/
|
|
@@ -169,11 +178,10 @@ export declare class Image extends Control {
|
|
|
169
178
|
protected _getTypeName(): string;
|
|
170
179
|
/** Force the control to synchronize with its content */
|
|
171
180
|
synchronizeSizeWithContent(): void;
|
|
172
|
-
protected _processMeasures(parentMeasure: Measure, context:
|
|
181
|
+
protected _processMeasures(parentMeasure: Measure, context: ICanvasRenderingContext): void;
|
|
173
182
|
private _prepareWorkingCanvasForOpaqueDetection;
|
|
174
183
|
private _drawImage;
|
|
175
|
-
_draw(context:
|
|
176
|
-
private _renderCornerPatch;
|
|
184
|
+
_draw(context: ICanvasRenderingContext): void;
|
|
177
185
|
private _renderNinePatch;
|
|
178
186
|
dispose(): void;
|
|
179
187
|
/** STRETCH_NONE */
|
package/2D/controls/image.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { __decorate, __extends } from "tslib";
|
|
2
|
-
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3
|
-
import { Tools } from "@babylonjs/core/Misc/tools";
|
|
4
|
-
import { Control } from "./control";
|
|
5
|
-
import {
|
|
6
|
-
import { serialize } from "@babylonjs/core/Misc/decorators";
|
|
2
|
+
import { Observable } from "@babylonjs/core/Misc/observable.js";
|
|
3
|
+
import { Tools } from "@babylonjs/core/Misc/tools.js";
|
|
4
|
+
import { Control } from "./control.js";
|
|
5
|
+
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
6
|
+
import { serialize } from "@babylonjs/core/Misc/decorators.js";
|
|
7
|
+
import { Engine } from "@babylonjs/core/Engines/engine.js";
|
|
7
8
|
/**
|
|
8
9
|
* Class used to create 2D images
|
|
9
10
|
*/
|
|
@@ -54,25 +55,6 @@ var Image = /** @class */ (function (_super) {
|
|
|
54
55
|
enumerable: false,
|
|
55
56
|
configurable: true
|
|
56
57
|
});
|
|
57
|
-
Object.defineProperty(Image.prototype, "populateNinePatchSlicesFromImage", {
|
|
58
|
-
/**
|
|
59
|
-
* Gets or sets a boolean indicating if nine patch slices (left, top, right, bottom) should be read from image data
|
|
60
|
-
*/
|
|
61
|
-
get: function () {
|
|
62
|
-
return this._populateNinePatchSlicesFromImage;
|
|
63
|
-
},
|
|
64
|
-
set: function (value) {
|
|
65
|
-
if (this._populateNinePatchSlicesFromImage === value) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
this._populateNinePatchSlicesFromImage = value;
|
|
69
|
-
if (this._populateNinePatchSlicesFromImage && this._loaded) {
|
|
70
|
-
this._extractNinePatchSliceDataFromImage();
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
-
enumerable: false,
|
|
74
|
-
configurable: true
|
|
75
|
-
});
|
|
76
58
|
Object.defineProperty(Image.prototype, "detectPointerOnOpaqueOnly", {
|
|
77
59
|
/**
|
|
78
60
|
* Gets or sets a boolean indicating if pointers should only be validated on pixels with alpha > 0.
|
|
@@ -226,6 +208,45 @@ var Image = /** @class */ (function (_super) {
|
|
|
226
208
|
enumerable: false,
|
|
227
209
|
configurable: true
|
|
228
210
|
});
|
|
211
|
+
Object.defineProperty(Image.prototype, "imageWidth", {
|
|
212
|
+
/**
|
|
213
|
+
* Gets the image width
|
|
214
|
+
*/
|
|
215
|
+
get: function () {
|
|
216
|
+
return this._imageWidth;
|
|
217
|
+
},
|
|
218
|
+
enumerable: false,
|
|
219
|
+
configurable: true
|
|
220
|
+
});
|
|
221
|
+
Object.defineProperty(Image.prototype, "imageHeight", {
|
|
222
|
+
/**
|
|
223
|
+
* Gets the image height
|
|
224
|
+
*/
|
|
225
|
+
get: function () {
|
|
226
|
+
return this._imageHeight;
|
|
227
|
+
},
|
|
228
|
+
enumerable: false,
|
|
229
|
+
configurable: true
|
|
230
|
+
});
|
|
231
|
+
Object.defineProperty(Image.prototype, "populateNinePatchSlicesFromImage", {
|
|
232
|
+
/**
|
|
233
|
+
* Gets or sets a boolean indicating if nine patch slices (left, top, right, bottom) should be read from image data
|
|
234
|
+
*/
|
|
235
|
+
get: function () {
|
|
236
|
+
return this._populateNinePatchSlicesFromImage;
|
|
237
|
+
},
|
|
238
|
+
set: function (value) {
|
|
239
|
+
if (this._populateNinePatchSlicesFromImage === value) {
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
this._populateNinePatchSlicesFromImage = value;
|
|
243
|
+
if (this._populateNinePatchSlicesFromImage && this._loaded) {
|
|
244
|
+
this._extractNinePatchSliceDataFromImage();
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
enumerable: false,
|
|
248
|
+
configurable: true
|
|
249
|
+
});
|
|
229
250
|
Object.defineProperty(Image.prototype, "isSVG", {
|
|
230
251
|
/** Indicates if the format of the image is SVG */
|
|
231
252
|
get: function () {
|
|
@@ -279,13 +300,17 @@ var Image = /** @class */ (function (_super) {
|
|
|
279
300
|
});
|
|
280
301
|
/** @hidden */
|
|
281
302
|
Image.prototype._rotate90 = function (n, preserveProperties) {
|
|
303
|
+
var _a, _b;
|
|
282
304
|
if (preserveProperties === void 0) { preserveProperties = false; }
|
|
283
|
-
var canvas = document.createElement("canvas");
|
|
284
|
-
var context = canvas.getContext("2d");
|
|
285
305
|
var width = this._domImage.width;
|
|
286
306
|
var height = this._domImage.height;
|
|
287
|
-
|
|
288
|
-
|
|
307
|
+
// Should abstract platform instead of using LastCreatedEngine
|
|
308
|
+
var engine = ((_b = (_a = this._host) === null || _a === void 0 ? void 0 : _a.getScene()) === null || _b === void 0 ? void 0 : _b.getEngine()) || Engine.LastCreatedEngine;
|
|
309
|
+
if (!engine) {
|
|
310
|
+
throw new Error("Invalid engine. Unable to create a canvas.");
|
|
311
|
+
}
|
|
312
|
+
var canvas = engine.createCanvas(height, width);
|
|
313
|
+
var context = canvas.getContext("2d");
|
|
289
314
|
context.translate(canvas.width / 2, canvas.height / 2);
|
|
290
315
|
context.rotate((n * Math.PI) / 2);
|
|
291
316
|
context.drawImage(this._domImage, 0, 0, width, height, -width / 2, -height / 2, width, height);
|
|
@@ -345,6 +370,50 @@ var Image = /** @class */ (function (_super) {
|
|
|
345
370
|
dstImage.sourceWidth = dstWidth;
|
|
346
371
|
dstImage.sourceHeight = dstHeight;
|
|
347
372
|
};
|
|
373
|
+
Image.prototype._extractNinePatchSliceDataFromImage = function () {
|
|
374
|
+
var _a, _b;
|
|
375
|
+
var width = this._domImage.width;
|
|
376
|
+
var height = this._domImage.height;
|
|
377
|
+
if (!this._workingCanvas) {
|
|
378
|
+
var engine = ((_b = (_a = this._host) === null || _a === void 0 ? void 0 : _a.getScene()) === null || _b === void 0 ? void 0 : _b.getEngine()) || Engine.LastCreatedEngine;
|
|
379
|
+
if (!engine) {
|
|
380
|
+
throw new Error("Invalid engine. Unable to create a canvas.");
|
|
381
|
+
}
|
|
382
|
+
this._workingCanvas = engine.createCanvas(width, height);
|
|
383
|
+
}
|
|
384
|
+
var canvas = this._workingCanvas;
|
|
385
|
+
var context = canvas.getContext("2d");
|
|
386
|
+
context.drawImage(this._domImage, 0, 0, width, height);
|
|
387
|
+
var imageData = context.getImageData(0, 0, width, height);
|
|
388
|
+
// Left and right
|
|
389
|
+
this._sliceLeft = -1;
|
|
390
|
+
this._sliceRight = -1;
|
|
391
|
+
for (var x = 0; x < width; x++) {
|
|
392
|
+
var alpha = imageData.data[x * 4 + 3];
|
|
393
|
+
if (alpha > 127 && this._sliceLeft === -1) {
|
|
394
|
+
this._sliceLeft = x;
|
|
395
|
+
continue;
|
|
396
|
+
}
|
|
397
|
+
if (alpha < 127 && this._sliceLeft > -1) {
|
|
398
|
+
this._sliceRight = x;
|
|
399
|
+
break;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
// top and bottom
|
|
403
|
+
this._sliceTop = -1;
|
|
404
|
+
this._sliceBottom = -1;
|
|
405
|
+
for (var y = 0; y < height; y++) {
|
|
406
|
+
var alpha = imageData.data[y * width * 4 + 3];
|
|
407
|
+
if (alpha > 127 && this._sliceTop === -1) {
|
|
408
|
+
this._sliceTop = y;
|
|
409
|
+
continue;
|
|
410
|
+
}
|
|
411
|
+
if (alpha < 127 && this._sliceTop > -1) {
|
|
412
|
+
this._sliceBottom = y;
|
|
413
|
+
break;
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
};
|
|
348
417
|
Object.defineProperty(Image.prototype, "domImage", {
|
|
349
418
|
get: function () {
|
|
350
419
|
return this._domImage;
|
|
@@ -383,47 +452,6 @@ var Image = /** @class */ (function (_super) {
|
|
|
383
452
|
this.onImageLoadedObservable.notifyObservers(this);
|
|
384
453
|
this._markAsDirty();
|
|
385
454
|
};
|
|
386
|
-
Image.prototype._extractNinePatchSliceDataFromImage = function () {
|
|
387
|
-
if (!this._workingCanvas) {
|
|
388
|
-
this._workingCanvas = document.createElement("canvas");
|
|
389
|
-
}
|
|
390
|
-
var canvas = this._workingCanvas;
|
|
391
|
-
var context = canvas.getContext("2d");
|
|
392
|
-
var width = this._domImage.width;
|
|
393
|
-
var height = this._domImage.height;
|
|
394
|
-
canvas.width = width;
|
|
395
|
-
canvas.height = height;
|
|
396
|
-
context.drawImage(this._domImage, 0, 0, width, height);
|
|
397
|
-
var imageData = context.getImageData(0, 0, width, height);
|
|
398
|
-
// Left and right
|
|
399
|
-
this._sliceLeft = -1;
|
|
400
|
-
this._sliceRight = -1;
|
|
401
|
-
for (var x = 0; x < width; x++) {
|
|
402
|
-
var alpha = imageData.data[x * 4 + 3];
|
|
403
|
-
if (alpha > 127 && this._sliceLeft === -1) {
|
|
404
|
-
this._sliceLeft = x;
|
|
405
|
-
continue;
|
|
406
|
-
}
|
|
407
|
-
if (alpha < 127 && this._sliceLeft > -1) {
|
|
408
|
-
this._sliceRight = x;
|
|
409
|
-
break;
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
// top and bottom
|
|
413
|
-
this._sliceTop = -1;
|
|
414
|
-
this._sliceBottom = -1;
|
|
415
|
-
for (var y = 0; y < height; y++) {
|
|
416
|
-
var alpha = imageData.data[y * width * 4 + 3];
|
|
417
|
-
if (alpha > 127 && this._sliceTop === -1) {
|
|
418
|
-
this._sliceTop = y;
|
|
419
|
-
continue;
|
|
420
|
-
}
|
|
421
|
-
if (alpha < 127 && this._sliceTop > -1) {
|
|
422
|
-
this._sliceBottom = y;
|
|
423
|
-
break;
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
};
|
|
427
455
|
Object.defineProperty(Image.prototype, "source", {
|
|
428
456
|
/**
|
|
429
457
|
* Gets the image source url
|
|
@@ -436,6 +464,7 @@ var Image = /** @class */ (function (_super) {
|
|
|
436
464
|
*/
|
|
437
465
|
set: function (value) {
|
|
438
466
|
var _this = this;
|
|
467
|
+
var _a, _b;
|
|
439
468
|
if (this._source === value) {
|
|
440
469
|
return;
|
|
441
470
|
}
|
|
@@ -445,7 +474,12 @@ var Image = /** @class */ (function (_super) {
|
|
|
445
474
|
if (value) {
|
|
446
475
|
value = this._svgCheck(value);
|
|
447
476
|
}
|
|
448
|
-
|
|
477
|
+
// Should abstract platform instead of using LastCreatedEngine
|
|
478
|
+
var engine = ((_b = (_a = this._host) === null || _a === void 0 ? void 0 : _a.getScene()) === null || _b === void 0 ? void 0 : _b.getEngine()) || Engine.LastCreatedEngine;
|
|
479
|
+
if (!engine) {
|
|
480
|
+
throw new Error("Invalid engine. Unable to create a canvas.");
|
|
481
|
+
}
|
|
482
|
+
this._domImage = engine.createCanvasImage();
|
|
449
483
|
this._domImage.onload = function () {
|
|
450
484
|
_this._onImageLoaded();
|
|
451
485
|
};
|
|
@@ -529,11 +563,12 @@ var Image = /** @class */ (function (_super) {
|
|
|
529
563
|
var elem_matrix_d = 1;
|
|
530
564
|
var elem_matrix_e = 0;
|
|
531
565
|
var elem_matrix_f = 0;
|
|
566
|
+
var mainMatrix = elem.transform.baseVal.consolidate().matrix;
|
|
532
567
|
if (elem.transform && elem.transform.baseVal.consolidate()) {
|
|
533
|
-
elem_matrix_a =
|
|
534
|
-
elem_matrix_d =
|
|
535
|
-
elem_matrix_e =
|
|
536
|
-
elem_matrix_f =
|
|
568
|
+
elem_matrix_a = mainMatrix.a;
|
|
569
|
+
elem_matrix_d = mainMatrix.d;
|
|
570
|
+
elem_matrix_e = mainMatrix.e;
|
|
571
|
+
elem_matrix_f = mainMatrix.f;
|
|
537
572
|
}
|
|
538
573
|
// compute source coordinates and dimensions
|
|
539
574
|
this.sourceLeft = ((elem_matrix_a * elem_bbox.x + elem_matrix_e) * docwidth) / vb_width;
|
|
@@ -664,18 +699,21 @@ var Image = /** @class */ (function (_super) {
|
|
|
664
699
|
_super.prototype._processMeasures.call(this, parentMeasure, context);
|
|
665
700
|
};
|
|
666
701
|
Image.prototype._prepareWorkingCanvasForOpaqueDetection = function () {
|
|
702
|
+
var _a, _b;
|
|
667
703
|
if (!this._detectPointerOnOpaqueOnly) {
|
|
668
704
|
return;
|
|
669
705
|
}
|
|
706
|
+
var width = this._currentMeasure.width;
|
|
707
|
+
var height = this._currentMeasure.height;
|
|
670
708
|
if (!this._workingCanvas) {
|
|
671
|
-
this.
|
|
709
|
+
var engine = ((_b = (_a = this._host) === null || _a === void 0 ? void 0 : _a.getScene()) === null || _b === void 0 ? void 0 : _b.getEngine()) || Engine.LastCreatedEngine;
|
|
710
|
+
if (!engine) {
|
|
711
|
+
throw new Error("Invalid engine. Unable to create a canvas.");
|
|
712
|
+
}
|
|
713
|
+
this._workingCanvas = engine.createCanvas(width, height);
|
|
672
714
|
}
|
|
673
715
|
var canvas = this._workingCanvas;
|
|
674
|
-
var width = this._currentMeasure.width;
|
|
675
|
-
var height = this._currentMeasure.height;
|
|
676
716
|
var context = canvas.getContext("2d");
|
|
677
|
-
canvas.width = width;
|
|
678
|
-
canvas.height = height;
|
|
679
717
|
context.clearRect(0, 0, width, height);
|
|
680
718
|
};
|
|
681
719
|
Image.prototype._drawImage = function (context, sx, sy, sw, sh, tx, ty, tw, th) {
|
|
@@ -739,41 +777,37 @@ var Image = /** @class */ (function (_super) {
|
|
|
739
777
|
}
|
|
740
778
|
context.restore();
|
|
741
779
|
};
|
|
742
|
-
Image.prototype._renderCornerPatch = function (context, x, y, width, height, targetX, targetY) {
|
|
743
|
-
this._drawImage(context, x, y, width, height, this._currentMeasure.left + targetX, this._currentMeasure.top + targetY, width, height);
|
|
744
|
-
};
|
|
745
780
|
Image.prototype._renderNinePatch = function (context) {
|
|
746
|
-
var height = this._imageHeight;
|
|
747
781
|
var leftWidth = this._sliceLeft;
|
|
748
782
|
var topHeight = this._sliceTop;
|
|
749
783
|
var bottomHeight = this._imageHeight - this._sliceBottom;
|
|
750
784
|
var rightWidth = this._imageWidth - this._sliceRight;
|
|
751
|
-
var left = 0;
|
|
752
|
-
var top = 0;
|
|
753
|
-
if (this._populateNinePatchSlicesFromImage) {
|
|
754
|
-
left = 1;
|
|
755
|
-
top = 1;
|
|
756
|
-
height -= 2;
|
|
757
|
-
leftWidth -= 1;
|
|
758
|
-
topHeight -= 1;
|
|
759
|
-
bottomHeight -= 1;
|
|
760
|
-
rightWidth -= 1;
|
|
761
|
-
}
|
|
762
785
|
var centerWidth = this._sliceRight - this._sliceLeft;
|
|
763
|
-
var
|
|
764
|
-
var
|
|
765
|
-
|
|
766
|
-
this.
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
786
|
+
var centerHeight = this._sliceBottom - this._sliceTop;
|
|
787
|
+
var targetCenterWidth = (this._currentMeasure.width - rightWidth - leftWidth) + 2;
|
|
788
|
+
var targetCenterHeight = (this._currentMeasure.height - bottomHeight - topHeight) + 2;
|
|
789
|
+
var centerLeftOffset = this._currentMeasure.left + leftWidth - 1;
|
|
790
|
+
var centerTopOffset = this._currentMeasure.top + topHeight - 1;
|
|
791
|
+
var rightOffset = this._currentMeasure.left + this._currentMeasure.width - rightWidth;
|
|
792
|
+
var bottomOffset = this._currentMeasure.top + this._currentMeasure.height - bottomHeight;
|
|
793
|
+
//Top Left
|
|
794
|
+
this._drawImage(context, 0, 0, leftWidth, topHeight, this._currentMeasure.left, this._currentMeasure.top, leftWidth, topHeight);
|
|
795
|
+
//Top
|
|
796
|
+
this._drawImage(context, this._sliceLeft, 0, centerWidth, topHeight, centerLeftOffset, this._currentMeasure.top, targetCenterWidth, topHeight);
|
|
797
|
+
//Top Right
|
|
798
|
+
this._drawImage(context, this.sliceRight, 0, rightWidth, topHeight, rightOffset, this._currentMeasure.top, rightWidth, topHeight);
|
|
799
|
+
//Left
|
|
800
|
+
this._drawImage(context, 0, this._sliceTop, leftWidth, centerHeight, this._currentMeasure.left, centerTopOffset, leftWidth, targetCenterHeight);
|
|
770
801
|
// Center
|
|
771
|
-
this._drawImage(context, this._sliceLeft, this._sliceTop, centerWidth,
|
|
772
|
-
//
|
|
773
|
-
this._drawImage(context,
|
|
774
|
-
|
|
775
|
-
this._drawImage(context, this.
|
|
776
|
-
|
|
802
|
+
this._drawImage(context, this._sliceLeft, this._sliceTop, centerWidth, centerHeight, centerLeftOffset, centerTopOffset, targetCenterWidth, targetCenterHeight);
|
|
803
|
+
//Right
|
|
804
|
+
this._drawImage(context, this._sliceRight, this._sliceTop, rightWidth, centerHeight, rightOffset, centerTopOffset, rightWidth, targetCenterHeight);
|
|
805
|
+
//Bottom Left
|
|
806
|
+
this._drawImage(context, 0, this._sliceBottom, leftWidth, bottomHeight, this._currentMeasure.left, bottomOffset, leftWidth, bottomHeight);
|
|
807
|
+
//Bottom
|
|
808
|
+
this._drawImage(context, this.sliceLeft, this._sliceBottom, centerWidth, bottomHeight, centerLeftOffset, bottomOffset, targetCenterWidth, bottomHeight);
|
|
809
|
+
//Bottom Right
|
|
810
|
+
this._drawImage(context, this._sliceRight, this._sliceBottom, rightWidth, bottomHeight, rightOffset, bottomOffset, rightWidth, bottomHeight);
|
|
777
811
|
};
|
|
778
812
|
Image.prototype.dispose = function () {
|
|
779
813
|
_super.prototype.dispose.call(this);
|
|
@@ -791,9 +825,6 @@ var Image = /** @class */ (function (_super) {
|
|
|
791
825
|
Image.STRETCH_EXTEND = 3;
|
|
792
826
|
/** NINE_PATCH */
|
|
793
827
|
Image.STRETCH_NINE_PATCH = 4;
|
|
794
|
-
__decorate([
|
|
795
|
-
serialize()
|
|
796
|
-
], Image.prototype, "populateNinePatchSlicesFromImage", null);
|
|
797
828
|
__decorate([
|
|
798
829
|
serialize()
|
|
799
830
|
], Image.prototype, "detectPointerOnOpaqueOnly", null);
|
|
@@ -821,6 +852,9 @@ var Image = /** @class */ (function (_super) {
|
|
|
821
852
|
__decorate([
|
|
822
853
|
serialize()
|
|
823
854
|
], Image.prototype, "sourceHeight", null);
|
|
855
|
+
__decorate([
|
|
856
|
+
serialize()
|
|
857
|
+
], Image.prototype, "populateNinePatchSlicesFromImage", null);
|
|
824
858
|
__decorate([
|
|
825
859
|
serialize()
|
|
826
860
|
], Image.prototype, "autoScale", null);
|
|
@@ -830,8 +864,17 @@ var Image = /** @class */ (function (_super) {
|
|
|
830
864
|
__decorate([
|
|
831
865
|
serialize()
|
|
832
866
|
], Image.prototype, "source", null);
|
|
867
|
+
__decorate([
|
|
868
|
+
serialize()
|
|
869
|
+
], Image.prototype, "cellWidth", null);
|
|
870
|
+
__decorate([
|
|
871
|
+
serialize()
|
|
872
|
+
], Image.prototype, "cellHeight", null);
|
|
873
|
+
__decorate([
|
|
874
|
+
serialize()
|
|
875
|
+
], Image.prototype, "cellId", null);
|
|
833
876
|
return Image;
|
|
834
877
|
}(Control));
|
|
835
878
|
export { Image };
|
|
836
|
-
|
|
879
|
+
RegisterClass("BABYLON.GUI.Image", Image);
|
|
837
880
|
//# sourceMappingURL=image.js.map
|