@babylonjs/gui 5.0.0-alpha.8 → 5.0.0-beta.3
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 +165 -125
- package/2D/advancedDynamicTexture.js +342 -181
- package/2D/advancedDynamicTexture.js.map +1 -1
- package/2D/controls/button.d.ts +8 -0
- package/2D/controls/button.js +33 -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 +91 -13
- package/2D/controls/container.js.map +1 -1
- package/2D/controls/control.d.ts +103 -44
- package/2D/controls/control.js +278 -129
- 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 +1 -0
- package/2D/controls/focusableButton.js +9 -6
- package/2D/controls/focusableButton.js.map +1 -1
- package/2D/controls/grid.d.ts +13 -2
- package/2D/controls/grid.js +108 -24
- package/2D/controls/grid.js.map +1 -1
- package/2D/controls/image.d.ts +5 -4
- package/2D/controls/image.js +52 -31
- 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 +2 -1
- package/2D/controls/inputText.js +40 -14
- 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 +10 -3
- package/2D/controls/stackPanel.js +35 -13
- 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 +16 -9
- package/2D/controls/textBlock.js +75 -34
- 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.d.ts +5 -0
- package/2D/math2D.js +14 -2
- package/2D/math2D.js.map +1 -1
- 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/valueAndUnit.d.ts +21 -6
- package/2D/valueAndUnit.js +57 -13
- package/2D/valueAndUnit.js.map +1 -1
- 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 +15 -84
- 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 +10 -7
- package/3D/controls/control3D.js +27 -19
- 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 +35 -31
- package/3D/controls/holographicButton.js.map +1 -1
- package/3D/controls/holographicSlate.d.ts +118 -0
- package/3D/controls/holographicSlate.js +365 -0
- package/3D/controls/holographicSlate.js.map +1 -0
- package/3D/controls/index.d.ts +7 -0
- package/3D/controls/index.js +22 -15
- 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 +9 -21
- package/3D/controls/touchButton3D.js +52 -224
- package/3D/controls/touchButton3D.js.map +1 -1
- package/3D/controls/touchHolographicButton.d.ts +20 -3
- package/3D/controls/touchHolographicButton.js +137 -67
- package/3D/controls/touchHolographicButton.js.map +1 -1
- package/3D/controls/touchHolographicMenu.d.ts +61 -0
- package/3D/controls/touchHolographicMenu.js +149 -0
- package/3D/controls/touchHolographicMenu.js.map +1 -0
- package/3D/controls/touchMeshButton3D.d.ts +3 -6
- package/3D/controls/touchMeshButton3D.js +6 -14
- package/3D/controls/touchMeshButton3D.js.map +1 -1
- 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 +15 -2
- package/3D/gui3DManager.js +62 -41
- 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 +117 -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
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Control } from "./control";
|
|
2
2
|
import { Nullable } from '@babylonjs/core/types';
|
|
3
3
|
import { Measure } from '../measure';
|
|
4
|
+
import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas";
|
|
4
5
|
/** Class used to render a grid */
|
|
5
6
|
export declare class DisplayGrid extends Control {
|
|
6
7
|
name?: string | undefined;
|
|
@@ -49,6 +50,6 @@ export declare class DisplayGrid extends Control {
|
|
|
49
50
|
* @param name defines the control name
|
|
50
51
|
*/
|
|
51
52
|
constructor(name?: string | undefined);
|
|
52
|
-
_draw(context:
|
|
53
|
+
_draw(context: ICanvasRenderingContext, invalidatedRectangle?: Nullable<Measure>): void;
|
|
53
54
|
protected _getTypeName(): string;
|
|
54
55
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate, __extends } from "tslib";
|
|
2
|
-
import { Control } from "./control";
|
|
3
|
-
import {
|
|
4
|
-
import { serialize } from '@babylonjs/core/Misc/decorators';
|
|
2
|
+
import { Control } from "./control.js";
|
|
3
|
+
import { RegisterClass } from '@babylonjs/core/Misc/typeStore.js';
|
|
4
|
+
import { serialize } from '@babylonjs/core/Misc/decorators.js';
|
|
5
5
|
/** Class used to render a grid */
|
|
6
6
|
var DisplayGrid = /** @class */ (function (_super) {
|
|
7
7
|
__extends(DisplayGrid, _super);
|
|
@@ -169,14 +169,14 @@ var DisplayGrid = /** @class */ (function (_super) {
|
|
|
169
169
|
if (this._displayMinorLines) {
|
|
170
170
|
context.strokeStyle = this._minorLineColor;
|
|
171
171
|
context.lineWidth = this._minorLineTickness;
|
|
172
|
-
for (var x = -cellCountX / 2; x < cellCountX / 2; x++) {
|
|
172
|
+
for (var x = -cellCountX / 2 + 1; x < cellCountX / 2; x++) {
|
|
173
173
|
var cellX = left + x * this.cellWidth;
|
|
174
174
|
context.beginPath();
|
|
175
175
|
context.moveTo(cellX, this._currentMeasure.top);
|
|
176
176
|
context.lineTo(cellX, this._currentMeasure.top + this._currentMeasure.height);
|
|
177
177
|
context.stroke();
|
|
178
178
|
}
|
|
179
|
-
for (var y = -cellCountY / 2; y < cellCountY / 2; y++) {
|
|
179
|
+
for (var y = -cellCountY / 2 + 1; y < cellCountY / 2; y++) {
|
|
180
180
|
var cellY = top_1 + y * this.cellHeight;
|
|
181
181
|
context.beginPath();
|
|
182
182
|
context.moveTo(this._currentMeasure.left, cellY);
|
|
@@ -242,5 +242,5 @@ var DisplayGrid = /** @class */ (function (_super) {
|
|
|
242
242
|
return DisplayGrid;
|
|
243
243
|
}(Control));
|
|
244
244
|
export { DisplayGrid };
|
|
245
|
-
|
|
245
|
+
RegisterClass("BABYLON.GUI.DisplayGrid", DisplayGrid);
|
|
246
246
|
//# sourceMappingURL=displayGrid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"displayGrid.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/2D/controls/displayGrid.ts"],"names":[],"mappings":"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","sourcesContent":["import { Control } from \"./control\";\r\nimport { _TypeStore } from '@babylonjs/core/Misc/typeStore';\r\nimport { Nullable } from '@babylonjs/core/types';\r\nimport { Measure } from '../measure';\r\nimport { serialize } from '@babylonjs/core/Misc/decorators';\r\n\r\n/** Class used to render a grid */\r\nexport class DisplayGrid extends Control {\r\n private _cellWidth = 20;\r\n private _cellHeight = 20;\r\n\r\n private _minorLineTickness = 1;\r\n private _minorLineColor = \"DarkGray\";\r\n\r\n private _majorLineTickness = 2;\r\n private _majorLineColor = \"White\";\r\n\r\n private _majorLineFrequency = 5;\r\n\r\n private _background = \"Black\";\r\n\r\n private _displayMajorLines = true;\r\n private _displayMinorLines = true;\r\n\r\n /** Gets or sets a boolean indicating if minor lines must be rendered (true by default)) */\r\n @serialize()\r\n public get displayMinorLines(): boolean {\r\n return this._displayMinorLines;\r\n }\r\n\r\n public set displayMinorLines(value: boolean) {\r\n if (this._displayMinorLines === value) {\r\n return;\r\n }\r\n\r\n this._displayMinorLines = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets a boolean indicating if major lines must be rendered (true by default)) */\r\n @serialize()\r\n public get displayMajorLines(): boolean {\r\n return this._displayMajorLines;\r\n }\r\n\r\n public set displayMajorLines(value: boolean) {\r\n if (this._displayMajorLines === value) {\r\n return;\r\n }\r\n\r\n this._displayMajorLines = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets background color (Black by default) */\r\n @serialize()\r\n public get background(): string {\r\n return this._background;\r\n }\r\n\r\n public set background(value: string) {\r\n if (this._background === value) {\r\n return;\r\n }\r\n\r\n this._background = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the width of each cell (20 by default) */\r\n @serialize()\r\n public get cellWidth(): number {\r\n return this._cellWidth;\r\n }\r\n\r\n public set cellWidth(value: number) {\r\n this._cellWidth = value;\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the height of each cell (20 by default) */\r\n @serialize()\r\n public get cellHeight(): number {\r\n return this._cellHeight;\r\n }\r\n\r\n public set cellHeight(value: number) {\r\n this._cellHeight = value;\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the tickness of minor lines (1 by default) */\r\n @serialize()\r\n public get minorLineTickness(): number {\r\n return this._minorLineTickness;\r\n }\r\n\r\n public set minorLineTickness(value: number) {\r\n this._minorLineTickness = value;\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the color of minor lines (DarkGray by default) */\r\n @serialize()\r\n public get minorLineColor(): string {\r\n return this._minorLineColor;\r\n }\r\n\r\n public set minorLineColor(value: string) {\r\n this._minorLineColor = value;\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the tickness of major lines (2 by default) */\r\n @serialize()\r\n public get majorLineTickness(): number {\r\n return this._majorLineTickness;\r\n }\r\n\r\n public set majorLineTickness(value: number) {\r\n this._majorLineTickness = value;\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the color of major lines (White by default) */\r\n @serialize()\r\n public get majorLineColor(): string {\r\n return this._majorLineColor;\r\n }\r\n\r\n public set majorLineColor(value: string) {\r\n this._majorLineColor = value;\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the frequency of major lines (default is 1 every 5 minor lines)*/\r\n @serialize()\r\n public get majorLineFrequency(): number {\r\n return this._majorLineFrequency;\r\n }\r\n\r\n public set majorLineFrequency(value: number) {\r\n this._majorLineFrequency = value;\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Creates a new GridDisplayRectangle\r\n * @param name defines the control name\r\n */\r\n constructor(public name?: string) {\r\n super(name);\r\n }\r\n\r\n public _draw(context: CanvasRenderingContext2D, invalidatedRectangle?: Nullable<Measure>): void {\r\n context.save();\r\n\r\n this._applyStates(context);\r\n\r\n if (this._isEnabled) {\r\n\r\n if (this._background) {\r\n context.fillStyle = this._background;\r\n context.fillRect(this._currentMeasure.left, this._currentMeasure.top, this._currentMeasure.width, this._currentMeasure.height);\r\n }\r\n\r\n let cellCountX = this._currentMeasure.width / this._cellWidth;\r\n let cellCountY = this._currentMeasure.height / this._cellHeight;\r\n\r\n // Minor lines\r\n const left = this._currentMeasure.left + this._currentMeasure.width / 2;\r\n const top = this._currentMeasure.top + this._currentMeasure.height / 2;\r\n\r\n if (this._displayMinorLines) {\r\n context.strokeStyle = this._minorLineColor;\r\n context.lineWidth = this._minorLineTickness;\r\n\r\n for (var x = -cellCountX / 2; x < cellCountX / 2; x++) {\r\n const cellX = left + x * this.cellWidth;\r\n\r\n context.beginPath();\r\n context.moveTo(cellX, this._currentMeasure.top);\r\n context.lineTo(cellX, this._currentMeasure.top + this._currentMeasure.height);\r\n\r\n context.stroke();\r\n }\r\n\r\n for (var y = -cellCountY / 2; y < cellCountY / 2; y++) {\r\n const cellY = top + y * this.cellHeight;\r\n\r\n context.beginPath();\r\n context.moveTo(this._currentMeasure.left, cellY);\r\n context.lineTo(this._currentMeasure.left + this._currentMeasure.width, cellY);\r\n context.stroke();\r\n }\r\n }\r\n\r\n // Major lines\r\n if (this._displayMajorLines) {\r\n context.strokeStyle = this._majorLineColor;\r\n context.lineWidth = this._majorLineTickness;\r\n\r\n for (var x = -cellCountX / 2 + this._majorLineFrequency; x < cellCountX / 2; x += this._majorLineFrequency) {\r\n let cellX = left + x * this.cellWidth;\r\n\r\n context.beginPath();\r\n context.moveTo(cellX, this._currentMeasure.top);\r\n context.lineTo(cellX, this._currentMeasure.top + this._currentMeasure.height);\r\n context.stroke();\r\n }\r\n\r\n for (var y = -cellCountY / 2 + this._majorLineFrequency; y < cellCountY / 2; y += this._majorLineFrequency) {\r\n let cellY = top + y * this.cellHeight;\r\n context.moveTo(this._currentMeasure.left, cellY);\r\n context.lineTo(this._currentMeasure.left + this._currentMeasure.width, cellY);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n }\r\n }\r\n\r\n context.restore();\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"DisplayGrid\";\r\n }\r\n}\r\n_TypeStore.RegisteredTypes[\"BABYLON.GUI.DisplayGrid\"] = DisplayGrid;"]}
|
|
1
|
+
{"version":3,"file":"displayGrid.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/2D/controls/displayGrid.ts"],"names":[],"mappings":"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","sourcesContent":["import { Control } from \"./control\";\r\nimport { RegisterClass } from '@babylonjs/core/Misc/typeStore';\r\nimport { Nullable } from '@babylonjs/core/types';\r\nimport { Measure } from '../measure';\r\nimport { serialize } from '@babylonjs/core/Misc/decorators';\r\nimport { ICanvasRenderingContext } from \"@babylonjs/core/Engines/ICanvas\";\r\n\r\n/** Class used to render a grid */\r\nexport class DisplayGrid extends Control {\r\n private _cellWidth = 20;\r\n private _cellHeight = 20;\r\n\r\n private _minorLineTickness = 1;\r\n private _minorLineColor = \"DarkGray\";\r\n\r\n private _majorLineTickness = 2;\r\n private _majorLineColor = \"White\";\r\n\r\n private _majorLineFrequency = 5;\r\n\r\n private _background = \"Black\";\r\n\r\n private _displayMajorLines = true;\r\n private _displayMinorLines = true;\r\n\r\n /** Gets or sets a boolean indicating if minor lines must be rendered (true by default)) */\r\n @serialize()\r\n public get displayMinorLines(): boolean {\r\n return this._displayMinorLines;\r\n }\r\n\r\n public set displayMinorLines(value: boolean) {\r\n if (this._displayMinorLines === value) {\r\n return;\r\n }\r\n\r\n this._displayMinorLines = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets a boolean indicating if major lines must be rendered (true by default)) */\r\n @serialize()\r\n public get displayMajorLines(): boolean {\r\n return this._displayMajorLines;\r\n }\r\n\r\n public set displayMajorLines(value: boolean) {\r\n if (this._displayMajorLines === value) {\r\n return;\r\n }\r\n\r\n this._displayMajorLines = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets background color (Black by default) */\r\n @serialize()\r\n public get background(): string {\r\n return this._background;\r\n }\r\n\r\n public set background(value: string) {\r\n if (this._background === value) {\r\n return;\r\n }\r\n\r\n this._background = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the width of each cell (20 by default) */\r\n @serialize()\r\n public get cellWidth(): number {\r\n return this._cellWidth;\r\n }\r\n\r\n public set cellWidth(value: number) {\r\n this._cellWidth = value;\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the height of each cell (20 by default) */\r\n @serialize()\r\n public get cellHeight(): number {\r\n return this._cellHeight;\r\n }\r\n\r\n public set cellHeight(value: number) {\r\n this._cellHeight = value;\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the tickness of minor lines (1 by default) */\r\n @serialize()\r\n public get minorLineTickness(): number {\r\n return this._minorLineTickness;\r\n }\r\n\r\n public set minorLineTickness(value: number) {\r\n this._minorLineTickness = value;\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the color of minor lines (DarkGray by default) */\r\n @serialize()\r\n public get minorLineColor(): string {\r\n return this._minorLineColor;\r\n }\r\n\r\n public set minorLineColor(value: string) {\r\n this._minorLineColor = value;\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the tickness of major lines (2 by default) */\r\n @serialize()\r\n public get majorLineTickness(): number {\r\n return this._majorLineTickness;\r\n }\r\n\r\n public set majorLineTickness(value: number) {\r\n this._majorLineTickness = value;\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the color of major lines (White by default) */\r\n @serialize()\r\n public get majorLineColor(): string {\r\n return this._majorLineColor;\r\n }\r\n\r\n public set majorLineColor(value: string) {\r\n this._majorLineColor = value;\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the frequency of major lines (default is 1 every 5 minor lines)*/\r\n @serialize()\r\n public get majorLineFrequency(): number {\r\n return this._majorLineFrequency;\r\n }\r\n\r\n public set majorLineFrequency(value: number) {\r\n this._majorLineFrequency = value;\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Creates a new GridDisplayRectangle\r\n * @param name defines the control name\r\n */\r\n constructor(public name?: string) {\r\n super(name);\r\n }\r\n\r\n public _draw(context: ICanvasRenderingContext, invalidatedRectangle?: Nullable<Measure>): void {\r\n context.save();\r\n\r\n this._applyStates(context);\r\n\r\n if (this._isEnabled) {\r\n\r\n if (this._background) {\r\n context.fillStyle = this._background;\r\n context.fillRect(this._currentMeasure.left, this._currentMeasure.top, this._currentMeasure.width, this._currentMeasure.height);\r\n }\r\n\r\n let cellCountX = this._currentMeasure.width / this._cellWidth;\r\n let cellCountY = this._currentMeasure.height / this._cellHeight;\r\n\r\n // Minor lines\r\n const left = this._currentMeasure.left + this._currentMeasure.width / 2;\r\n const top = this._currentMeasure.top + this._currentMeasure.height / 2;\r\n\r\n if (this._displayMinorLines) {\r\n context.strokeStyle = this._minorLineColor;\r\n context.lineWidth = this._minorLineTickness;\r\n\r\n for (var x = -cellCountX / 2 + 1; x < cellCountX / 2; x++) {\r\n const cellX = left + x * this.cellWidth;\r\n\r\n context.beginPath();\r\n context.moveTo(cellX, this._currentMeasure.top);\r\n context.lineTo(cellX, this._currentMeasure.top + this._currentMeasure.height);\r\n\r\n context.stroke();\r\n }\r\n\r\n for (var y = -cellCountY / 2 + 1; y < cellCountY / 2; y++) {\r\n const cellY = top + y * this.cellHeight;\r\n\r\n context.beginPath();\r\n context.moveTo(this._currentMeasure.left, cellY);\r\n context.lineTo(this._currentMeasure.left + this._currentMeasure.width, cellY);\r\n context.stroke();\r\n }\r\n }\r\n\r\n // Major lines\r\n if (this._displayMajorLines) {\r\n context.strokeStyle = this._majorLineColor;\r\n context.lineWidth = this._majorLineTickness;\r\n\r\n for (var x = -cellCountX / 2 + this._majorLineFrequency; x < cellCountX / 2; x += this._majorLineFrequency) {\r\n let cellX = left + x * this.cellWidth;\r\n\r\n context.beginPath();\r\n context.moveTo(cellX, this._currentMeasure.top);\r\n context.lineTo(cellX, this._currentMeasure.top + this._currentMeasure.height);\r\n context.stroke();\r\n }\r\n\r\n for (var y = -cellCountY / 2 + this._majorLineFrequency; y < cellCountY / 2; y += this._majorLineFrequency) {\r\n let cellY = top + y * this.cellHeight;\r\n context.moveTo(this._currentMeasure.left, cellY);\r\n context.lineTo(this._currentMeasure.left + this._currentMeasure.width, cellY);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n }\r\n }\r\n\r\n context.restore();\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"DisplayGrid\";\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.DisplayGrid\", DisplayGrid);"]}
|
package/2D/controls/ellipse.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Container } from "./container";
|
|
2
2
|
import { Measure } from "../measure";
|
|
3
|
+
import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas";
|
|
3
4
|
/** Class used to create 2D ellipse containers */
|
|
4
5
|
export declare class Ellipse extends Container {
|
|
5
6
|
name?: string | undefined;
|
|
@@ -13,7 +14,8 @@ export declare class Ellipse extends Container {
|
|
|
13
14
|
*/
|
|
14
15
|
constructor(name?: string | undefined);
|
|
15
16
|
protected _getTypeName(): string;
|
|
16
|
-
protected _localDraw(context:
|
|
17
|
-
protected _additionalProcessing(parentMeasure: Measure, context:
|
|
18
|
-
protected _clipForChildren(context:
|
|
17
|
+
protected _localDraw(context: ICanvasRenderingContext): void;
|
|
18
|
+
protected _additionalProcessing(parentMeasure: Measure, context: ICanvasRenderingContext): void;
|
|
19
|
+
protected _clipForChildren(context: ICanvasRenderingContext): void;
|
|
20
|
+
_renderHighlightSpecific(context: ICanvasRenderingContext): void;
|
|
19
21
|
}
|
package/2D/controls/ellipse.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { __decorate, __extends } from "tslib";
|
|
2
|
-
import { Container } from "./container";
|
|
3
|
-
import { Control } from "./control";
|
|
4
|
-
import {
|
|
5
|
-
import { serialize } from '@babylonjs/core/Misc/decorators';
|
|
2
|
+
import { Container } from "./container.js";
|
|
3
|
+
import { Control } from "./control.js";
|
|
4
|
+
import { RegisterClass } from '@babylonjs/core/Misc/typeStore.js';
|
|
5
|
+
import { serialize } from '@babylonjs/core/Misc/decorators.js';
|
|
6
6
|
/** Class used to create 2D ellipse containers */
|
|
7
7
|
var Ellipse = /** @class */ (function (_super) {
|
|
8
8
|
__extends(Ellipse, _super);
|
|
@@ -72,11 +72,15 @@ var Ellipse = /** @class */ (function (_super) {
|
|
|
72
72
|
Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, this._currentMeasure.width / 2, this._currentMeasure.height / 2, context);
|
|
73
73
|
context.clip();
|
|
74
74
|
};
|
|
75
|
+
Ellipse.prototype._renderHighlightSpecific = function (context) {
|
|
76
|
+
Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, this._currentMeasure.width / 2 - this._highlightLineWidth / 2, this._currentMeasure.height / 2 - this._highlightLineWidth / 2, context);
|
|
77
|
+
context.stroke();
|
|
78
|
+
};
|
|
75
79
|
__decorate([
|
|
76
80
|
serialize()
|
|
77
81
|
], Ellipse.prototype, "thickness", null);
|
|
78
82
|
return Ellipse;
|
|
79
83
|
}(Container));
|
|
80
84
|
export { Ellipse };
|
|
81
|
-
|
|
85
|
+
RegisterClass("BABYLON.GUI.Ellipse", Ellipse);
|
|
82
86
|
//# sourceMappingURL=ellipse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ellipse.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/2D/controls/ellipse.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ellipse.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/2D/controls/ellipse.ts"],"names":[],"mappings":"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","sourcesContent":["import { Container } from \"./container\";\r\nimport { Control } from \"./control\";\r\nimport { Measure } from \"../measure\";\r\nimport { RegisterClass } from '@babylonjs/core/Misc/typeStore';\r\nimport { serialize } from '@babylonjs/core/Misc/decorators';\r\nimport { ICanvasRenderingContext } from \"@babylonjs/core/Engines/ICanvas\";\r\n\r\n/** Class used to create 2D ellipse containers */\r\nexport class Ellipse extends Container {\r\n private _thickness = 1;\r\n\r\n /** Gets or sets border thickness */\r\n @serialize()\r\n public get thickness(): number {\r\n return this._thickness;\r\n }\r\n\r\n public set thickness(value: number) {\r\n if (this._thickness === value) {\r\n return;\r\n }\r\n\r\n this._thickness = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Creates a new Ellipse\r\n * @param name defines the control name\r\n */\r\n constructor(public name?: string) {\r\n super(name);\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"Ellipse\";\r\n }\r\n\r\n protected _localDraw(context: ICanvasRenderingContext): void {\r\n context.save();\r\n\r\n if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {\r\n context.shadowColor = this.shadowColor;\r\n context.shadowBlur = this.shadowBlur;\r\n context.shadowOffsetX = this.shadowOffsetX;\r\n context.shadowOffsetY = this.shadowOffsetY;\r\n }\r\n\r\n Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2,\r\n this._currentMeasure.width / 2 - this._thickness / 2, this._currentMeasure.height / 2 - this._thickness / 2, context);\r\n\r\n if (this._background) {\r\n context.fillStyle = this._background;\r\n\r\n context.fill();\r\n }\r\n\r\n if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {\r\n context.shadowBlur = 0;\r\n context.shadowOffsetX = 0;\r\n context.shadowOffsetY = 0;\r\n }\r\n\r\n if (this._thickness) {\r\n if (this.color) {\r\n context.strokeStyle = this.color;\r\n }\r\n context.lineWidth = this._thickness;\r\n\r\n context.stroke();\r\n }\r\n\r\n context.restore();\r\n }\r\n\r\n protected _additionalProcessing(parentMeasure: Measure, context: ICanvasRenderingContext): void {\r\n super._additionalProcessing(parentMeasure, context);\r\n\r\n this._measureForChildren.width -= 2 * this._thickness;\r\n this._measureForChildren.height -= 2 * this._thickness;\r\n this._measureForChildren.left += this._thickness;\r\n this._measureForChildren.top += this._thickness;\r\n }\r\n\r\n protected _clipForChildren(context: ICanvasRenderingContext) {\r\n\r\n Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, this._currentMeasure.width / 2, this._currentMeasure.height / 2, context);\r\n\r\n context.clip();\r\n }\r\n\r\n public _renderHighlightSpecific(context: ICanvasRenderingContext): void {\r\n Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, this._currentMeasure.width / 2 - this._highlightLineWidth / 2, this._currentMeasure.height / 2 - this._highlightLineWidth / 2, context);\r\n context.stroke();\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.Ellipse\", Ellipse);"]}
|
|
@@ -8,6 +8,7 @@ import { Observable } from '@babylonjs/core/Misc/observable';
|
|
|
8
8
|
import { IKeyboardEvent } from "@babylonjs/core/Events/deviceInputEvents";
|
|
9
9
|
/**
|
|
10
10
|
* Class used to create a focusable button that can easily handle keyboard events
|
|
11
|
+
* @since 5.0.0
|
|
11
12
|
*/
|
|
12
13
|
export declare class FocusableButton extends Button implements IFocusableControl {
|
|
13
14
|
name?: string | undefined;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
-
import { Button } from "./button";
|
|
3
|
-
import {
|
|
4
|
-
import { Observable } from '@babylonjs/core/Misc/observable';
|
|
2
|
+
import { Button } from "./button.js";
|
|
3
|
+
import { RegisterClass } from '@babylonjs/core/Misc/typeStore.js';
|
|
4
|
+
import { Observable } from '@babylonjs/core/Misc/observable.js';
|
|
5
5
|
/**
|
|
6
6
|
* Class used to create a focusable button that can easily handle keyboard events
|
|
7
|
+
* @since 5.0.0
|
|
7
8
|
*/
|
|
8
9
|
var FocusableButton = /** @class */ (function (_super) {
|
|
9
10
|
__extends(FocusableButton, _super);
|
|
@@ -72,8 +73,10 @@ var FocusableButton = /** @class */ (function (_super) {
|
|
|
72
73
|
};
|
|
73
74
|
/** @hidden */
|
|
74
75
|
FocusableButton.prototype._onPointerDown = function (target, coordinates, pointerId, buttonIndex, pi) {
|
|
75
|
-
|
|
76
|
-
|
|
76
|
+
if (!this.isReadOnly) {
|
|
77
|
+
// Clicking on button should focus
|
|
78
|
+
this.focus();
|
|
79
|
+
}
|
|
77
80
|
return _super.prototype._onPointerDown.call(this, target, coordinates, pointerId, buttonIndex, pi);
|
|
78
81
|
};
|
|
79
82
|
/** @hidden */
|
|
@@ -86,5 +89,5 @@ var FocusableButton = /** @class */ (function (_super) {
|
|
|
86
89
|
return FocusableButton;
|
|
87
90
|
}(Button));
|
|
88
91
|
export { FocusableButton };
|
|
89
|
-
|
|
92
|
+
RegisterClass("BABYLON.GUI.FocusableButton", FocusableButton);
|
|
90
93
|
//# sourceMappingURL=focusableButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focusableButton.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/2D/controls/focusableButton.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"focusableButton.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/2D/controls/focusableButton.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG7D;;;GAGG;AACH;IAAqC,mCAAM;IAavC,yBAAmB,IAAa;QAAhC,YACI,kBAAM,IAAI,CAAC,SAGd;QAJkB,UAAI,GAAJ,IAAI,CAAS;QAZhC,6CAA6C;QACtC,kBAAY,GAAqB,IAAI,CAAC;QACrC,gBAAU,GAAG,KAAK,CAAC;QACnB,qBAAe,GAAqB,IAAI,CAAC;QAEjD,wDAAwD;QACjD,uBAAiB,GAAG,IAAI,UAAU,EAAU,CAAC;QACpD,yDAAyD;QAClD,sBAAgB,GAAG,IAAI,UAAU,EAAU,CAAC;QACnD,uDAAuD;QAChD,wCAAkC,GAAG,IAAI,UAAU,EAAkB,CAAC;QAKzE,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,KAAK,CAAC;;IACtC,CAAC;IAED,cAAc;IACP,gCAAM,GAAb;QACI,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;gBACnD,0CAA0C;gBAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;aACrC;YACD,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SAC/C;IACL,CAAC;IAED,cAAc;IACP,iCAAO,GAAd;QACI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,2BAA2B;YAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;YAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;SAClC;QACD,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACI,wCAAc,GAArB;QACI,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,+BAAK,GAAZ;QACI,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,8BAAI,GAAX;QACI,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,yCAAe,GAAtB,UAAuB,GAAmB;QACtC,IAAI,CAAC,kCAAkC,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED,cAAc;IACP,wCAAc,GAArB,UAAsB,MAAe,EAAE,WAAoB,EAAE,SAAiB,EAAE,WAAmB,EAAE,EAAmB;QACpH,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,kCAAkC;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;QAED,OAAO,iBAAM,cAAc,YAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,cAAc;IACP,kCAAQ,GAAf;QACI,iBAAM,OAAO,WAAE,CAAC;QAEhB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,kCAAkC,CAAC,KAAK,EAAE,CAAC;IACpD,CAAC;IACL,sBAAC;AAAD,CAAC,AA3FD,CAAqC,MAAM,GA2F1C;;AACD,aAAa,CAAC,6BAA6B,EAAE,eAAe,CAAC,CAAC","sourcesContent":["import { Nullable } from \"@babylonjs/core/types\";\nimport { Vector2 } from \"@babylonjs/core/Maths/math.vector\";\n\nimport { Button } from \"./button\";\nimport { Control } from \"./control\";\nimport { RegisterClass } from '@babylonjs/core/Misc/typeStore';\nimport { PointerInfoBase } from '@babylonjs/core/Events/pointerEvents';\nimport { IFocusableControl } from \"./focusableControl\";\nimport { Observable } from '@babylonjs/core/Misc/observable';\nimport { IKeyboardEvent } from \"@babylonjs/core/Events/deviceInputEvents\";\n\n/**\n * Class used to create a focusable button that can easily handle keyboard events\n * @since 5.0.0\n */\nexport class FocusableButton extends Button implements IFocusableControl {\n /** Highlight color when button is focused */\n public focusedColor: Nullable<string> = null;\n private _isFocused = false;\n private _unfocusedColor: Nullable<string> = null;\n\n /** Observable raised when the control gets the focus */\n public onFocusObservable = new Observable<Button>();\n /** Observable raised when the control loses the focus */\n public onBlurObservable = new Observable<Button>();\n /** Observable raised when a key event was processed */\n public onKeyboardEventProcessedObservable = new Observable<IKeyboardEvent>();\n\n constructor(public name?: string) {\n super(name);\n\n this._unfocusedColor = this.color;\n }\n\n /** @hidden */\n public onBlur(): void {\n if (this._isFocused) {\n this._isFocused = false;\n if (this.focusedColor && this._unfocusedColor != null) {\n // Set color back to saved unfocused color\n this.color = this._unfocusedColor;\n }\n this.onBlurObservable.notifyObservers(this);\n }\n }\n\n /** @hidden */\n public onFocus(): void {\n this._isFocused = true;\n\n if (this.focusedColor) {\n // Save the unfocused color\n this._unfocusedColor = this.color;\n this.color = this.focusedColor;\n }\n this.onFocusObservable.notifyObservers(this);\n }\n\n /**\n * Function called to get the list of controls that should not steal the focus from this control\n * @returns an array of controls\n */\n public keepsFocusWith(): Nullable<Control[]> {\n return null;\n }\n\n /**\n * Function to focus a button programmatically\n */\n public focus() {\n this._host.moveFocusToControl(this);\n }\n\n /**\n * Function to unfocus a button programmatically\n */\n public blur() {\n this._host.focusedControl = null;\n }\n\n /**\n * Handles the keyboard event\n * @param evt Defines the KeyboardEvent\n */\n public processKeyboard(evt: IKeyboardEvent): void {\n this.onKeyboardEventProcessedObservable.notifyObservers(evt, -1, this);\n }\n\n /** @hidden */\n public _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean {\n if (!this.isReadOnly) {\n // Clicking on button should focus\n this.focus();\n }\n\n return super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi);\n }\n\n /** @hidden */\n public displose() {\n super.dispose();\n\n this.onBlurObservable.clear();\n this.onFocusObservable.clear();\n this.onKeyboardEventProcessedObservable.clear();\n }\n}\nRegisterClass(\"BABYLON.GUI.FocusableButton\", FocusableButton);"]}
|
package/2D/controls/grid.d.ts
CHANGED
|
@@ -3,13 +3,17 @@ import { Container } from "./container";
|
|
|
3
3
|
import { ValueAndUnit } from "../valueAndUnit";
|
|
4
4
|
import { Control } from "./control";
|
|
5
5
|
import { Measure } from "../measure";
|
|
6
|
+
import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas";
|
|
7
|
+
import { AdvancedDynamicTexture } from "../advancedDynamicTexture";
|
|
6
8
|
/**
|
|
7
9
|
* Class used to create a 2D grid container
|
|
8
10
|
*/
|
|
9
11
|
export declare class Grid extends Container {
|
|
10
12
|
name?: string | undefined;
|
|
11
13
|
private _rowDefinitions;
|
|
14
|
+
private _rowDefinitionObservers;
|
|
12
15
|
private _columnDefinitions;
|
|
16
|
+
private _columnDefinitionObservers;
|
|
13
17
|
private _cells;
|
|
14
18
|
private _childControls;
|
|
15
19
|
/**
|
|
@@ -116,9 +120,16 @@ export declare class Grid extends Container {
|
|
|
116
120
|
constructor(name?: string | undefined);
|
|
117
121
|
protected _getTypeName(): string;
|
|
118
122
|
protected _getGridDefinitions(definitionCallback: (lefts: number[], tops: number[], widths: number[], heights: number[]) => void): void;
|
|
119
|
-
protected _additionalProcessing(parentMeasure: Measure, context:
|
|
123
|
+
protected _additionalProcessing(parentMeasure: Measure, context: ICanvasRenderingContext): void;
|
|
120
124
|
_flagDescendantsAsMatrixDirty(): void;
|
|
121
|
-
_renderHighlightSpecific(context:
|
|
125
|
+
_renderHighlightSpecific(context: ICanvasRenderingContext): void;
|
|
122
126
|
/** Releases associated resources */
|
|
123
127
|
dispose(): void;
|
|
128
|
+
/**
|
|
129
|
+
* Serializes the current control
|
|
130
|
+
* @param serializationObject defined the JSON serialized object
|
|
131
|
+
*/
|
|
132
|
+
serialize(serializationObject: any): void;
|
|
133
|
+
/** @hidden */
|
|
134
|
+
_parseFromContent(serializedObject: any, host: AdvancedDynamicTexture): void;
|
|
124
135
|
}
|
package/2D/controls/grid.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
-
import { Container } from "./container";
|
|
3
|
-
import { ValueAndUnit } from "../valueAndUnit";
|
|
4
|
-
import { Control } from "./control";
|
|
5
|
-
import { Tools } from '@babylonjs/core/Misc/tools';
|
|
6
|
-
import {
|
|
2
|
+
import { Container } from "./container.js";
|
|
3
|
+
import { ValueAndUnit } from "../valueAndUnit.js";
|
|
4
|
+
import { Control } from "./control.js";
|
|
5
|
+
import { Tools } from '@babylonjs/core/Misc/tools.js';
|
|
6
|
+
import { RegisterClass } from '@babylonjs/core/Misc/typeStore.js';
|
|
7
7
|
/**
|
|
8
8
|
* Class used to create a 2D grid container
|
|
9
9
|
*/
|
|
@@ -17,7 +17,9 @@ var Grid = /** @class */ (function (_super) {
|
|
|
17
17
|
var _this = _super.call(this, name) || this;
|
|
18
18
|
_this.name = name;
|
|
19
19
|
_this._rowDefinitions = new Array();
|
|
20
|
+
_this._rowDefinitionObservers = [];
|
|
20
21
|
_this._columnDefinitions = new Array();
|
|
22
|
+
_this._columnDefinitionObservers = [];
|
|
21
23
|
_this._cells = {};
|
|
22
24
|
_this._childControls = new Array();
|
|
23
25
|
return _this;
|
|
@@ -87,8 +89,10 @@ var Grid = /** @class */ (function (_super) {
|
|
|
87
89
|
* @returns the current grid
|
|
88
90
|
*/
|
|
89
91
|
Grid.prototype.addRowDefinition = function (height, isPixel) {
|
|
92
|
+
var _this = this;
|
|
90
93
|
if (isPixel === void 0) { isPixel = false; }
|
|
91
94
|
this._rowDefinitions.push(new ValueAndUnit(height, isPixel ? ValueAndUnit.UNITMODE_PIXEL : ValueAndUnit.UNITMODE_PERCENTAGE));
|
|
95
|
+
this._rowDefinitionObservers.push(this._rowDefinitions[this.rowCount - 1].onChangedObservable.add(function () { return _this._markAsDirty(); }));
|
|
92
96
|
this._markAsDirty();
|
|
93
97
|
return this;
|
|
94
98
|
};
|
|
@@ -99,8 +103,10 @@ var Grid = /** @class */ (function (_super) {
|
|
|
99
103
|
* @returns the current grid
|
|
100
104
|
*/
|
|
101
105
|
Grid.prototype.addColumnDefinition = function (width, isPixel) {
|
|
106
|
+
var _this = this;
|
|
102
107
|
if (isPixel === void 0) { isPixel = false; }
|
|
103
108
|
this._columnDefinitions.push(new ValueAndUnit(width, isPixel ? ValueAndUnit.UNITMODE_PIXEL : ValueAndUnit.UNITMODE_PERCENTAGE));
|
|
109
|
+
this._columnDefinitionObservers.push(this._columnDefinitions[this.columnCount - 1].onChangedObservable.add(function () { return _this._markAsDirty(); }));
|
|
104
110
|
this._markAsDirty();
|
|
105
111
|
return this;
|
|
106
112
|
};
|
|
@@ -112,15 +118,18 @@ var Grid = /** @class */ (function (_super) {
|
|
|
112
118
|
* @returns the current grid
|
|
113
119
|
*/
|
|
114
120
|
Grid.prototype.setRowDefinition = function (index, height, isPixel) {
|
|
121
|
+
var _this = this;
|
|
115
122
|
if (isPixel === void 0) { isPixel = false; }
|
|
116
123
|
if (index < 0 || index >= this._rowDefinitions.length) {
|
|
117
124
|
return this;
|
|
118
125
|
}
|
|
119
126
|
var current = this._rowDefinitions[index];
|
|
120
|
-
if (current && current.isPixel === isPixel && current.
|
|
127
|
+
if (current && current.isPixel === isPixel && current.value === height) {
|
|
121
128
|
return this;
|
|
122
129
|
}
|
|
130
|
+
this._rowDefinitions[index].onChangedObservable.remove(this._rowDefinitionObservers[index]);
|
|
123
131
|
this._rowDefinitions[index] = new ValueAndUnit(height, isPixel ? ValueAndUnit.UNITMODE_PIXEL : ValueAndUnit.UNITMODE_PERCENTAGE);
|
|
132
|
+
this._rowDefinitionObservers[index] = this._rowDefinitions[index].onChangedObservable.add(function () { return _this._markAsDirty(); });
|
|
124
133
|
this._markAsDirty();
|
|
125
134
|
return this;
|
|
126
135
|
};
|
|
@@ -132,15 +141,18 @@ var Grid = /** @class */ (function (_super) {
|
|
|
132
141
|
* @returns the current grid
|
|
133
142
|
*/
|
|
134
143
|
Grid.prototype.setColumnDefinition = function (index, width, isPixel) {
|
|
144
|
+
var _this = this;
|
|
135
145
|
if (isPixel === void 0) { isPixel = false; }
|
|
136
146
|
if (index < 0 || index >= this._columnDefinitions.length) {
|
|
137
147
|
return this;
|
|
138
148
|
}
|
|
139
149
|
var current = this._columnDefinitions[index];
|
|
140
|
-
if (current && current.isPixel === isPixel && current.
|
|
150
|
+
if (current && current.isPixel === isPixel && current.value === width) {
|
|
141
151
|
return this;
|
|
142
152
|
}
|
|
153
|
+
this._columnDefinitions[index].onChangedObservable.remove(this._columnDefinitionObservers[index]);
|
|
143
154
|
this._columnDefinitions[index] = new ValueAndUnit(width, isPixel ? ValueAndUnit.UNITMODE_PIXEL : ValueAndUnit.UNITMODE_PERCENTAGE);
|
|
155
|
+
this._columnDefinitionObservers[index] = this._columnDefinitions[index].onChangedObservable.add(function () { return _this._markAsDirty(); });
|
|
144
156
|
this._markAsDirty();
|
|
145
157
|
return this;
|
|
146
158
|
};
|
|
@@ -211,7 +223,9 @@ var Grid = /** @class */ (function (_super) {
|
|
|
211
223
|
this._offsetCell(previousKey, key);
|
|
212
224
|
}
|
|
213
225
|
}
|
|
226
|
+
this._columnDefinitions[index].onChangedObservable.remove(this._columnDefinitionObservers[index]);
|
|
214
227
|
this._columnDefinitions.splice(index, 1);
|
|
228
|
+
this._columnDefinitionObservers.splice(index, 1);
|
|
215
229
|
this._markAsDirty();
|
|
216
230
|
return this;
|
|
217
231
|
};
|
|
@@ -236,7 +250,9 @@ var Grid = /** @class */ (function (_super) {
|
|
|
236
250
|
this._offsetCell(previousKey, key);
|
|
237
251
|
}
|
|
238
252
|
}
|
|
253
|
+
this._rowDefinitions[index].onChangedObservable.remove(this._rowDefinitionObservers[index]);
|
|
239
254
|
this._rowDefinitions.splice(index, 1);
|
|
255
|
+
this._rowDefinitionObservers.splice(index, 1);
|
|
240
256
|
this._markAsDirty();
|
|
241
257
|
return this;
|
|
242
258
|
};
|
|
@@ -313,58 +329,58 @@ var Grid = /** @class */ (function (_super) {
|
|
|
313
329
|
// Heights
|
|
314
330
|
var index = 0;
|
|
315
331
|
for (var _i = 0, _a = this._rowDefinitions; _i < _a.length; _i++) {
|
|
316
|
-
var
|
|
317
|
-
if (
|
|
318
|
-
var height =
|
|
332
|
+
var rowDefinition = _a[_i];
|
|
333
|
+
if (rowDefinition.isPixel) {
|
|
334
|
+
var height = rowDefinition.getValue(this._host);
|
|
319
335
|
availableHeight -= height;
|
|
320
336
|
heights[index] = height;
|
|
321
337
|
}
|
|
322
338
|
else {
|
|
323
|
-
globalHeightPercentage += value
|
|
339
|
+
globalHeightPercentage += rowDefinition.value;
|
|
324
340
|
}
|
|
325
341
|
index++;
|
|
326
342
|
}
|
|
327
343
|
var top = 0;
|
|
328
344
|
index = 0;
|
|
329
345
|
for (var _b = 0, _c = this._rowDefinitions; _b < _c.length; _b++) {
|
|
330
|
-
var
|
|
346
|
+
var rowDefinition = _c[_b];
|
|
331
347
|
tops.push(top);
|
|
332
|
-
if (!
|
|
333
|
-
var height = (value
|
|
348
|
+
if (!rowDefinition.isPixel) {
|
|
349
|
+
var height = (rowDefinition.value / globalHeightPercentage) * availableHeight;
|
|
334
350
|
top += height;
|
|
335
351
|
heights[index] = height;
|
|
336
352
|
}
|
|
337
353
|
else {
|
|
338
|
-
top +=
|
|
354
|
+
top += rowDefinition.getValue(this._host);
|
|
339
355
|
}
|
|
340
356
|
index++;
|
|
341
357
|
}
|
|
342
358
|
// Widths
|
|
343
359
|
index = 0;
|
|
344
360
|
for (var _d = 0, _e = this._columnDefinitions; _d < _e.length; _d++) {
|
|
345
|
-
var
|
|
346
|
-
if (
|
|
347
|
-
var width =
|
|
361
|
+
var columnDefinition = _e[_d];
|
|
362
|
+
if (columnDefinition.isPixel) {
|
|
363
|
+
var width = columnDefinition.getValue(this._host);
|
|
348
364
|
availableWidth -= width;
|
|
349
365
|
widths[index] = width;
|
|
350
366
|
}
|
|
351
367
|
else {
|
|
352
|
-
globalWidthPercentage += value
|
|
368
|
+
globalWidthPercentage += columnDefinition.value;
|
|
353
369
|
}
|
|
354
370
|
index++;
|
|
355
371
|
}
|
|
356
372
|
var left = 0;
|
|
357
373
|
index = 0;
|
|
358
374
|
for (var _f = 0, _g = this._columnDefinitions; _f < _g.length; _f++) {
|
|
359
|
-
var
|
|
375
|
+
var columnDefinition = _g[_f];
|
|
360
376
|
lefts.push(left);
|
|
361
|
-
if (!
|
|
362
|
-
var width = (value
|
|
377
|
+
if (!columnDefinition.isPixel) {
|
|
378
|
+
var width = (columnDefinition.value / globalWidthPercentage) * availableWidth;
|
|
363
379
|
left += width;
|
|
364
380
|
widths[index] = width;
|
|
365
381
|
}
|
|
366
382
|
else {
|
|
367
|
-
left +=
|
|
383
|
+
left += columnDefinition.getValue(this._host);
|
|
368
384
|
}
|
|
369
385
|
index++;
|
|
370
386
|
}
|
|
@@ -433,10 +449,78 @@ var Grid = /** @class */ (function (_super) {
|
|
|
433
449
|
var control = _a[_i];
|
|
434
450
|
control.dispose();
|
|
435
451
|
}
|
|
452
|
+
for (var index = 0; index < this._rowDefinitions.length; index++) {
|
|
453
|
+
this._rowDefinitions[index].onChangedObservable.remove(this._rowDefinitionObservers[index]);
|
|
454
|
+
}
|
|
455
|
+
for (var index = 0; index < this._columnDefinitions.length; index++) {
|
|
456
|
+
this._columnDefinitions[index].onChangedObservable.remove(this._columnDefinitionObservers[index]);
|
|
457
|
+
}
|
|
458
|
+
this._rowDefinitionObservers = [];
|
|
459
|
+
this._rowDefinitions = [];
|
|
460
|
+
this._columnDefinitionObservers = [];
|
|
461
|
+
this._columnDefinitions = [];
|
|
462
|
+
this._cells = {};
|
|
436
463
|
this._childControls = [];
|
|
437
464
|
};
|
|
465
|
+
/**
|
|
466
|
+
* Serializes the current control
|
|
467
|
+
* @param serializationObject defined the JSON serialized object
|
|
468
|
+
*/
|
|
469
|
+
Grid.prototype.serialize = function (serializationObject) {
|
|
470
|
+
_super.prototype.serialize.call(this, serializationObject);
|
|
471
|
+
serializationObject.columnCount = this.columnCount;
|
|
472
|
+
serializationObject.rowCount = this.rowCount;
|
|
473
|
+
serializationObject.columns = [];
|
|
474
|
+
serializationObject.rows = [];
|
|
475
|
+
serializationObject.tags = [];
|
|
476
|
+
for (var i = 0; i < this.columnCount; ++i) {
|
|
477
|
+
var cd = this.getColumnDefinition(i);
|
|
478
|
+
var childSerializationObject = { value: cd === null || cd === void 0 ? void 0 : cd.getValue(this.host), unit: cd === null || cd === void 0 ? void 0 : cd.unit };
|
|
479
|
+
serializationObject.columns.push(childSerializationObject);
|
|
480
|
+
}
|
|
481
|
+
for (var i = 0; i < this.rowCount; ++i) {
|
|
482
|
+
var rd = this.getRowDefinition(i);
|
|
483
|
+
var childSerializationObject = { value: rd === null || rd === void 0 ? void 0 : rd.getValue(this.host), unit: rd === null || rd === void 0 ? void 0 : rd.unit };
|
|
484
|
+
serializationObject.rows.push(childSerializationObject);
|
|
485
|
+
}
|
|
486
|
+
this.children.forEach(function (child) {
|
|
487
|
+
serializationObject.tags.push(child._tag);
|
|
488
|
+
});
|
|
489
|
+
};
|
|
490
|
+
/** @hidden */
|
|
491
|
+
Grid.prototype._parseFromContent = function (serializedObject, host) {
|
|
492
|
+
_super.prototype._parseFromContent.call(this, serializedObject, host);
|
|
493
|
+
var children = [];
|
|
494
|
+
this.children.forEach(function (child) {
|
|
495
|
+
children.push(child);
|
|
496
|
+
});
|
|
497
|
+
this.removeRowDefinition(0);
|
|
498
|
+
this.removeColumnDefinition(0);
|
|
499
|
+
for (var i = 0; i < serializedObject.columnCount; ++i) {
|
|
500
|
+
var columnValue = serializedObject.columns[i].value;
|
|
501
|
+
var unit = serializedObject.columns[i].unit;
|
|
502
|
+
this.addColumnDefinition(columnValue, unit === 1 ? true : false);
|
|
503
|
+
}
|
|
504
|
+
for (var i = 0; i < serializedObject.rowCount; ++i) {
|
|
505
|
+
var rowValue = serializedObject.rows[i].value;
|
|
506
|
+
var unit = serializedObject.rows[i].unit;
|
|
507
|
+
this.addRowDefinition(rowValue, unit === 1 ? true : false);
|
|
508
|
+
}
|
|
509
|
+
for (var i = 0; i < children.length; ++i) {
|
|
510
|
+
var cellInfo = serializedObject.tags[i];
|
|
511
|
+
var rowNumber = parseInt(cellInfo.substring(0, cellInfo.search(":")));
|
|
512
|
+
if (isNaN(rowNumber)) {
|
|
513
|
+
rowNumber = 0;
|
|
514
|
+
}
|
|
515
|
+
var columnNumber = parseInt(cellInfo.substring(cellInfo.search(":") + 1));
|
|
516
|
+
if (isNaN(columnNumber)) {
|
|
517
|
+
columnNumber = 0;
|
|
518
|
+
}
|
|
519
|
+
this.addControl(children[i], rowNumber, columnNumber);
|
|
520
|
+
}
|
|
521
|
+
};
|
|
438
522
|
return Grid;
|
|
439
523
|
}(Container));
|
|
440
524
|
export { Grid };
|
|
441
|
-
|
|
525
|
+
RegisterClass("BABYLON.GUI.Grid", Grid);
|
|
442
526
|
//# sourceMappingURL=grid.js.map
|