@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,75 +1,75 @@
1
- import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
2
- import { Control } from "./control";
3
- import { MultiLinePoint } from "../multiLinePoint";
4
- import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
5
- /**
6
- * Class used to create multi line control
7
- */
8
- export declare class MultiLine extends Control {
9
- name?: string | undefined;
10
- private _lineWidth;
11
- private _dash;
12
- private _points;
13
- private _minX;
14
- private _minY;
15
- private _maxX;
16
- private _maxY;
17
- /**
18
- * Creates a new MultiLine
19
- * @param name defines the control name
20
- */
21
- constructor(name?: string | undefined);
22
- /** Gets or sets dash pattern */
23
- get dash(): Array<number>;
24
- set dash(value: Array<number>);
25
- /**
26
- * Gets point stored at specified index
27
- * @param index defines the index to look for
28
- * @returns the requested point if found
29
- */
30
- getAt(index: number): MultiLinePoint;
31
- /** Function called when a point is updated */
32
- onPointUpdate: () => void;
33
- /**
34
- * Adds new points to the point collection
35
- * @param items defines the list of items (mesh, control or 2d coordinates) to add
36
- * @returns the list of created MultiLinePoint
37
- */
38
- add(...items: (AbstractMesh | Control | {
39
- x: string | number;
40
- y: string | number;
41
- })[]): MultiLinePoint[];
42
- /**
43
- * Adds a new point to the point collection
44
- * @param item defines the item (mesh, control or 2d coordinates) to add
45
- * @returns the created MultiLinePoint
46
- */
47
- push(item?: AbstractMesh | Control | {
48
- x: string | number;
49
- y: string | number;
50
- }): MultiLinePoint;
51
- /**
52
- * Remove a specific value or point from the active point collection
53
- * @param value defines the value or point to remove
54
- */
55
- remove(value: number | MultiLinePoint): void;
56
- /**
57
- * Resets this object to initial state (no point)
58
- */
59
- reset(): void;
60
- /**
61
- * Resets all links
62
- */
63
- resetLinks(): void;
64
- /** Gets or sets line width */
65
- get lineWidth(): number;
66
- set lineWidth(value: number);
67
- set horizontalAlignment(value: number);
68
- set verticalAlignment(value: number);
69
- protected _getTypeName(): string;
70
- _draw(context: ICanvasRenderingContext): void;
71
- protected _additionalProcessing(): void;
72
- _measure(): void;
73
- protected _computeAlignment(): void;
74
- dispose(): void;
75
- }
1
+ import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
2
+ import { Control } from "./control";
3
+ import { MultiLinePoint } from "../multiLinePoint";
4
+ import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
5
+ /**
6
+ * Class used to create multi line control
7
+ */
8
+ export declare class MultiLine extends Control {
9
+ name?: string | undefined;
10
+ private _lineWidth;
11
+ private _dash;
12
+ private _points;
13
+ private _minX;
14
+ private _minY;
15
+ private _maxX;
16
+ private _maxY;
17
+ /**
18
+ * Creates a new MultiLine
19
+ * @param name defines the control name
20
+ */
21
+ constructor(name?: string | undefined);
22
+ /** Gets or sets dash pattern */
23
+ get dash(): Array<number>;
24
+ set dash(value: Array<number>);
25
+ /**
26
+ * Gets point stored at specified index
27
+ * @param index defines the index to look for
28
+ * @returns the requested point if found
29
+ */
30
+ getAt(index: number): MultiLinePoint;
31
+ /** Function called when a point is updated */
32
+ onPointUpdate: () => void;
33
+ /**
34
+ * Adds new points to the point collection
35
+ * @param items defines the list of items (mesh, control or 2d coordinates) to add
36
+ * @returns the list of created MultiLinePoint
37
+ */
38
+ add(...items: (AbstractMesh | Control | {
39
+ x: string | number;
40
+ y: string | number;
41
+ })[]): MultiLinePoint[];
42
+ /**
43
+ * Adds a new point to the point collection
44
+ * @param item defines the item (mesh, control or 2d coordinates) to add
45
+ * @returns the created MultiLinePoint
46
+ */
47
+ push(item?: AbstractMesh | Control | {
48
+ x: string | number;
49
+ y: string | number;
50
+ }): MultiLinePoint;
51
+ /**
52
+ * Remove a specific value or point from the active point collection
53
+ * @param value defines the value or point to remove
54
+ */
55
+ remove(value: number | MultiLinePoint): void;
56
+ /**
57
+ * Resets this object to initial state (no point)
58
+ */
59
+ reset(): void;
60
+ /**
61
+ * Resets all links
62
+ */
63
+ resetLinks(): void;
64
+ /** Gets or sets line width */
65
+ get lineWidth(): number;
66
+ set lineWidth(value: number);
67
+ set horizontalAlignment(value: number);
68
+ set verticalAlignment(value: number);
69
+ protected _getTypeName(): string;
70
+ _draw(context: ICanvasRenderingContext): void;
71
+ protected _additionalProcessing(): void;
72
+ _measure(): void;
73
+ protected _computeAlignment(): void;
74
+ dispose(): void;
75
+ }
@@ -1,263 +1,263 @@
1
- import { __decorate, __extends } from "tslib";
2
- import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
3
- import { Control } from "./control.js";
4
- import { MultiLinePoint } from "../multiLinePoint.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 multi line control
9
- */
10
- var MultiLine = /** @class */ (function (_super) {
11
- __extends(MultiLine, _super);
12
- /**
13
- * Creates a new MultiLine
14
- * @param name defines the control name
15
- */
16
- function MultiLine(name) {
17
- var _this = _super.call(this, name) || this;
18
- _this.name = name;
19
- _this._lineWidth = 1;
20
- /** Function called when a point is updated */
21
- _this.onPointUpdate = function () {
22
- _this._markAsDirty();
23
- };
24
- _this._automaticSize = true;
25
- _this.isHitTestVisible = false;
26
- _this._horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;
27
- _this._verticalAlignment = Control.VERTICAL_ALIGNMENT_TOP;
28
- _this._dash = [];
29
- _this._points = [];
30
- return _this;
31
- }
32
- Object.defineProperty(MultiLine.prototype, "dash", {
33
- /** Gets or sets dash pattern */
34
- get: function () {
35
- return this._dash;
36
- },
37
- set: function (value) {
38
- if (this._dash === value) {
39
- return;
40
- }
41
- this._dash = value;
42
- this._markAsDirty();
43
- },
44
- enumerable: false,
45
- configurable: true
46
- });
47
- /**
48
- * Gets point stored at specified index
49
- * @param index defines the index to look for
50
- * @returns the requested point if found
51
- */
52
- MultiLine.prototype.getAt = function (index) {
53
- if (!this._points[index]) {
54
- this._points[index] = new MultiLinePoint(this);
55
- }
56
- return this._points[index];
57
- };
58
- /**
59
- * Adds new points to the point collection
60
- * @param items defines the list of items (mesh, control or 2d coordinates) to add
61
- * @returns the list of created MultiLinePoint
62
- */
63
- MultiLine.prototype.add = function () {
64
- var _this = this;
65
- var items = [];
66
- for (var _i = 0; _i < arguments.length; _i++) {
67
- items[_i] = arguments[_i];
68
- }
69
- return items.map(function (item) { return _this.push(item); });
70
- };
71
- /**
72
- * Adds a new point to the point collection
73
- * @param item defines the item (mesh, control or 2d coordinates) to add
74
- * @returns the created MultiLinePoint
75
- */
76
- MultiLine.prototype.push = function (item) {
77
- var point = this.getAt(this._points.length);
78
- if (item == null) {
79
- return point;
80
- }
81
- if (item instanceof AbstractMesh) {
82
- point.mesh = item;
83
- }
84
- else if (item instanceof Control) {
85
- point.control = item;
86
- }
87
- else if (item.x != null && item.y != null) {
88
- point.x = item.x;
89
- point.y = item.y;
90
- }
91
- return point;
92
- };
93
- /**
94
- * Remove a specific value or point from the active point collection
95
- * @param value defines the value or point to remove
96
- */
97
- MultiLine.prototype.remove = function (value) {
98
- var index;
99
- if (value instanceof MultiLinePoint) {
100
- index = this._points.indexOf(value);
101
- if (index === -1) {
102
- return;
103
- }
104
- }
105
- else {
106
- index = value;
107
- }
108
- var point = this._points[index];
109
- if (!point) {
110
- return;
111
- }
112
- point.dispose();
113
- this._points.splice(index, 1);
114
- };
115
- /**
116
- * Resets this object to initial state (no point)
117
- */
118
- MultiLine.prototype.reset = function () {
119
- while (this._points.length > 0) {
120
- this.remove(this._points.length - 1);
121
- }
122
- };
123
- /**
124
- * Resets all links
125
- */
126
- MultiLine.prototype.resetLinks = function () {
127
- this._points.forEach(function (point) {
128
- if (point != null) {
129
- point.resetLinks();
130
- }
131
- });
132
- };
133
- Object.defineProperty(MultiLine.prototype, "lineWidth", {
134
- /** Gets or sets line width */
135
- get: function () {
136
- return this._lineWidth;
137
- },
138
- set: function (value) {
139
- if (this._lineWidth === value) {
140
- return;
141
- }
142
- this._lineWidth = value;
143
- this._markAsDirty();
144
- },
145
- enumerable: false,
146
- configurable: true
147
- });
148
- Object.defineProperty(MultiLine.prototype, "horizontalAlignment", {
149
- set: function (value) {
150
- return;
151
- },
152
- enumerable: false,
153
- configurable: true
154
- });
155
- Object.defineProperty(MultiLine.prototype, "verticalAlignment", {
156
- set: function (value) {
157
- return;
158
- },
159
- enumerable: false,
160
- configurable: true
161
- });
162
- MultiLine.prototype._getTypeName = function () {
163
- return "MultiLine";
164
- };
165
- MultiLine.prototype._draw = function (context) {
166
- context.save();
167
- if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
168
- context.shadowColor = this.shadowColor;
169
- context.shadowBlur = this.shadowBlur;
170
- context.shadowOffsetX = this.shadowOffsetX;
171
- context.shadowOffsetY = this.shadowOffsetY;
172
- }
173
- this._applyStates(context);
174
- context.strokeStyle = this.color;
175
- context.lineWidth = this._lineWidth;
176
- context.setLineDash(this._dash);
177
- context.beginPath();
178
- var first = true; //first index is not necessarily 0
179
- var previousPoint;
180
- this._points.forEach(function (point) {
181
- if (!point) {
182
- return;
183
- }
184
- if (first) {
185
- context.moveTo(point._point.x, point._point.y);
186
- first = false;
187
- }
188
- else {
189
- if (point._point.z < 1 && previousPoint.z < 1) {
190
- context.lineTo(point._point.x, point._point.y);
191
- }
192
- else {
193
- context.moveTo(point._point.x, point._point.y);
194
- }
195
- }
196
- previousPoint = point._point;
197
- });
198
- context.stroke();
199
- context.restore();
200
- };
201
- MultiLine.prototype._additionalProcessing = function () {
202
- var _this = this;
203
- this._minX = null;
204
- this._minY = null;
205
- this._maxX = null;
206
- this._maxY = null;
207
- this._points.forEach(function (point) {
208
- if (!point) {
209
- return;
210
- }
211
- point.translate();
212
- if (_this._minX == null || point._point.x < _this._minX) {
213
- _this._minX = point._point.x;
214
- }
215
- if (_this._minY == null || point._point.y < _this._minY) {
216
- _this._minY = point._point.y;
217
- }
218
- if (_this._maxX == null || point._point.x > _this._maxX) {
219
- _this._maxX = point._point.x;
220
- }
221
- if (_this._maxY == null || point._point.y > _this._maxY) {
222
- _this._maxY = point._point.y;
223
- }
224
- });
225
- if (this._minX == null) {
226
- this._minX = 0;
227
- }
228
- if (this._minY == null) {
229
- this._minY = 0;
230
- }
231
- if (this._maxX == null) {
232
- this._maxX = 0;
233
- }
234
- if (this._maxY == null) {
235
- this._maxY = 0;
236
- }
237
- };
238
- MultiLine.prototype._measure = function () {
239
- if (this._minX == null || this._maxX == null || this._minY == null || this._maxY == null) {
240
- return;
241
- }
242
- this._currentMeasure.width = Math.abs(this._maxX - this._minX) + this._lineWidth;
243
- this._currentMeasure.height = Math.abs(this._maxY - this._minY) + this._lineWidth;
244
- };
245
- MultiLine.prototype._computeAlignment = function () {
246
- if (this._minX == null || this._minY == null) {
247
- return;
248
- }
249
- this._currentMeasure.left = this._minX - this._lineWidth / 2;
250
- this._currentMeasure.top = this._minY - this._lineWidth / 2;
251
- };
252
- MultiLine.prototype.dispose = function () {
253
- this.reset();
254
- _super.prototype.dispose.call(this);
255
- };
256
- __decorate([
257
- serialize()
258
- ], MultiLine.prototype, "dash", null);
259
- return MultiLine;
260
- }(Control));
261
- export { MultiLine };
262
- RegisterClass("BABYLON.GUI.MultiLine", MultiLine);
1
+ import { __decorate, __extends } from "tslib";
2
+ import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
3
+ import { Control } from "./control";
4
+ import { MultiLinePoint } from "../multiLinePoint";
5
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
6
+ import { serialize } from "@babylonjs/core/Misc/decorators.js";
7
+ /**
8
+ * Class used to create multi line control
9
+ */
10
+ var MultiLine = /** @class */ (function (_super) {
11
+ __extends(MultiLine, _super);
12
+ /**
13
+ * Creates a new MultiLine
14
+ * @param name defines the control name
15
+ */
16
+ function MultiLine(name) {
17
+ var _this = _super.call(this, name) || this;
18
+ _this.name = name;
19
+ _this._lineWidth = 1;
20
+ /** Function called when a point is updated */
21
+ _this.onPointUpdate = function () {
22
+ _this._markAsDirty();
23
+ };
24
+ _this._automaticSize = true;
25
+ _this.isHitTestVisible = false;
26
+ _this._horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;
27
+ _this._verticalAlignment = Control.VERTICAL_ALIGNMENT_TOP;
28
+ _this._dash = [];
29
+ _this._points = [];
30
+ return _this;
31
+ }
32
+ Object.defineProperty(MultiLine.prototype, "dash", {
33
+ /** Gets or sets dash pattern */
34
+ get: function () {
35
+ return this._dash;
36
+ },
37
+ set: function (value) {
38
+ if (this._dash === value) {
39
+ return;
40
+ }
41
+ this._dash = value;
42
+ this._markAsDirty();
43
+ },
44
+ enumerable: false,
45
+ configurable: true
46
+ });
47
+ /**
48
+ * Gets point stored at specified index
49
+ * @param index defines the index to look for
50
+ * @returns the requested point if found
51
+ */
52
+ MultiLine.prototype.getAt = function (index) {
53
+ if (!this._points[index]) {
54
+ this._points[index] = new MultiLinePoint(this);
55
+ }
56
+ return this._points[index];
57
+ };
58
+ /**
59
+ * Adds new points to the point collection
60
+ * @param items defines the list of items (mesh, control or 2d coordinates) to add
61
+ * @returns the list of created MultiLinePoint
62
+ */
63
+ MultiLine.prototype.add = function () {
64
+ var _this = this;
65
+ var items = [];
66
+ for (var _i = 0; _i < arguments.length; _i++) {
67
+ items[_i] = arguments[_i];
68
+ }
69
+ return items.map(function (item) { return _this.push(item); });
70
+ };
71
+ /**
72
+ * Adds a new point to the point collection
73
+ * @param item defines the item (mesh, control or 2d coordinates) to add
74
+ * @returns the created MultiLinePoint
75
+ */
76
+ MultiLine.prototype.push = function (item) {
77
+ var point = this.getAt(this._points.length);
78
+ if (item == null) {
79
+ return point;
80
+ }
81
+ if (item instanceof AbstractMesh) {
82
+ point.mesh = item;
83
+ }
84
+ else if (item instanceof Control) {
85
+ point.control = item;
86
+ }
87
+ else if (item.x != null && item.y != null) {
88
+ point.x = item.x;
89
+ point.y = item.y;
90
+ }
91
+ return point;
92
+ };
93
+ /**
94
+ * Remove a specific value or point from the active point collection
95
+ * @param value defines the value or point to remove
96
+ */
97
+ MultiLine.prototype.remove = function (value) {
98
+ var index;
99
+ if (value instanceof MultiLinePoint) {
100
+ index = this._points.indexOf(value);
101
+ if (index === -1) {
102
+ return;
103
+ }
104
+ }
105
+ else {
106
+ index = value;
107
+ }
108
+ var point = this._points[index];
109
+ if (!point) {
110
+ return;
111
+ }
112
+ point.dispose();
113
+ this._points.splice(index, 1);
114
+ };
115
+ /**
116
+ * Resets this object to initial state (no point)
117
+ */
118
+ MultiLine.prototype.reset = function () {
119
+ while (this._points.length > 0) {
120
+ this.remove(this._points.length - 1);
121
+ }
122
+ };
123
+ /**
124
+ * Resets all links
125
+ */
126
+ MultiLine.prototype.resetLinks = function () {
127
+ this._points.forEach(function (point) {
128
+ if (point != null) {
129
+ point.resetLinks();
130
+ }
131
+ });
132
+ };
133
+ Object.defineProperty(MultiLine.prototype, "lineWidth", {
134
+ /** Gets or sets line width */
135
+ get: function () {
136
+ return this._lineWidth;
137
+ },
138
+ set: function (value) {
139
+ if (this._lineWidth === value) {
140
+ return;
141
+ }
142
+ this._lineWidth = value;
143
+ this._markAsDirty();
144
+ },
145
+ enumerable: false,
146
+ configurable: true
147
+ });
148
+ Object.defineProperty(MultiLine.prototype, "horizontalAlignment", {
149
+ set: function (value) {
150
+ return;
151
+ },
152
+ enumerable: false,
153
+ configurable: true
154
+ });
155
+ Object.defineProperty(MultiLine.prototype, "verticalAlignment", {
156
+ set: function (value) {
157
+ return;
158
+ },
159
+ enumerable: false,
160
+ configurable: true
161
+ });
162
+ MultiLine.prototype._getTypeName = function () {
163
+ return "MultiLine";
164
+ };
165
+ MultiLine.prototype._draw = function (context) {
166
+ context.save();
167
+ if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
168
+ context.shadowColor = this.shadowColor;
169
+ context.shadowBlur = this.shadowBlur;
170
+ context.shadowOffsetX = this.shadowOffsetX;
171
+ context.shadowOffsetY = this.shadowOffsetY;
172
+ }
173
+ this._applyStates(context);
174
+ context.strokeStyle = this.color;
175
+ context.lineWidth = this._lineWidth;
176
+ context.setLineDash(this._dash);
177
+ context.beginPath();
178
+ var first = true; //first index is not necessarily 0
179
+ var previousPoint;
180
+ this._points.forEach(function (point) {
181
+ if (!point) {
182
+ return;
183
+ }
184
+ if (first) {
185
+ context.moveTo(point._point.x, point._point.y);
186
+ first = false;
187
+ }
188
+ else {
189
+ if (point._point.z < 1 && previousPoint.z < 1) {
190
+ context.lineTo(point._point.x, point._point.y);
191
+ }
192
+ else {
193
+ context.moveTo(point._point.x, point._point.y);
194
+ }
195
+ }
196
+ previousPoint = point._point;
197
+ });
198
+ context.stroke();
199
+ context.restore();
200
+ };
201
+ MultiLine.prototype._additionalProcessing = function () {
202
+ var _this = this;
203
+ this._minX = null;
204
+ this._minY = null;
205
+ this._maxX = null;
206
+ this._maxY = null;
207
+ this._points.forEach(function (point) {
208
+ if (!point) {
209
+ return;
210
+ }
211
+ point.translate();
212
+ if (_this._minX == null || point._point.x < _this._minX) {
213
+ _this._minX = point._point.x;
214
+ }
215
+ if (_this._minY == null || point._point.y < _this._minY) {
216
+ _this._minY = point._point.y;
217
+ }
218
+ if (_this._maxX == null || point._point.x > _this._maxX) {
219
+ _this._maxX = point._point.x;
220
+ }
221
+ if (_this._maxY == null || point._point.y > _this._maxY) {
222
+ _this._maxY = point._point.y;
223
+ }
224
+ });
225
+ if (this._minX == null) {
226
+ this._minX = 0;
227
+ }
228
+ if (this._minY == null) {
229
+ this._minY = 0;
230
+ }
231
+ if (this._maxX == null) {
232
+ this._maxX = 0;
233
+ }
234
+ if (this._maxY == null) {
235
+ this._maxY = 0;
236
+ }
237
+ };
238
+ MultiLine.prototype._measure = function () {
239
+ if (this._minX == null || this._maxX == null || this._minY == null || this._maxY == null) {
240
+ return;
241
+ }
242
+ this._currentMeasure.width = Math.abs(this._maxX - this._minX) + this._lineWidth;
243
+ this._currentMeasure.height = Math.abs(this._maxY - this._minY) + this._lineWidth;
244
+ };
245
+ MultiLine.prototype._computeAlignment = function () {
246
+ if (this._minX == null || this._minY == null) {
247
+ return;
248
+ }
249
+ this._currentMeasure.left = this._minX - this._lineWidth / 2;
250
+ this._currentMeasure.top = this._minY - this._lineWidth / 2;
251
+ };
252
+ MultiLine.prototype.dispose = function () {
253
+ this.reset();
254
+ _super.prototype.dispose.call(this);
255
+ };
256
+ __decorate([
257
+ serialize()
258
+ ], MultiLine.prototype, "dash", null);
259
+ return MultiLine;
260
+ }(Control));
261
+ export { MultiLine };
262
+ RegisterClass("BABYLON.GUI.MultiLine", MultiLine);
263
263
  //# sourceMappingURL=multiLine.js.map