@babylonjs/gui 5.0.0-rc.7 → 5.0.0-rc.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/2D/adtInstrumentation.d.ts +52 -52
  2. package/2D/adtInstrumentation.js +126 -126
  3. package/2D/advancedDynamicTexture.d.ts +448 -448
  4. package/2D/advancedDynamicTexture.js +1318 -1318
  5. package/2D/controls/button.d.ts +135 -135
  6. package/2D/controls/button.js +276 -276
  7. package/2D/controls/checkbox.d.ts +59 -59
  8. package/2D/controls/checkbox.js +188 -188
  9. package/2D/controls/colorpicker.d.ts +103 -103
  10. package/2D/controls/colorpicker.js +1417 -1417
  11. package/2D/controls/container.d.ts +175 -175
  12. package/2D/controls/container.js +570 -570
  13. package/2D/controls/control.d.ts +866 -866
  14. package/2D/controls/control.js +2433 -2433
  15. package/2D/controls/displayGrid.d.ts +53 -53
  16. package/2D/controls/displayGrid.js +245 -245
  17. package/2D/controls/ellipse.d.ts +21 -21
  18. package/2D/controls/ellipse.js +85 -85
  19. package/2D/controls/focusableButton.d.ts +59 -59
  20. package/2D/controls/focusableButton.js +99 -99
  21. package/2D/controls/focusableControl.d.ts +34 -34
  22. package/2D/controls/focusableControl.js +1 -1
  23. package/2D/controls/grid.d.ts +139 -139
  24. package/2D/controls/grid.js +529 -529
  25. package/2D/controls/image.d.ts +204 -204
  26. package/2D/controls/image.js +887 -887
  27. package/2D/controls/index.d.ts +29 -29
  28. package/2D/controls/index.js +29 -29
  29. package/2D/controls/inputPassword.d.ts +8 -8
  30. package/2D/controls/inputPassword.js +25 -25
  31. package/2D/controls/inputText.d.ts +201 -201
  32. package/2D/controls/inputText.js +1119 -1119
  33. package/2D/controls/line.d.ts +66 -66
  34. package/2D/controls/line.js +271 -271
  35. package/2D/controls/multiLine.d.ts +75 -75
  36. package/2D/controls/multiLine.js +262 -262
  37. package/2D/controls/radioButton.d.ts +49 -49
  38. package/2D/controls/radioButton.js +205 -205
  39. package/2D/controls/rectangle.d.ts +29 -29
  40. package/2D/controls/rectangle.js +150 -150
  41. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -182
  42. package/2D/controls/scrollViewers/scrollViewer.js +677 -677
  43. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -57
  44. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -278
  45. package/2D/controls/selector.d.ts +263 -263
  46. package/2D/controls/selector.js +692 -692
  47. package/2D/controls/sliders/baseSlider.d.ts +82 -82
  48. package/2D/controls/sliders/baseSlider.js +347 -347
  49. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -49
  50. package/2D/controls/sliders/imageBasedSlider.js +192 -192
  51. package/2D/controls/sliders/imageScrollBar.d.ts +65 -65
  52. package/2D/controls/sliders/imageScrollBar.js +263 -263
  53. package/2D/controls/sliders/scrollBar.d.ts +38 -38
  54. package/2D/controls/sliders/scrollBar.js +143 -143
  55. package/2D/controls/sliders/slider.d.ts +35 -35
  56. package/2D/controls/sliders/slider.js +271 -271
  57. package/2D/controls/stackPanel.d.ts +64 -64
  58. package/2D/controls/stackPanel.js +246 -246
  59. package/2D/controls/statics.d.ts +6 -6
  60. package/2D/controls/statics.js +49 -49
  61. package/2D/controls/textBlock.d.ts +175 -175
  62. package/2D/controls/textBlock.js +603 -603
  63. package/2D/controls/textWrapper.d.ts +13 -13
  64. package/2D/controls/textWrapper.js +101 -101
  65. package/2D/controls/toggleButton.d.ts +117 -117
  66. package/2D/controls/toggleButton.js +268 -268
  67. package/2D/controls/virtualKeyboard.d.ts +96 -96
  68. package/2D/controls/virtualKeyboard.js +256 -256
  69. package/2D/index.d.ts +9 -9
  70. package/2D/index.js +9 -9
  71. package/2D/math2D.d.ts +117 -117
  72. package/2D/math2D.js +221 -221
  73. package/2D/measure.d.ts +77 -77
  74. package/2D/measure.js +139 -139
  75. package/2D/multiLinePoint.d.ts +47 -47
  76. package/2D/multiLinePoint.js +127 -127
  77. package/2D/style.d.ts +46 -46
  78. package/2D/style.js +97 -97
  79. package/2D/valueAndUnit.d.ts +89 -89
  80. package/2D/valueAndUnit.js +226 -226
  81. package/2D/xmlLoader.d.ts +60 -60
  82. package/2D/xmlLoader.js +348 -348
  83. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  84. package/3D/behaviors/defaultBehavior.js +121 -121
  85. package/3D/controls/abstractButton3D.d.ts +15 -15
  86. package/3D/controls/abstractButton3D.js +25 -25
  87. package/3D/controls/button3D.d.ts +30 -30
  88. package/3D/controls/button3D.js +93 -93
  89. package/3D/controls/container3D.d.ts +72 -72
  90. package/3D/controls/container3D.js +139 -139
  91. package/3D/controls/contentDisplay3D.d.ts +30 -30
  92. package/3D/controls/contentDisplay3D.js +79 -79
  93. package/3D/controls/control3D.d.ts +201 -201
  94. package/3D/controls/control3D.js +445 -445
  95. package/3D/controls/cylinderPanel.d.ts +17 -17
  96. package/3D/controls/cylinderPanel.js +66 -66
  97. package/3D/controls/handMenu.d.ts +28 -28
  98. package/3D/controls/handMenu.js +47 -47
  99. package/3D/controls/holographicBackplate.d.ts +49 -49
  100. package/3D/controls/holographicBackplate.js +120 -120
  101. package/3D/controls/holographicButton.d.ts +84 -84
  102. package/3D/controls/holographicButton.js +339 -339
  103. package/3D/controls/holographicSlate.d.ts +131 -131
  104. package/3D/controls/holographicSlate.js +431 -431
  105. package/3D/controls/index.d.ts +21 -21
  106. package/3D/controls/index.js +21 -21
  107. package/3D/controls/meshButton3D.d.ts +21 -21
  108. package/3D/controls/meshButton3D.js +62 -62
  109. package/3D/controls/nearMenu.d.ts +44 -44
  110. package/3D/controls/nearMenu.js +114 -114
  111. package/3D/controls/planePanel.d.ts +9 -9
  112. package/3D/controls/planePanel.js +36 -36
  113. package/3D/controls/scatterPanel.d.ts +18 -18
  114. package/3D/controls/scatterPanel.js +108 -108
  115. package/3D/controls/slider3D.d.ts +81 -81
  116. package/3D/controls/slider3D.js +268 -268
  117. package/3D/controls/spherePanel.d.ts +17 -17
  118. package/3D/controls/spherePanel.js +67 -67
  119. package/3D/controls/stackPanel3D.d.ts +22 -22
  120. package/3D/controls/stackPanel3D.js +107 -107
  121. package/3D/controls/touchButton3D.d.ts +80 -80
  122. package/3D/controls/touchButton3D.js +233 -233
  123. package/3D/controls/touchHolographicButton.d.ts +110 -110
  124. package/3D/controls/touchHolographicButton.js +445 -445
  125. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  126. package/3D/controls/touchHolographicMenu.js +149 -149
  127. package/3D/controls/touchMeshButton3D.d.ts +21 -21
  128. package/3D/controls/touchMeshButton3D.js +62 -62
  129. package/3D/controls/volumeBasedPanel.d.ts +53 -53
  130. package/3D/controls/volumeBasedPanel.js +174 -174
  131. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  132. package/3D/gizmos/gizmoHandle.js +209 -209
  133. package/3D/gizmos/index.d.ts +2 -2
  134. package/3D/gizmos/index.js +2 -2
  135. package/3D/gizmos/slateGizmo.d.ts +57 -57
  136. package/3D/gizmos/slateGizmo.js +369 -369
  137. package/3D/gui3DManager.d.ts +94 -94
  138. package/3D/gui3DManager.js +257 -257
  139. package/3D/index.d.ts +5 -5
  140. package/3D/index.js +5 -5
  141. package/3D/materials/fluent/fluentMaterial.d.ts +90 -90
  142. package/3D/materials/fluent/fluentMaterial.js +292 -292
  143. package/3D/materials/fluent/index.d.ts +1 -1
  144. package/3D/materials/fluent/index.js +1 -1
  145. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  146. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -8
  147. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  148. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -8
  149. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +154 -154
  150. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -469
  151. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  152. package/3D/materials/fluentBackplate/index.js +1 -1
  153. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  154. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -8
  155. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  156. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -8
  157. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +189 -189
  158. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -539
  159. package/3D/materials/fluentButton/index.d.ts +1 -1
  160. package/3D/materials/fluentButton/index.js +1 -1
  161. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  162. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -8
  163. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  164. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -8
  165. package/3D/materials/fluentMaterial.d.ts +4 -4
  166. package/3D/materials/fluentMaterial.js +4 -4
  167. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  168. package/3D/materials/handle/handleMaterial.js +126 -126
  169. package/3D/materials/handle/index.d.ts +1 -1
  170. package/3D/materials/handle/index.js +1 -1
  171. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  172. package/3D/materials/handle/shaders/handle.fragment.js +8 -8
  173. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  174. package/3D/materials/handle/shaders/handle.vertex.js +8 -8
  175. package/3D/materials/index.d.ts +5 -5
  176. package/3D/materials/index.js +5 -5
  177. package/3D/materials/mrdl/index.d.ts +3 -3
  178. package/3D/materials/mrdl/index.js +3 -3
  179. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +147 -147
  180. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -436
  181. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +333 -333
  182. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -851
  183. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +333 -333
  184. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -851
  185. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  186. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -8
  187. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  188. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -8
  189. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  190. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -8
  191. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  192. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -8
  193. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  194. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -8
  195. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  196. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -8
  197. package/3D/vector3WithInfo.d.ts +16 -16
  198. package/3D/vector3WithInfo.js +23 -23
  199. package/index.d.ts +2 -2
  200. package/index.js +2 -2
  201. package/legacy/legacy.d.ts +1 -1
  202. package/legacy/legacy.js +13 -13
  203. package/package.json +2 -2
@@ -1,64 +1,64 @@
1
- import { Container } from "./container";
2
- import { Measure } from "../measure";
3
- import { AdvancedDynamicTexture } from "../advancedDynamicTexture";
4
- import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
5
- /**
6
- * Class used to create a 2D stack panel container
7
- */
8
- export declare class StackPanel extends Container {
9
- name?: string | undefined;
10
- private _isVertical;
11
- private _manualWidth;
12
- private _manualHeight;
13
- private _doNotTrackManualChanges;
14
- private _spacing;
15
- /**
16
- * Gets or sets a boolean indicating that layout warnings should be ignored
17
- */
18
- ignoreLayoutWarnings: boolean;
19
- /** Gets or sets a boolean indicating if the stack panel is vertical or horizontal*/
20
- get isVertical(): boolean;
21
- set isVertical(value: boolean);
22
- /**
23
- * Gets or sets the spacing (in pixels) between each child.
24
- */
25
- get spacing(): number;
26
- set spacing(value: number);
27
- /**
28
- * Gets or sets panel width.
29
- * This value should not be set when in horizontal mode as it will be computed automatically
30
- */
31
- set width(value: string | number);
32
- get width(): string | number;
33
- /**
34
- * Gets or sets panel height.
35
- * This value should not be set when in vertical mode as it will be computed automatically
36
- */
37
- set height(value: string | number);
38
- get height(): string | number;
39
- /**
40
- * Creates a new StackPanel
41
- * @param name defines control name
42
- */
43
- constructor(name?: string | undefined);
44
- protected _getTypeName(): string;
45
- /**
46
- * @param parentMeasure
47
- * @param context
48
- * @hidden
49
- */
50
- protected _preMeasure(parentMeasure: Measure, context: ICanvasRenderingContext): void;
51
- protected _additionalProcessing(parentMeasure: Measure, context: ICanvasRenderingContext): void;
52
- protected _postMeasure(): void;
53
- /**
54
- * Serializes the current control
55
- * @param serializationObject defined the JSON serialized object
56
- */
57
- serialize(serializationObject: any): void;
58
- /**
59
- * @param serializedObject
60
- * @param host
61
- * @hidden
62
- */
63
- _parseFromContent(serializedObject: any, host: AdvancedDynamicTexture): void;
64
- }
1
+ import { Container } from "./container";
2
+ import { Measure } from "../measure";
3
+ import { AdvancedDynamicTexture } from "../advancedDynamicTexture";
4
+ import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
5
+ /**
6
+ * Class used to create a 2D stack panel container
7
+ */
8
+ export declare class StackPanel extends Container {
9
+ name?: string | undefined;
10
+ private _isVertical;
11
+ private _manualWidth;
12
+ private _manualHeight;
13
+ private _doNotTrackManualChanges;
14
+ private _spacing;
15
+ /**
16
+ * Gets or sets a boolean indicating that layout warnings should be ignored
17
+ */
18
+ ignoreLayoutWarnings: boolean;
19
+ /** Gets or sets a boolean indicating if the stack panel is vertical or horizontal*/
20
+ get isVertical(): boolean;
21
+ set isVertical(value: boolean);
22
+ /**
23
+ * Gets or sets the spacing (in pixels) between each child.
24
+ */
25
+ get spacing(): number;
26
+ set spacing(value: number);
27
+ /**
28
+ * Gets or sets panel width.
29
+ * This value should not be set when in horizontal mode as it will be computed automatically
30
+ */
31
+ set width(value: string | number);
32
+ get width(): string | number;
33
+ /**
34
+ * Gets or sets panel height.
35
+ * This value should not be set when in vertical mode as it will be computed automatically
36
+ */
37
+ set height(value: string | number);
38
+ get height(): string | number;
39
+ /**
40
+ * Creates a new StackPanel
41
+ * @param name defines control name
42
+ */
43
+ constructor(name?: string | undefined);
44
+ protected _getTypeName(): string;
45
+ /**
46
+ * @param parentMeasure
47
+ * @param context
48
+ * @hidden
49
+ */
50
+ protected _preMeasure(parentMeasure: Measure, context: ICanvasRenderingContext): void;
51
+ protected _additionalProcessing(parentMeasure: Measure, context: ICanvasRenderingContext): void;
52
+ protected _postMeasure(): void;
53
+ /**
54
+ * Serializes the current control
55
+ * @param serializationObject defined the JSON serialized object
56
+ */
57
+ serialize(serializationObject: any): void;
58
+ /**
59
+ * @param serializedObject
60
+ * @param host
61
+ * @hidden
62
+ */
63
+ _parseFromContent(serializedObject: any, host: AdvancedDynamicTexture): void;
64
+ }
@@ -1,247 +1,247 @@
1
- import { __decorate, __extends } from "tslib";
2
- import { Tools } from "@babylonjs/core/Misc/tools.js";
3
- import { Container } from "./container.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
- /**
8
- * Class used to create a 2D stack panel container
9
- */
10
- var StackPanel = /** @class */ (function (_super) {
11
- __extends(StackPanel, _super);
12
- /**
13
- * Creates a new StackPanel
14
- * @param name defines control name
15
- */
16
- function StackPanel(name) {
17
- var _this = _super.call(this, name) || this;
18
- _this.name = name;
19
- _this._isVertical = true;
20
- _this._manualWidth = false;
21
- _this._manualHeight = false;
22
- _this._doNotTrackManualChanges = false;
23
- _this._spacing = 0;
24
- /**
25
- * Gets or sets a boolean indicating that layout warnings should be ignored
26
- */
27
- _this.ignoreLayoutWarnings = false;
28
- return _this;
29
- }
30
- Object.defineProperty(StackPanel.prototype, "isVertical", {
31
- /** Gets or sets a boolean indicating if the stack panel is vertical or horizontal*/
32
- get: function () {
33
- return this._isVertical;
34
- },
35
- set: function (value) {
36
- if (this._isVertical === value) {
37
- return;
38
- }
39
- this._isVertical = value;
40
- this._markAsDirty();
41
- },
42
- enumerable: false,
43
- configurable: true
44
- });
45
- Object.defineProperty(StackPanel.prototype, "spacing", {
46
- /**
47
- * Gets or sets the spacing (in pixels) between each child.
48
- */
49
- get: function () {
50
- return this._spacing;
51
- },
52
- set: function (value) {
53
- if (this._spacing === value) {
54
- return;
55
- }
56
- this._spacing = value;
57
- this._markAsDirty();
58
- },
59
- enumerable: false,
60
- configurable: true
61
- });
62
- Object.defineProperty(StackPanel.prototype, "width", {
63
- get: function () {
64
- return this._width.toString(this._host);
65
- },
66
- /**
67
- * Gets or sets panel width.
68
- * This value should not be set when in horizontal mode as it will be computed automatically
69
- */
70
- set: function (value) {
71
- if (!this._doNotTrackManualChanges) {
72
- this._manualWidth = true;
73
- }
74
- if (this._width.toString(this._host) === value) {
75
- return;
76
- }
77
- if (this._width.fromString(value)) {
78
- this._markAsDirty();
79
- }
80
- },
81
- enumerable: false,
82
- configurable: true
83
- });
84
- Object.defineProperty(StackPanel.prototype, "height", {
85
- get: function () {
86
- return this._height.toString(this._host);
87
- },
88
- /**
89
- * Gets or sets panel height.
90
- * This value should not be set when in vertical mode as it will be computed automatically
91
- */
92
- set: function (value) {
93
- if (!this._doNotTrackManualChanges) {
94
- this._manualHeight = true;
95
- }
96
- if (this._height.toString(this._host) === value) {
97
- return;
98
- }
99
- if (this._height.fromString(value)) {
100
- this._markAsDirty();
101
- }
102
- },
103
- enumerable: false,
104
- configurable: true
105
- });
106
- StackPanel.prototype._getTypeName = function () {
107
- return "StackPanel";
108
- };
109
- /**
110
- * @param parentMeasure
111
- * @param context
112
- * @hidden
113
- */
114
- StackPanel.prototype._preMeasure = function (parentMeasure, context) {
115
- for (var _i = 0, _a = this._children; _i < _a.length; _i++) {
116
- var child = _a[_i];
117
- if (this._isVertical) {
118
- child.verticalAlignment = Control.VERTICAL_ALIGNMENT_TOP;
119
- }
120
- else {
121
- child.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;
122
- }
123
- }
124
- _super.prototype._preMeasure.call(this, parentMeasure, context);
125
- };
126
- StackPanel.prototype._additionalProcessing = function (parentMeasure, context) {
127
- _super.prototype._additionalProcessing.call(this, parentMeasure, context);
128
- this._measureForChildren.copyFrom(parentMeasure);
129
- this._measureForChildren.left = this._currentMeasure.left;
130
- this._measureForChildren.top = this._currentMeasure.top;
131
- if (!this.isVertical || this._manualWidth) {
132
- this._measureForChildren.width = this._currentMeasure.width;
133
- }
134
- if (this.isVertical || this._manualHeight) {
135
- this._measureForChildren.height = this._currentMeasure.height;
136
- }
137
- };
138
- StackPanel.prototype._postMeasure = function () {
139
- var stackWidth = 0;
140
- var stackHeight = 0;
141
- var childrenCount = this._children.length;
142
- for (var index = 0; index < childrenCount; index++) {
143
- var child = this._children[index];
144
- if (!child.isVisible || child.notRenderable) {
145
- continue;
146
- }
147
- if (this._isVertical) {
148
- if (child.top !== stackHeight + "px") {
149
- child.top = stackHeight + "px";
150
- this._rebuildLayout = true;
151
- child._top.ignoreAdaptiveScaling = true;
152
- }
153
- if (child._height.isPercentage && !child._automaticSize) {
154
- if (!this.ignoreLayoutWarnings) {
155
- Tools.Warn("Control (Name:".concat(child.name, ", UniqueId:").concat(child.uniqueId, ") is using height in percentage mode inside a vertical StackPanel"));
156
- }
157
- }
158
- else {
159
- stackHeight += child._currentMeasure.height + child._paddingTopInPixels + child._paddingBottomInPixels + (index < childrenCount - 1 ? this._spacing : 0);
160
- }
161
- }
162
- else {
163
- if (child.left !== stackWidth + "px") {
164
- child.left = stackWidth + "px";
165
- this._rebuildLayout = true;
166
- child._left.ignoreAdaptiveScaling = true;
167
- }
168
- if (child._width.isPercentage && !child._automaticSize) {
169
- if (!this.ignoreLayoutWarnings) {
170
- Tools.Warn("Control (Name:".concat(child.name, ", UniqueId:").concat(child.uniqueId, ") is using width in percentage mode inside a horizontal StackPanel"));
171
- }
172
- }
173
- else {
174
- stackWidth += child._currentMeasure.width + child._paddingLeftInPixels + child._paddingRightInPixels + (index < childrenCount - 1 ? this._spacing : 0);
175
- }
176
- }
177
- }
178
- stackWidth += this._paddingLeftInPixels + this._paddingRightInPixels;
179
- stackHeight += this._paddingTopInPixels + this._paddingBottomInPixels;
180
- this._doNotTrackManualChanges = true;
181
- // Let stack panel width or height default to stackHeight and stackWidth if dimensions are not specified.
182
- // User can now define their own height and width for stack panel.
183
- var panelWidthChanged = false;
184
- var panelHeightChanged = false;
185
- if (!this._manualHeight && this._isVertical) {
186
- // do not specify height if strictly defined by user
187
- var previousHeight = this.height;
188
- this.height = stackHeight + "px";
189
- panelHeightChanged = previousHeight !== this.height || !this._height.ignoreAdaptiveScaling;
190
- }
191
- if (!this._manualWidth && !this._isVertical) {
192
- // do not specify width if strictly defined by user
193
- var previousWidth = this.width;
194
- this.width = stackWidth + "px";
195
- panelWidthChanged = previousWidth !== this.width || !this._width.ignoreAdaptiveScaling;
196
- }
197
- if (panelHeightChanged) {
198
- this._height.ignoreAdaptiveScaling = true;
199
- }
200
- if (panelWidthChanged) {
201
- this._width.ignoreAdaptiveScaling = true;
202
- }
203
- this._doNotTrackManualChanges = false;
204
- if (panelWidthChanged || panelHeightChanged) {
205
- this._rebuildLayout = true;
206
- }
207
- _super.prototype._postMeasure.call(this);
208
- };
209
- /**
210
- * Serializes the current control
211
- * @param serializationObject defined the JSON serialized object
212
- */
213
- StackPanel.prototype.serialize = function (serializationObject) {
214
- _super.prototype.serialize.call(this, serializationObject);
215
- serializationObject.manualWidth = this._manualWidth;
216
- serializationObject.manualHeight = this._manualHeight;
217
- };
218
- /**
219
- * @param serializedObject
220
- * @param host
221
- * @hidden
222
- */
223
- StackPanel.prototype._parseFromContent = function (serializedObject, host) {
224
- this._manualWidth = serializedObject.manualWidth;
225
- this._manualHeight = serializedObject.manualHeight;
226
- _super.prototype._parseFromContent.call(this, serializedObject, host);
227
- };
228
- __decorate([
229
- serialize()
230
- ], StackPanel.prototype, "ignoreLayoutWarnings", void 0);
231
- __decorate([
232
- serialize()
233
- ], StackPanel.prototype, "isVertical", null);
234
- __decorate([
235
- serialize()
236
- ], StackPanel.prototype, "spacing", null);
237
- __decorate([
238
- serialize()
239
- ], StackPanel.prototype, "width", null);
240
- __decorate([
241
- serialize()
242
- ], StackPanel.prototype, "height", null);
243
- return StackPanel;
244
- }(Container));
245
- export { StackPanel };
246
- RegisterClass("BABYLON.GUI.StackPanel", StackPanel);
1
+ import { __decorate, __extends } from "tslib";
2
+ import { Tools } from "@babylonjs/core/Misc/tools.js";
3
+ import { Container } from "./container";
4
+ import { Control } from "./control";
5
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
6
+ import { serialize } from "@babylonjs/core/Misc/decorators.js";
7
+ /**
8
+ * Class used to create a 2D stack panel container
9
+ */
10
+ var StackPanel = /** @class */ (function (_super) {
11
+ __extends(StackPanel, _super);
12
+ /**
13
+ * Creates a new StackPanel
14
+ * @param name defines control name
15
+ */
16
+ function StackPanel(name) {
17
+ var _this = _super.call(this, name) || this;
18
+ _this.name = name;
19
+ _this._isVertical = true;
20
+ _this._manualWidth = false;
21
+ _this._manualHeight = false;
22
+ _this._doNotTrackManualChanges = false;
23
+ _this._spacing = 0;
24
+ /**
25
+ * Gets or sets a boolean indicating that layout warnings should be ignored
26
+ */
27
+ _this.ignoreLayoutWarnings = false;
28
+ return _this;
29
+ }
30
+ Object.defineProperty(StackPanel.prototype, "isVertical", {
31
+ /** Gets or sets a boolean indicating if the stack panel is vertical or horizontal*/
32
+ get: function () {
33
+ return this._isVertical;
34
+ },
35
+ set: function (value) {
36
+ if (this._isVertical === value) {
37
+ return;
38
+ }
39
+ this._isVertical = value;
40
+ this._markAsDirty();
41
+ },
42
+ enumerable: false,
43
+ configurable: true
44
+ });
45
+ Object.defineProperty(StackPanel.prototype, "spacing", {
46
+ /**
47
+ * Gets or sets the spacing (in pixels) between each child.
48
+ */
49
+ get: function () {
50
+ return this._spacing;
51
+ },
52
+ set: function (value) {
53
+ if (this._spacing === value) {
54
+ return;
55
+ }
56
+ this._spacing = value;
57
+ this._markAsDirty();
58
+ },
59
+ enumerable: false,
60
+ configurable: true
61
+ });
62
+ Object.defineProperty(StackPanel.prototype, "width", {
63
+ get: function () {
64
+ return this._width.toString(this._host);
65
+ },
66
+ /**
67
+ * Gets or sets panel width.
68
+ * This value should not be set when in horizontal mode as it will be computed automatically
69
+ */
70
+ set: function (value) {
71
+ if (!this._doNotTrackManualChanges) {
72
+ this._manualWidth = true;
73
+ }
74
+ if (this._width.toString(this._host) === value) {
75
+ return;
76
+ }
77
+ if (this._width.fromString(value)) {
78
+ this._markAsDirty();
79
+ }
80
+ },
81
+ enumerable: false,
82
+ configurable: true
83
+ });
84
+ Object.defineProperty(StackPanel.prototype, "height", {
85
+ get: function () {
86
+ return this._height.toString(this._host);
87
+ },
88
+ /**
89
+ * Gets or sets panel height.
90
+ * This value should not be set when in vertical mode as it will be computed automatically
91
+ */
92
+ set: function (value) {
93
+ if (!this._doNotTrackManualChanges) {
94
+ this._manualHeight = true;
95
+ }
96
+ if (this._height.toString(this._host) === value) {
97
+ return;
98
+ }
99
+ if (this._height.fromString(value)) {
100
+ this._markAsDirty();
101
+ }
102
+ },
103
+ enumerable: false,
104
+ configurable: true
105
+ });
106
+ StackPanel.prototype._getTypeName = function () {
107
+ return "StackPanel";
108
+ };
109
+ /**
110
+ * @param parentMeasure
111
+ * @param context
112
+ * @hidden
113
+ */
114
+ StackPanel.prototype._preMeasure = function (parentMeasure, context) {
115
+ for (var _i = 0, _a = this._children; _i < _a.length; _i++) {
116
+ var child = _a[_i];
117
+ if (this._isVertical) {
118
+ child.verticalAlignment = Control.VERTICAL_ALIGNMENT_TOP;
119
+ }
120
+ else {
121
+ child.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;
122
+ }
123
+ }
124
+ _super.prototype._preMeasure.call(this, parentMeasure, context);
125
+ };
126
+ StackPanel.prototype._additionalProcessing = function (parentMeasure, context) {
127
+ _super.prototype._additionalProcessing.call(this, parentMeasure, context);
128
+ this._measureForChildren.copyFrom(parentMeasure);
129
+ this._measureForChildren.left = this._currentMeasure.left;
130
+ this._measureForChildren.top = this._currentMeasure.top;
131
+ if (!this.isVertical || this._manualWidth) {
132
+ this._measureForChildren.width = this._currentMeasure.width;
133
+ }
134
+ if (this.isVertical || this._manualHeight) {
135
+ this._measureForChildren.height = this._currentMeasure.height;
136
+ }
137
+ };
138
+ StackPanel.prototype._postMeasure = function () {
139
+ var stackWidth = 0;
140
+ var stackHeight = 0;
141
+ var childrenCount = this._children.length;
142
+ for (var index = 0; index < childrenCount; index++) {
143
+ var child = this._children[index];
144
+ if (!child.isVisible || child.notRenderable) {
145
+ continue;
146
+ }
147
+ if (this._isVertical) {
148
+ if (child.top !== stackHeight + "px") {
149
+ child.top = stackHeight + "px";
150
+ this._rebuildLayout = true;
151
+ child._top.ignoreAdaptiveScaling = true;
152
+ }
153
+ if (child._height.isPercentage && !child._automaticSize) {
154
+ if (!this.ignoreLayoutWarnings) {
155
+ Tools.Warn("Control (Name:".concat(child.name, ", UniqueId:").concat(child.uniqueId, ") is using height in percentage mode inside a vertical StackPanel"));
156
+ }
157
+ }
158
+ else {
159
+ stackHeight += child._currentMeasure.height + child._paddingTopInPixels + child._paddingBottomInPixels + (index < childrenCount - 1 ? this._spacing : 0);
160
+ }
161
+ }
162
+ else {
163
+ if (child.left !== stackWidth + "px") {
164
+ child.left = stackWidth + "px";
165
+ this._rebuildLayout = true;
166
+ child._left.ignoreAdaptiveScaling = true;
167
+ }
168
+ if (child._width.isPercentage && !child._automaticSize) {
169
+ if (!this.ignoreLayoutWarnings) {
170
+ Tools.Warn("Control (Name:".concat(child.name, ", UniqueId:").concat(child.uniqueId, ") is using width in percentage mode inside a horizontal StackPanel"));
171
+ }
172
+ }
173
+ else {
174
+ stackWidth += child._currentMeasure.width + child._paddingLeftInPixels + child._paddingRightInPixels + (index < childrenCount - 1 ? this._spacing : 0);
175
+ }
176
+ }
177
+ }
178
+ stackWidth += this._paddingLeftInPixels + this._paddingRightInPixels;
179
+ stackHeight += this._paddingTopInPixels + this._paddingBottomInPixels;
180
+ this._doNotTrackManualChanges = true;
181
+ // Let stack panel width or height default to stackHeight and stackWidth if dimensions are not specified.
182
+ // User can now define their own height and width for stack panel.
183
+ var panelWidthChanged = false;
184
+ var panelHeightChanged = false;
185
+ if (!this._manualHeight && this._isVertical) {
186
+ // do not specify height if strictly defined by user
187
+ var previousHeight = this.height;
188
+ this.height = stackHeight + "px";
189
+ panelHeightChanged = previousHeight !== this.height || !this._height.ignoreAdaptiveScaling;
190
+ }
191
+ if (!this._manualWidth && !this._isVertical) {
192
+ // do not specify width if strictly defined by user
193
+ var previousWidth = this.width;
194
+ this.width = stackWidth + "px";
195
+ panelWidthChanged = previousWidth !== this.width || !this._width.ignoreAdaptiveScaling;
196
+ }
197
+ if (panelHeightChanged) {
198
+ this._height.ignoreAdaptiveScaling = true;
199
+ }
200
+ if (panelWidthChanged) {
201
+ this._width.ignoreAdaptiveScaling = true;
202
+ }
203
+ this._doNotTrackManualChanges = false;
204
+ if (panelWidthChanged || panelHeightChanged) {
205
+ this._rebuildLayout = true;
206
+ }
207
+ _super.prototype._postMeasure.call(this);
208
+ };
209
+ /**
210
+ * Serializes the current control
211
+ * @param serializationObject defined the JSON serialized object
212
+ */
213
+ StackPanel.prototype.serialize = function (serializationObject) {
214
+ _super.prototype.serialize.call(this, serializationObject);
215
+ serializationObject.manualWidth = this._manualWidth;
216
+ serializationObject.manualHeight = this._manualHeight;
217
+ };
218
+ /**
219
+ * @param serializedObject
220
+ * @param host
221
+ * @hidden
222
+ */
223
+ StackPanel.prototype._parseFromContent = function (serializedObject, host) {
224
+ this._manualWidth = serializedObject.manualWidth;
225
+ this._manualHeight = serializedObject.manualHeight;
226
+ _super.prototype._parseFromContent.call(this, serializedObject, host);
227
+ };
228
+ __decorate([
229
+ serialize()
230
+ ], StackPanel.prototype, "ignoreLayoutWarnings", void 0);
231
+ __decorate([
232
+ serialize()
233
+ ], StackPanel.prototype, "isVertical", null);
234
+ __decorate([
235
+ serialize()
236
+ ], StackPanel.prototype, "spacing", null);
237
+ __decorate([
238
+ serialize()
239
+ ], StackPanel.prototype, "width", null);
240
+ __decorate([
241
+ serialize()
242
+ ], StackPanel.prototype, "height", null);
243
+ return StackPanel;
244
+ }(Container));
245
+ export { StackPanel };
246
+ RegisterClass("BABYLON.GUI.StackPanel", StackPanel);
247
247
  //# sourceMappingURL=stackPanel.js.map
@@ -1,6 +1,6 @@
1
- /**
2
- * Forcing an export so that this code will execute
3
- * @hidden
4
- */
5
- declare const name = "Statics";
6
- export { name };
1
+ /**
2
+ * Forcing an export so that this code will execute
3
+ * @hidden
4
+ */
5
+ declare const name = "Statics";
6
+ export { name };