@babylonjs/gui 5.0.0-beta.9 → 5.0.0-rc.10

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 (305) hide show
  1. package/2D/adtInstrumentation.d.ts +52 -52
  2. package/2D/adtInstrumentation.js +126 -126
  3. package/2D/adtInstrumentation.js.map +1 -1
  4. package/2D/advancedDynamicTexture.d.ts +449 -412
  5. package/2D/advancedDynamicTexture.js +1318 -1239
  6. package/2D/advancedDynamicTexture.js.map +1 -1
  7. package/2D/controls/button.d.ts +135 -97
  8. package/2D/controls/button.js +276 -238
  9. package/2D/controls/button.js.map +1 -1
  10. package/2D/controls/checkbox.d.ts +59 -51
  11. package/2D/controls/checkbox.js +188 -178
  12. package/2D/controls/checkbox.js.map +1 -1
  13. package/2D/controls/colorpicker.d.ts +103 -90
  14. package/2D/controls/colorpicker.js +1417 -1400
  15. package/2D/controls/colorpicker.js.map +1 -1
  16. package/2D/controls/container.d.ts +175 -130
  17. package/2D/controls/container.js +570 -525
  18. package/2D/controls/container.js.map +1 -1
  19. package/2D/controls/control.d.ts +866 -743
  20. package/2D/controls/control.js +2433 -2308
  21. package/2D/controls/control.js.map +1 -1
  22. package/2D/controls/displayGrid.d.ts +53 -55
  23. package/2D/controls/displayGrid.js +245 -245
  24. package/2D/controls/displayGrid.js.map +1 -1
  25. package/2D/controls/ellipse.d.ts +21 -21
  26. package/2D/controls/ellipse.js +85 -85
  27. package/2D/controls/ellipse.js.map +1 -1
  28. package/2D/controls/focusableButton.d.ts +59 -52
  29. package/2D/controls/focusableButton.js +99 -92
  30. package/2D/controls/focusableButton.js.map +1 -1
  31. package/2D/controls/focusableControl.d.ts +34 -34
  32. package/2D/controls/focusableControl.js +1 -1
  33. package/2D/controls/focusableControl.js.map +1 -1
  34. package/2D/controls/grid.d.ts +139 -135
  35. package/2D/controls/grid.js +529 -525
  36. package/2D/controls/grid.js.map +1 -1
  37. package/2D/controls/image.d.ts +204 -197
  38. package/2D/controls/image.js +887 -879
  39. package/2D/controls/image.js.map +1 -1
  40. package/2D/controls/index.d.ts +29 -29
  41. package/2D/controls/index.js +29 -29
  42. package/2D/controls/index.js.map +1 -1
  43. package/2D/controls/inputPassword.d.ts +9 -8
  44. package/2D/controls/inputPassword.js +28 -25
  45. package/2D/controls/inputPassword.js.map +1 -1
  46. package/2D/controls/inputText.d.ts +201 -180
  47. package/2D/controls/inputText.js +1119 -1095
  48. package/2D/controls/inputText.js.map +1 -1
  49. package/2D/controls/line.d.ts +66 -66
  50. package/2D/controls/line.js +271 -271
  51. package/2D/controls/line.js.map +1 -1
  52. package/2D/controls/multiLine.d.ts +75 -77
  53. package/2D/controls/multiLine.js +262 -262
  54. package/2D/controls/multiLine.js.map +1 -1
  55. package/2D/controls/radioButton.d.ts +49 -49
  56. package/2D/controls/radioButton.js +205 -205
  57. package/2D/controls/radioButton.js.map +1 -1
  58. package/2D/controls/rectangle.d.ts +29 -29
  59. package/2D/controls/rectangle.js +150 -150
  60. package/2D/controls/rectangle.js.map +1 -1
  61. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -175
  62. package/2D/controls/scrollViewers/scrollViewer.js +677 -676
  63. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  64. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -45
  65. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -263
  66. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  67. package/2D/controls/selector.d.ts +263 -209
  68. package/2D/controls/selector.js +692 -629
  69. package/2D/controls/selector.js.map +1 -1
  70. package/2D/controls/sliders/baseSlider.d.ts +82 -78
  71. package/2D/controls/sliders/baseSlider.js +347 -343
  72. package/2D/controls/sliders/baseSlider.js.map +1 -1
  73. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -47
  74. package/2D/controls/sliders/imageBasedSlider.js +192 -188
  75. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  76. package/2D/controls/sliders/imageScrollBar.d.ts +65 -61
  77. package/2D/controls/sliders/imageScrollBar.js +263 -256
  78. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  79. package/2D/controls/sliders/scrollBar.d.ts +38 -34
  80. package/2D/controls/sliders/scrollBar.js +143 -136
  81. package/2D/controls/sliders/scrollBar.js.map +1 -1
  82. package/2D/controls/sliders/slider.d.ts +35 -37
  83. package/2D/controls/sliders/slider.js +271 -271
  84. package/2D/controls/sliders/slider.js.map +1 -1
  85. package/2D/controls/stackPanel.d.ts +64 -56
  86. package/2D/controls/stackPanel.js +246 -236
  87. package/2D/controls/stackPanel.js.map +1 -1
  88. package/2D/controls/statics.d.ts +6 -6
  89. package/2D/controls/statics.js +49 -47
  90. package/2D/controls/statics.js.map +1 -1
  91. package/2D/controls/textBlock.d.ts +175 -171
  92. package/2D/controls/textBlock.js +603 -588
  93. package/2D/controls/textBlock.js.map +1 -1
  94. package/2D/controls/textWrapper.d.ts +13 -13
  95. package/2D/controls/textWrapper.js +101 -101
  96. package/2D/controls/textWrapper.js.map +1 -1
  97. package/2D/controls/toggleButton.d.ts +117 -83
  98. package/2D/controls/toggleButton.js +268 -234
  99. package/2D/controls/toggleButton.js.map +1 -1
  100. package/2D/controls/virtualKeyboard.d.ts +96 -96
  101. package/2D/controls/virtualKeyboard.js +256 -256
  102. package/2D/controls/virtualKeyboard.js.map +1 -1
  103. package/2D/index.d.ts +9 -9
  104. package/2D/index.js +10 -9
  105. package/2D/index.js.map +1 -1
  106. package/2D/math2D.d.ts +117 -117
  107. package/2D/math2D.js +221 -221
  108. package/2D/math2D.js.map +1 -1
  109. package/2D/measure.d.ts +77 -77
  110. package/2D/measure.js +139 -149
  111. package/2D/measure.js.map +1 -1
  112. package/2D/multiLinePoint.d.ts +47 -47
  113. package/2D/multiLinePoint.js +127 -127
  114. package/2D/multiLinePoint.js.map +1 -1
  115. package/2D/style.d.ts +46 -46
  116. package/2D/style.js +97 -97
  117. package/2D/style.js.map +1 -1
  118. package/2D/valueAndUnit.d.ts +89 -89
  119. package/2D/valueAndUnit.js +226 -222
  120. package/2D/valueAndUnit.js.map +1 -1
  121. package/2D/xmlLoader.d.ts +60 -60
  122. package/2D/xmlLoader.js +348 -341
  123. package/2D/xmlLoader.js.map +1 -1
  124. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  125. package/3D/behaviors/defaultBehavior.js +121 -121
  126. package/3D/behaviors/defaultBehavior.js.map +1 -1
  127. package/3D/controls/abstractButton3D.d.ts +15 -15
  128. package/3D/controls/abstractButton3D.js +25 -25
  129. package/3D/controls/abstractButton3D.js.map +1 -1
  130. package/3D/controls/button3D.d.ts +30 -30
  131. package/3D/controls/button3D.js +93 -93
  132. package/3D/controls/button3D.js.map +1 -1
  133. package/3D/controls/container3D.d.ts +72 -72
  134. package/3D/controls/container3D.js +139 -140
  135. package/3D/controls/container3D.js.map +1 -1
  136. package/3D/controls/contentDisplay3D.d.ts +30 -30
  137. package/3D/controls/contentDisplay3D.js +79 -78
  138. package/3D/controls/contentDisplay3D.js.map +1 -1
  139. package/3D/controls/control3D.d.ts +201 -165
  140. package/3D/controls/control3D.js +445 -408
  141. package/3D/controls/control3D.js.map +1 -1
  142. package/3D/controls/cylinderPanel.d.ts +17 -17
  143. package/3D/controls/cylinderPanel.js +66 -66
  144. package/3D/controls/cylinderPanel.js.map +1 -1
  145. package/3D/controls/handMenu.d.ts +28 -28
  146. package/3D/controls/handMenu.js +47 -47
  147. package/3D/controls/handMenu.js.map +1 -1
  148. package/3D/controls/holographicBackplate.d.ts +49 -48
  149. package/3D/controls/holographicBackplate.js +120 -120
  150. package/3D/controls/holographicBackplate.js.map +1 -1
  151. package/3D/controls/holographicButton.d.ts +84 -83
  152. package/3D/controls/holographicButton.js +339 -338
  153. package/3D/controls/holographicButton.js.map +1 -1
  154. package/3D/controls/holographicSlate.d.ts +131 -118
  155. package/3D/controls/holographicSlate.js +431 -369
  156. package/3D/controls/holographicSlate.js.map +1 -1
  157. package/3D/controls/index.d.ts +21 -21
  158. package/3D/controls/index.js +21 -21
  159. package/3D/controls/index.js.map +1 -1
  160. package/3D/controls/meshButton3D.d.ts +21 -21
  161. package/3D/controls/meshButton3D.js +62 -61
  162. package/3D/controls/meshButton3D.js.map +1 -1
  163. package/3D/controls/nearMenu.d.ts +44 -44
  164. package/3D/controls/nearMenu.js +114 -112
  165. package/3D/controls/nearMenu.js.map +1 -1
  166. package/3D/controls/planePanel.d.ts +9 -9
  167. package/3D/controls/planePanel.js +36 -36
  168. package/3D/controls/planePanel.js.map +1 -1
  169. package/3D/controls/scatterPanel.d.ts +18 -18
  170. package/3D/controls/scatterPanel.js +108 -108
  171. package/3D/controls/scatterPanel.js.map +1 -1
  172. package/3D/controls/slider3D.d.ts +81 -80
  173. package/3D/controls/slider3D.js +268 -267
  174. package/3D/controls/slider3D.js.map +1 -1
  175. package/3D/controls/spherePanel.d.ts +17 -17
  176. package/3D/controls/spherePanel.js +67 -67
  177. package/3D/controls/spherePanel.js.map +1 -1
  178. package/3D/controls/stackPanel3D.d.ts +22 -22
  179. package/3D/controls/stackPanel3D.js +107 -107
  180. package/3D/controls/stackPanel3D.js.map +1 -1
  181. package/3D/controls/touchButton3D.d.ts +80 -64
  182. package/3D/controls/touchButton3D.js +233 -188
  183. package/3D/controls/touchButton3D.js.map +1 -1
  184. package/3D/controls/touchHolographicButton.d.ts +110 -104
  185. package/3D/controls/touchHolographicButton.js +445 -432
  186. package/3D/controls/touchHolographicButton.js.map +1 -1
  187. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  188. package/3D/controls/touchHolographicMenu.js +149 -148
  189. package/3D/controls/touchHolographicMenu.js.map +1 -1
  190. package/3D/controls/touchMeshButton3D.d.ts +21 -22
  191. package/3D/controls/touchMeshButton3D.js +62 -62
  192. package/3D/controls/touchMeshButton3D.js.map +1 -1
  193. package/3D/controls/volumeBasedPanel.d.ts +53 -52
  194. package/3D/controls/volumeBasedPanel.js +174 -174
  195. package/3D/controls/volumeBasedPanel.js.map +1 -1
  196. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  197. package/3D/gizmos/gizmoHandle.js +209 -209
  198. package/3D/gizmos/gizmoHandle.js.map +1 -1
  199. package/3D/gizmos/index.d.ts +2 -2
  200. package/3D/gizmos/index.js +2 -2
  201. package/3D/gizmos/index.js.map +1 -1
  202. package/3D/gizmos/slateGizmo.d.ts +57 -59
  203. package/3D/gizmos/slateGizmo.js +369 -363
  204. package/3D/gizmos/slateGizmo.js.map +1 -1
  205. package/3D/gui3DManager.d.ts +94 -94
  206. package/3D/gui3DManager.js +257 -257
  207. package/3D/gui3DManager.js.map +1 -1
  208. package/3D/index.d.ts +5 -5
  209. package/3D/index.js +6 -5
  210. package/3D/index.js.map +1 -1
  211. package/3D/materials/fluent/fluentMaterial.d.ts +91 -90
  212. package/3D/materials/fluent/fluentMaterial.js +292 -281
  213. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  214. package/3D/materials/fluent/index.d.ts +1 -1
  215. package/3D/materials/fluent/index.js +1 -1
  216. package/3D/materials/fluent/index.js.map +1 -1
  217. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  218. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -6
  219. package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -1
  220. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  221. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -6
  222. package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -1
  223. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +155 -154
  224. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -434
  225. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  226. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  227. package/3D/materials/fluentBackplate/index.js +1 -1
  228. package/3D/materials/fluentBackplate/index.js.map +1 -1
  229. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  230. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -6
  231. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -1
  232. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  233. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -6
  234. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -1
  235. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +190 -189
  236. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -537
  237. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  238. package/3D/materials/fluentButton/index.d.ts +1 -1
  239. package/3D/materials/fluentButton/index.js +1 -1
  240. package/3D/materials/fluentButton/index.js.map +1 -1
  241. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  242. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -6
  243. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -1
  244. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  245. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -6
  246. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -1
  247. package/3D/materials/fluentMaterial.d.ts +4 -4
  248. package/3D/materials/fluentMaterial.js +4 -4
  249. package/3D/materials/fluentMaterial.js.map +1 -1
  250. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  251. package/3D/materials/handle/handleMaterial.js +126 -126
  252. package/3D/materials/handle/handleMaterial.js.map +1 -1
  253. package/3D/materials/handle/index.d.ts +1 -1
  254. package/3D/materials/handle/index.js +1 -1
  255. package/3D/materials/handle/index.js.map +1 -1
  256. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  257. package/3D/materials/handle/shaders/handle.fragment.js +8 -6
  258. package/3D/materials/handle/shaders/handle.fragment.js.map +1 -1
  259. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  260. package/3D/materials/handle/shaders/handle.vertex.js +8 -6
  261. package/3D/materials/handle/shaders/handle.vertex.js.map +1 -1
  262. package/3D/materials/index.d.ts +5 -5
  263. package/3D/materials/index.js +6 -5
  264. package/3D/materials/index.js.map +1 -1
  265. package/3D/materials/mrdl/index.d.ts +3 -3
  266. package/3D/materials/mrdl/index.js +3 -3
  267. package/3D/materials/mrdl/index.js.map +1 -1
  268. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +148 -147
  269. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -409
  270. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  271. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +334 -333
  272. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -786
  273. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  274. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +334 -333
  275. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -786
  276. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  277. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  278. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -6
  279. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -1
  280. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  281. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -6
  282. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -1
  283. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  284. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -6
  285. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -1
  286. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  287. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -6
  288. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -1
  289. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  290. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -6
  291. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -1
  292. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  293. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -6
  294. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -1
  295. package/3D/vector3WithInfo.d.ts +16 -16
  296. package/3D/vector3WithInfo.js +23 -23
  297. package/3D/vector3WithInfo.js.map +1 -1
  298. package/index.d.ts +2 -2
  299. package/index.js +3 -2
  300. package/index.js.map +1 -1
  301. package/legacy/legacy.d.ts +1 -1
  302. package/legacy/legacy.js +14 -13
  303. package/legacy/legacy.js.map +1 -1
  304. package/package.json +21 -328
  305. package/readme.md +2 -2
@@ -1,128 +1,128 @@
1
- import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
2
- import { Epsilon } from '@babylonjs/core/Maths/math.constants.js';
3
- import { ValueAndUnit } from "./valueAndUnit.js";
4
- /**
5
- * Class used to store a point for a MultiLine object.
6
- * The point can be pure 2D coordinates, a mesh or a control
7
- */
8
- var MultiLinePoint = /** @class */ (function () {
9
- /**
10
- * Creates a new MultiLinePoint
11
- * @param multiLine defines the source MultiLine object
12
- */
13
- function MultiLinePoint(multiLine) {
14
- this._multiLine = multiLine;
15
- this._x = new ValueAndUnit(0);
16
- this._y = new ValueAndUnit(0);
17
- this._point = new Vector3(0, 0, 0);
18
- }
19
- Object.defineProperty(MultiLinePoint.prototype, "x", {
20
- /** Gets or sets x coordinate */
21
- get: function () {
22
- return this._x.toString(this._multiLine._host);
23
- },
24
- set: function (value) {
25
- if (this._x.toString(this._multiLine._host) === value) {
26
- return;
27
- }
28
- if (this._x.fromString(value)) {
29
- this._multiLine._markAsDirty();
30
- }
31
- },
32
- enumerable: false,
33
- configurable: true
34
- });
35
- Object.defineProperty(MultiLinePoint.prototype, "y", {
36
- /** Gets or sets y coordinate */
37
- get: function () {
38
- return this._y.toString(this._multiLine._host);
39
- },
40
- set: function (value) {
41
- if (this._y.toString(this._multiLine._host) === value) {
42
- return;
43
- }
44
- if (this._y.fromString(value)) {
45
- this._multiLine._markAsDirty();
46
- }
47
- },
48
- enumerable: false,
49
- configurable: true
50
- });
51
- Object.defineProperty(MultiLinePoint.prototype, "control", {
52
- /** Gets or sets the control associated with this point */
53
- get: function () {
54
- return this._control;
55
- },
56
- set: function (value) {
57
- if (this._control === value) {
58
- return;
59
- }
60
- if (this._control && this._controlObserver) {
61
- this._control.onDirtyObservable.remove(this._controlObserver);
62
- this._controlObserver = null;
63
- }
64
- this._control = value;
65
- if (this._control) {
66
- this._controlObserver = this._control.onDirtyObservable.add(this._multiLine.onPointUpdate);
67
- }
68
- this._multiLine._markAsDirty();
69
- },
70
- enumerable: false,
71
- configurable: true
72
- });
73
- Object.defineProperty(MultiLinePoint.prototype, "mesh", {
74
- /** Gets or sets the mesh associated with this point */
75
- get: function () {
76
- return this._mesh;
77
- },
78
- set: function (value) {
79
- if (this._mesh === value) {
80
- return;
81
- }
82
- if (this._mesh && this._meshObserver) {
83
- this._mesh.getScene().onAfterCameraRenderObservable.remove(this._meshObserver);
84
- }
85
- this._mesh = value;
86
- if (this._mesh) {
87
- this._meshObserver = this._mesh.getScene().onAfterCameraRenderObservable.add(this._multiLine.onPointUpdate);
88
- }
89
- this._multiLine._markAsDirty();
90
- },
91
- enumerable: false,
92
- configurable: true
93
- });
94
- /** Resets links */
95
- MultiLinePoint.prototype.resetLinks = function () {
96
- this.control = null;
97
- this.mesh = null;
98
- };
99
- /**
100
- * Gets a translation vector with Z component
101
- * @returns the translation vector
102
- */
103
- MultiLinePoint.prototype.translate = function () {
104
- this._point = this._translatePoint();
105
- return this._point;
106
- };
107
- MultiLinePoint.prototype._translatePoint = function () {
108
- if (this._mesh != null) {
109
- return this._multiLine._host.getProjectedPositionWithZ(this._mesh.getBoundingInfo().boundingSphere.center, this._mesh.getWorldMatrix());
110
- }
111
- else if (this._control != null) {
112
- return new Vector3(this._control.centerX, this._control.centerY, 1. - Epsilon);
113
- }
114
- else {
115
- var host = this._multiLine._host;
116
- var xValue = this._x.getValueInPixel(host, Number(host._canvas.width));
117
- var yValue = this._y.getValueInPixel(host, Number(host._canvas.height));
118
- return new Vector3(xValue, yValue, 1. - Epsilon);
119
- }
120
- };
121
- /** Release associated resources */
122
- MultiLinePoint.prototype.dispose = function () {
123
- this.resetLinks();
124
- };
125
- return MultiLinePoint;
126
- }());
127
- export { MultiLinePoint };
1
+ import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
2
+ import { Epsilon } from "@babylonjs/core/Maths/math.constants.js";
3
+ import { ValueAndUnit } from "./valueAndUnit";
4
+ /**
5
+ * Class used to store a point for a MultiLine object.
6
+ * The point can be pure 2D coordinates, a mesh or a control
7
+ */
8
+ var MultiLinePoint = /** @class */ (function () {
9
+ /**
10
+ * Creates a new MultiLinePoint
11
+ * @param multiLine defines the source MultiLine object
12
+ */
13
+ function MultiLinePoint(multiLine) {
14
+ this._multiLine = multiLine;
15
+ this._x = new ValueAndUnit(0);
16
+ this._y = new ValueAndUnit(0);
17
+ this._point = new Vector3(0, 0, 0);
18
+ }
19
+ Object.defineProperty(MultiLinePoint.prototype, "x", {
20
+ /** Gets or sets x coordinate */
21
+ get: function () {
22
+ return this._x.toString(this._multiLine._host);
23
+ },
24
+ set: function (value) {
25
+ if (this._x.toString(this._multiLine._host) === value) {
26
+ return;
27
+ }
28
+ if (this._x.fromString(value)) {
29
+ this._multiLine._markAsDirty();
30
+ }
31
+ },
32
+ enumerable: false,
33
+ configurable: true
34
+ });
35
+ Object.defineProperty(MultiLinePoint.prototype, "y", {
36
+ /** Gets or sets y coordinate */
37
+ get: function () {
38
+ return this._y.toString(this._multiLine._host);
39
+ },
40
+ set: function (value) {
41
+ if (this._y.toString(this._multiLine._host) === value) {
42
+ return;
43
+ }
44
+ if (this._y.fromString(value)) {
45
+ this._multiLine._markAsDirty();
46
+ }
47
+ },
48
+ enumerable: false,
49
+ configurable: true
50
+ });
51
+ Object.defineProperty(MultiLinePoint.prototype, "control", {
52
+ /** Gets or sets the control associated with this point */
53
+ get: function () {
54
+ return this._control;
55
+ },
56
+ set: function (value) {
57
+ if (this._control === value) {
58
+ return;
59
+ }
60
+ if (this._control && this._controlObserver) {
61
+ this._control.onDirtyObservable.remove(this._controlObserver);
62
+ this._controlObserver = null;
63
+ }
64
+ this._control = value;
65
+ if (this._control) {
66
+ this._controlObserver = this._control.onDirtyObservable.add(this._multiLine.onPointUpdate);
67
+ }
68
+ this._multiLine._markAsDirty();
69
+ },
70
+ enumerable: false,
71
+ configurable: true
72
+ });
73
+ Object.defineProperty(MultiLinePoint.prototype, "mesh", {
74
+ /** Gets or sets the mesh associated with this point */
75
+ get: function () {
76
+ return this._mesh;
77
+ },
78
+ set: function (value) {
79
+ if (this._mesh === value) {
80
+ return;
81
+ }
82
+ if (this._mesh && this._meshObserver) {
83
+ this._mesh.getScene().onAfterCameraRenderObservable.remove(this._meshObserver);
84
+ }
85
+ this._mesh = value;
86
+ if (this._mesh) {
87
+ this._meshObserver = this._mesh.getScene().onAfterCameraRenderObservable.add(this._multiLine.onPointUpdate);
88
+ }
89
+ this._multiLine._markAsDirty();
90
+ },
91
+ enumerable: false,
92
+ configurable: true
93
+ });
94
+ /** Resets links */
95
+ MultiLinePoint.prototype.resetLinks = function () {
96
+ this.control = null;
97
+ this.mesh = null;
98
+ };
99
+ /**
100
+ * Gets a translation vector with Z component
101
+ * @returns the translation vector
102
+ */
103
+ MultiLinePoint.prototype.translate = function () {
104
+ this._point = this._translatePoint();
105
+ return this._point;
106
+ };
107
+ MultiLinePoint.prototype._translatePoint = function () {
108
+ if (this._mesh != null) {
109
+ return this._multiLine._host.getProjectedPositionWithZ(this._mesh.getBoundingInfo().boundingSphere.center, this._mesh.getWorldMatrix());
110
+ }
111
+ else if (this._control != null) {
112
+ return new Vector3(this._control.centerX, this._control.centerY, 1 - Epsilon);
113
+ }
114
+ else {
115
+ var host = this._multiLine._host;
116
+ var xValue = this._x.getValueInPixel(host, Number(host._canvas.width));
117
+ var yValue = this._y.getValueInPixel(host, Number(host._canvas.height));
118
+ return new Vector3(xValue, yValue, 1 - Epsilon);
119
+ }
120
+ };
121
+ /** Release associated resources */
122
+ MultiLinePoint.prototype.dispose = function () {
123
+ this.resetLinks();
124
+ };
125
+ return MultiLinePoint;
126
+ }());
127
+ export { MultiLinePoint };
128
128
  //# sourceMappingURL=multiLinePoint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"multiLinePoint.js","sourceRoot":"","sources":["../../../sourceES6/gui/src/2D/multiLinePoint.ts"],"names":[],"mappings":"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","sourcesContent":["import { Nullable } from \"@babylonjs/core/types\";\r\nimport { Observer } from \"@babylonjs/core/Misc/observable\";\r\nimport { Vector3 } from \"@babylonjs/core/Maths/math.vector\";\r\nimport { Epsilon } from '@babylonjs/core/Maths/math.constants';\r\nimport { Camera } from \"@babylonjs/core/Cameras/camera\";\r\nimport { AbstractMesh } from \"@babylonjs/core/Meshes/abstractMesh\";\r\n\r\nimport { MultiLine } from \"./controls/multiLine\";\r\nimport { ValueAndUnit } from \"./valueAndUnit\";\r\nimport { Control } from \"./controls/control\";\r\n\r\n/**\r\n * Class used to store a point for a MultiLine object.\r\n * The point can be pure 2D coordinates, a mesh or a control\r\n */\r\nexport class MultiLinePoint {\r\n\r\n private _multiLine: MultiLine;\r\n\r\n private _x: ValueAndUnit;\r\n private _y: ValueAndUnit;\r\n private _control: Nullable<Control>;\r\n private _mesh: Nullable<AbstractMesh>;\r\n\r\n private _controlObserver: Nullable<Observer<Control>>;\r\n private _meshObserver: Nullable<Observer<Camera>>;\r\n\r\n /** @hidden */\r\n public _point: Vector3;\r\n\r\n /**\r\n * Creates a new MultiLinePoint\r\n * @param multiLine defines the source MultiLine object\r\n */\r\n constructor(multiLine: MultiLine) {\r\n this._multiLine = multiLine;\r\n\r\n this._x = new ValueAndUnit(0);\r\n this._y = new ValueAndUnit(0);\r\n\r\n this._point = new Vector3(0, 0, 0);\r\n }\r\n\r\n /** Gets or sets x coordinate */\r\n public get x(): string | number {\r\n return this._x.toString(this._multiLine._host);\r\n }\r\n\r\n public set x(value: string | number) {\r\n if (this._x.toString(this._multiLine._host) === value) {\r\n return;\r\n }\r\n\r\n if (this._x.fromString(value)) {\r\n this._multiLine._markAsDirty();\r\n }\r\n }\r\n\r\n /** Gets or sets y coordinate */\r\n public get y(): string | number {\r\n return this._y.toString(this._multiLine._host);\r\n }\r\n\r\n public set y(value: string | number) {\r\n if (this._y.toString(this._multiLine._host) === value) {\r\n return;\r\n }\r\n\r\n if (this._y.fromString(value)) {\r\n this._multiLine._markAsDirty();\r\n }\r\n }\r\n\r\n /** Gets or sets the control associated with this point */\r\n public get control(): Nullable<Control> {\r\n return this._control;\r\n }\r\n\r\n public set control(value: Nullable<Control>) {\r\n if (this._control === value) {\r\n return;\r\n }\r\n\r\n if (this._control && this._controlObserver) {\r\n this._control.onDirtyObservable.remove(this._controlObserver);\r\n\r\n this._controlObserver = null;\r\n }\r\n\r\n this._control = value;\r\n\r\n if (this._control) {\r\n this._controlObserver = this._control.onDirtyObservable.add(this._multiLine.onPointUpdate);\r\n }\r\n\r\n this._multiLine._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the mesh associated with this point */\r\n public get mesh(): Nullable<AbstractMesh> {\r\n return this._mesh;\r\n }\r\n\r\n public set mesh(value: Nullable<AbstractMesh>) {\r\n if (this._mesh === value) {\r\n return;\r\n }\r\n\r\n if (this._mesh && this._meshObserver) {\r\n this._mesh.getScene().onAfterCameraRenderObservable.remove(this._meshObserver);\r\n }\r\n\r\n this._mesh = value;\r\n\r\n if (this._mesh) {\r\n this._meshObserver = this._mesh.getScene().onAfterCameraRenderObservable.add(this._multiLine.onPointUpdate);\r\n }\r\n\r\n this._multiLine._markAsDirty();\r\n }\r\n\r\n /** Resets links */\r\n public resetLinks(): void {\r\n this.control = null;\r\n this.mesh = null;\r\n }\r\n\r\n /**\r\n * Gets a translation vector with Z component\r\n * @returns the translation vector\r\n */\r\n public translate(): Vector3 {\r\n this._point = this._translatePoint();\r\n\r\n return this._point;\r\n }\r\n\r\n private _translatePoint(): Vector3 {\r\n if (this._mesh != null) {\r\n return this._multiLine._host.getProjectedPositionWithZ(this._mesh.getBoundingInfo().boundingSphere.center, this._mesh.getWorldMatrix());\r\n }\r\n else if (this._control != null) {\r\n return new Vector3(this._control.centerX, this._control.centerY, 1. - Epsilon);\r\n }\r\n else {\r\n var host: any = this._multiLine._host as any;\r\n\r\n var xValue: number = this._x.getValueInPixel(host, Number(host._canvas.width));\r\n var yValue: number = this._y.getValueInPixel(host, Number(host._canvas.height));\r\n\r\n return new Vector3(xValue, yValue, 1. - Epsilon);\r\n }\r\n }\r\n\r\n /** Release associated resources */\r\n public dispose(): void {\r\n this.resetLinks();\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"multiLinePoint.js","sourceRoot":"","sources":["../../../../../lts/gui/generated/2D/multiLinePoint.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from \"core/types\";\r\nimport type { Observer } from \"core/Misc/observable\";\r\nimport { Vector3 } from \"core/Maths/math.vector\";\r\nimport { Epsilon } from \"core/Maths/math.constants\";\r\nimport type { Camera } from \"core/Cameras/camera\";\r\nimport type { AbstractMesh } from \"core/Meshes/abstractMesh\";\r\n\r\nimport type { MultiLine } from \"./controls/multiLine\";\r\nimport { ValueAndUnit } from \"./valueAndUnit\";\r\nimport type { Control } from \"./controls/control\";\r\n\r\n/**\r\n * Class used to store a point for a MultiLine object.\r\n * The point can be pure 2D coordinates, a mesh or a control\r\n */\r\nexport class MultiLinePoint {\r\n private _multiLine: MultiLine;\r\n\r\n private _x: ValueAndUnit;\r\n private _y: ValueAndUnit;\r\n private _control: Nullable<Control>;\r\n private _mesh: Nullable<AbstractMesh>;\r\n\r\n private _controlObserver: Nullable<Observer<Control>>;\r\n private _meshObserver: Nullable<Observer<Camera>>;\r\n\r\n /** @hidden */\r\n public _point: Vector3;\r\n\r\n /**\r\n * Creates a new MultiLinePoint\r\n * @param multiLine defines the source MultiLine object\r\n */\r\n constructor(multiLine: MultiLine) {\r\n this._multiLine = multiLine;\r\n\r\n this._x = new ValueAndUnit(0);\r\n this._y = new ValueAndUnit(0);\r\n\r\n this._point = new Vector3(0, 0, 0);\r\n }\r\n\r\n /** Gets or sets x coordinate */\r\n public get x(): string | number {\r\n return this._x.toString(this._multiLine._host);\r\n }\r\n\r\n public set x(value: string | number) {\r\n if (this._x.toString(this._multiLine._host) === value) {\r\n return;\r\n }\r\n\r\n if (this._x.fromString(value)) {\r\n this._multiLine._markAsDirty();\r\n }\r\n }\r\n\r\n /** Gets or sets y coordinate */\r\n public get y(): string | number {\r\n return this._y.toString(this._multiLine._host);\r\n }\r\n\r\n public set y(value: string | number) {\r\n if (this._y.toString(this._multiLine._host) === value) {\r\n return;\r\n }\r\n\r\n if (this._y.fromString(value)) {\r\n this._multiLine._markAsDirty();\r\n }\r\n }\r\n\r\n /** Gets or sets the control associated with this point */\r\n public get control(): Nullable<Control> {\r\n return this._control;\r\n }\r\n\r\n public set control(value: Nullable<Control>) {\r\n if (this._control === value) {\r\n return;\r\n }\r\n\r\n if (this._control && this._controlObserver) {\r\n this._control.onDirtyObservable.remove(this._controlObserver);\r\n\r\n this._controlObserver = null;\r\n }\r\n\r\n this._control = value;\r\n\r\n if (this._control) {\r\n this._controlObserver = this._control.onDirtyObservable.add(this._multiLine.onPointUpdate);\r\n }\r\n\r\n this._multiLine._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the mesh associated with this point */\r\n public get mesh(): Nullable<AbstractMesh> {\r\n return this._mesh;\r\n }\r\n\r\n public set mesh(value: Nullable<AbstractMesh>) {\r\n if (this._mesh === value) {\r\n return;\r\n }\r\n\r\n if (this._mesh && this._meshObserver) {\r\n this._mesh.getScene().onAfterCameraRenderObservable.remove(this._meshObserver);\r\n }\r\n\r\n this._mesh = value;\r\n\r\n if (this._mesh) {\r\n this._meshObserver = this._mesh.getScene().onAfterCameraRenderObservable.add(this._multiLine.onPointUpdate);\r\n }\r\n\r\n this._multiLine._markAsDirty();\r\n }\r\n\r\n /** Resets links */\r\n public resetLinks(): void {\r\n this.control = null;\r\n this.mesh = null;\r\n }\r\n\r\n /**\r\n * Gets a translation vector with Z component\r\n * @returns the translation vector\r\n */\r\n public translate(): Vector3 {\r\n this._point = this._translatePoint();\r\n\r\n return this._point;\r\n }\r\n\r\n private _translatePoint(): Vector3 {\r\n if (this._mesh != null) {\r\n return this._multiLine._host.getProjectedPositionWithZ(this._mesh.getBoundingInfo().boundingSphere.center, this._mesh.getWorldMatrix());\r\n } else if (this._control != null) {\r\n return new Vector3(this._control.centerX, this._control.centerY, 1 - Epsilon);\r\n } else {\r\n const host: any = this._multiLine._host as any;\r\n\r\n const xValue: number = this._x.getValueInPixel(host, Number(host._canvas.width));\r\n const yValue: number = this._y.getValueInPixel(host, Number(host._canvas.height));\r\n\r\n return new Vector3(xValue, yValue, 1 - Epsilon);\r\n }\r\n }\r\n\r\n /** Release associated resources */\r\n public dispose(): void {\r\n this.resetLinks();\r\n }\r\n}\r\n"]}
package/2D/style.d.ts CHANGED
@@ -1,46 +1,46 @@
1
- import { Observable } from "@babylonjs/core/Misc/observable";
2
- import { IDisposable } from "@babylonjs/core/scene";
3
- import { AdvancedDynamicTexture } from "./advancedDynamicTexture";
4
- import { ValueAndUnit } from "./valueAndUnit";
5
- /**
6
- * Define a style used by control to automatically setup properties based on a template.
7
- * Only support font related properties so far
8
- */
9
- export declare class Style implements IDisposable {
10
- private _fontFamily;
11
- private _fontStyle;
12
- private _fontWeight;
13
- /** @hidden */
14
- _host: AdvancedDynamicTexture;
15
- /** @hidden */
16
- _fontSize: ValueAndUnit;
17
- /**
18
- * Observable raised when the style values are changed
19
- */
20
- onChangedObservable: Observable<Style>;
21
- /**
22
- * Creates a new style object
23
- * @param host defines the AdvancedDynamicTexture which hosts this style
24
- */
25
- constructor(host: AdvancedDynamicTexture);
26
- /**
27
- * Gets or sets the font size
28
- */
29
- get fontSize(): string | number;
30
- set fontSize(value: string | number);
31
- /**
32
- * Gets or sets the font family
33
- */
34
- get fontFamily(): string;
35
- set fontFamily(value: string);
36
- /**
37
- * Gets or sets the font style
38
- */
39
- get fontStyle(): string;
40
- set fontStyle(value: string);
41
- /** Gets or sets font weight */
42
- get fontWeight(): string;
43
- set fontWeight(value: string);
44
- /** Dispose all associated resources */
45
- dispose(): void;
46
- }
1
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
2
+ import type { IDisposable } from "@babylonjs/core/scene.js";
3
+ import type { AdvancedDynamicTexture } from "./advancedDynamicTexture";
4
+ import { ValueAndUnit } from "./valueAndUnit";
5
+ /**
6
+ * Define a style used by control to automatically setup properties based on a template.
7
+ * Only support font related properties so far
8
+ */
9
+ export declare class Style implements IDisposable {
10
+ private _fontFamily;
11
+ private _fontStyle;
12
+ private _fontWeight;
13
+ /** @hidden */
14
+ _host: AdvancedDynamicTexture;
15
+ /** @hidden */
16
+ _fontSize: ValueAndUnit;
17
+ /**
18
+ * Observable raised when the style values are changed
19
+ */
20
+ onChangedObservable: Observable<Style>;
21
+ /**
22
+ * Creates a new style object
23
+ * @param host defines the AdvancedDynamicTexture which hosts this style
24
+ */
25
+ constructor(host: AdvancedDynamicTexture);
26
+ /**
27
+ * Gets or sets the font size
28
+ */
29
+ get fontSize(): string | number;
30
+ set fontSize(value: string | number);
31
+ /**
32
+ * Gets or sets the font family
33
+ */
34
+ get fontFamily(): string;
35
+ set fontFamily(value: string);
36
+ /**
37
+ * Gets or sets the font style
38
+ */
39
+ get fontStyle(): string;
40
+ set fontStyle(value: string);
41
+ /** Gets or sets font weight */
42
+ get fontWeight(): string;
43
+ set fontWeight(value: string);
44
+ /** Dispose all associated resources */
45
+ dispose(): void;
46
+ }
package/2D/style.js CHANGED
@@ -1,98 +1,98 @@
1
- import { Observable } from "@babylonjs/core/Misc/observable.js";
2
- import { ValueAndUnit } from "./valueAndUnit.js";
3
- /**
4
- * Define a style used by control to automatically setup properties based on a template.
5
- * Only support font related properties so far
6
- */
7
- var Style = /** @class */ (function () {
8
- /**
9
- * Creates a new style object
10
- * @param host defines the AdvancedDynamicTexture which hosts this style
11
- */
12
- function Style(host) {
13
- this._fontFamily = "Arial";
14
- this._fontStyle = "";
15
- this._fontWeight = "";
16
- /** @hidden */
17
- this._fontSize = new ValueAndUnit(18, ValueAndUnit.UNITMODE_PIXEL, false);
18
- /**
19
- * Observable raised when the style values are changed
20
- */
21
- this.onChangedObservable = new Observable();
22
- this._host = host;
23
- }
24
- Object.defineProperty(Style.prototype, "fontSize", {
25
- /**
26
- * Gets or sets the font size
27
- */
28
- get: function () {
29
- return this._fontSize.toString(this._host);
30
- },
31
- set: function (value) {
32
- if (this._fontSize.toString(this._host) === value) {
33
- return;
34
- }
35
- if (this._fontSize.fromString(value)) {
36
- this.onChangedObservable.notifyObservers(this);
37
- }
38
- },
39
- enumerable: false,
40
- configurable: true
41
- });
42
- Object.defineProperty(Style.prototype, "fontFamily", {
43
- /**
44
- * Gets or sets the font family
45
- */
46
- get: function () {
47
- return this._fontFamily;
48
- },
49
- set: function (value) {
50
- if (this._fontFamily === value) {
51
- return;
52
- }
53
- this._fontFamily = value;
54
- this.onChangedObservable.notifyObservers(this);
55
- },
56
- enumerable: false,
57
- configurable: true
58
- });
59
- Object.defineProperty(Style.prototype, "fontStyle", {
60
- /**
61
- * Gets or sets the font style
62
- */
63
- get: function () {
64
- return this._fontStyle;
65
- },
66
- set: function (value) {
67
- if (this._fontStyle === value) {
68
- return;
69
- }
70
- this._fontStyle = value;
71
- this.onChangedObservable.notifyObservers(this);
72
- },
73
- enumerable: false,
74
- configurable: true
75
- });
76
- Object.defineProperty(Style.prototype, "fontWeight", {
77
- /** Gets or sets font weight */
78
- get: function () {
79
- return this._fontWeight;
80
- },
81
- set: function (value) {
82
- if (this._fontWeight === value) {
83
- return;
84
- }
85
- this._fontWeight = value;
86
- this.onChangedObservable.notifyObservers(this);
87
- },
88
- enumerable: false,
89
- configurable: true
90
- });
91
- /** Dispose all associated resources */
92
- Style.prototype.dispose = function () {
93
- this.onChangedObservable.clear();
94
- };
95
- return Style;
96
- }());
97
- export { Style };
1
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
2
+ import { ValueAndUnit } from "./valueAndUnit";
3
+ /**
4
+ * Define a style used by control to automatically setup properties based on a template.
5
+ * Only support font related properties so far
6
+ */
7
+ var Style = /** @class */ (function () {
8
+ /**
9
+ * Creates a new style object
10
+ * @param host defines the AdvancedDynamicTexture which hosts this style
11
+ */
12
+ function Style(host) {
13
+ this._fontFamily = "Arial";
14
+ this._fontStyle = "";
15
+ this._fontWeight = "";
16
+ /** @hidden */
17
+ this._fontSize = new ValueAndUnit(18, ValueAndUnit.UNITMODE_PIXEL, false);
18
+ /**
19
+ * Observable raised when the style values are changed
20
+ */
21
+ this.onChangedObservable = new Observable();
22
+ this._host = host;
23
+ }
24
+ Object.defineProperty(Style.prototype, "fontSize", {
25
+ /**
26
+ * Gets or sets the font size
27
+ */
28
+ get: function () {
29
+ return this._fontSize.toString(this._host);
30
+ },
31
+ set: function (value) {
32
+ if (this._fontSize.toString(this._host) === value) {
33
+ return;
34
+ }
35
+ if (this._fontSize.fromString(value)) {
36
+ this.onChangedObservable.notifyObservers(this);
37
+ }
38
+ },
39
+ enumerable: false,
40
+ configurable: true
41
+ });
42
+ Object.defineProperty(Style.prototype, "fontFamily", {
43
+ /**
44
+ * Gets or sets the font family
45
+ */
46
+ get: function () {
47
+ return this._fontFamily;
48
+ },
49
+ set: function (value) {
50
+ if (this._fontFamily === value) {
51
+ return;
52
+ }
53
+ this._fontFamily = value;
54
+ this.onChangedObservable.notifyObservers(this);
55
+ },
56
+ enumerable: false,
57
+ configurable: true
58
+ });
59
+ Object.defineProperty(Style.prototype, "fontStyle", {
60
+ /**
61
+ * Gets or sets the font style
62
+ */
63
+ get: function () {
64
+ return this._fontStyle;
65
+ },
66
+ set: function (value) {
67
+ if (this._fontStyle === value) {
68
+ return;
69
+ }
70
+ this._fontStyle = value;
71
+ this.onChangedObservable.notifyObservers(this);
72
+ },
73
+ enumerable: false,
74
+ configurable: true
75
+ });
76
+ Object.defineProperty(Style.prototype, "fontWeight", {
77
+ /** Gets or sets font weight */
78
+ get: function () {
79
+ return this._fontWeight;
80
+ },
81
+ set: function (value) {
82
+ if (this._fontWeight === value) {
83
+ return;
84
+ }
85
+ this._fontWeight = value;
86
+ this.onChangedObservable.notifyObservers(this);
87
+ },
88
+ enumerable: false,
89
+ configurable: true
90
+ });
91
+ /** Dispose all associated resources */
92
+ Style.prototype.dispose = function () {
93
+ this.onChangedObservable.clear();
94
+ };
95
+ return Style;
96
+ }());
97
+ export { Style };
98
98
  //# sourceMappingURL=style.js.map
package/2D/style.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sourceRoot":"","sources":["../../../sourceES6/gui/src/2D/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG7D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;GAGG;AACH;IAcI;;;OAGG;IACH,eAAmB,IAA4B;QAjBvC,gBAAW,GAAG,OAAO,CAAC;QACtB,eAAU,GAAG,EAAE,CAAC;QAChB,gBAAW,GAAG,EAAE,CAAC;QAGzB,cAAc;QACP,cAAS,GAAG,IAAI,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAE5E;;WAEG;QACI,wBAAmB,GAAG,IAAI,UAAU,EAAS,CAAC;QAOjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAKD,sBAAW,2BAAQ;QAHnB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;aAED,UAAoB,KAAsB;YACtC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;gBAC/C,OAAO;aACV;YAED,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBAClC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;aAClD;QACL,CAAC;;;OAVA;IAeD,sBAAW,6BAAU;QAHrB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;aAED,UAAsB,KAAa;YAC/B,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;gBAC5B,OAAO;aACV;YAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;;;OATA;IAcD,sBAAW,4BAAS;QAHpB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;aAED,UAAqB,KAAa;YAC9B,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;gBAC3B,OAAO;aACV;YAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;;;OATA;IAYD,sBAAW,6BAAU;QADrB,+BAA+B;aAC/B;YACI,OAAO,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;aAED,UAAsB,KAAa;YAC/B,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;gBAC5B,OAAO;aACV;YAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;;;OATA;IAWD,uCAAuC;IAChC,uBAAO,GAAd;QACI,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IACL,YAAC;AAAD,CAAC,AAzFD,IAyFC","sourcesContent":["import { Observable } from \"@babylonjs/core/Misc/observable\";\r\nimport { IDisposable } from \"@babylonjs/core/scene\";\r\nimport { AdvancedDynamicTexture } from \"./advancedDynamicTexture\";\r\nimport { ValueAndUnit } from \"./valueAndUnit\";\r\n\r\n/**\r\n * Define a style used by control to automatically setup properties based on a template.\r\n * Only support font related properties so far\r\n */\r\nexport class Style implements IDisposable {\r\n private _fontFamily = \"Arial\";\r\n private _fontStyle = \"\";\r\n private _fontWeight = \"\";\r\n /** @hidden */\r\n public _host: AdvancedDynamicTexture;\r\n /** @hidden */\r\n public _fontSize = new ValueAndUnit(18, ValueAndUnit.UNITMODE_PIXEL, false);\r\n\r\n /**\r\n * Observable raised when the style values are changed\r\n */\r\n public onChangedObservable = new Observable<Style>();\r\n\r\n /**\r\n * Creates a new style object\r\n * @param host defines the AdvancedDynamicTexture which hosts this style\r\n */\r\n public constructor(host: AdvancedDynamicTexture) {\r\n this._host = host;\r\n }\r\n\r\n /**\r\n * Gets or sets the font size\r\n */\r\n public get fontSize(): string | number {\r\n return this._fontSize.toString(this._host);\r\n }\r\n\r\n public set fontSize(value: string | number) {\r\n if (this._fontSize.toString(this._host) === value) {\r\n return;\r\n }\r\n\r\n if (this._fontSize.fromString(value)) {\r\n this.onChangedObservable.notifyObservers(this);\r\n }\r\n }\r\n\r\n /**\r\n * Gets or sets the font family\r\n */\r\n public get fontFamily(): string {\r\n return this._fontFamily;\r\n }\r\n\r\n public set fontFamily(value: string) {\r\n if (this._fontFamily === value) {\r\n return;\r\n }\r\n\r\n this._fontFamily = value;\r\n this.onChangedObservable.notifyObservers(this);\r\n }\r\n\r\n /**\r\n * Gets or sets the font style\r\n */\r\n public get fontStyle(): string {\r\n return this._fontStyle;\r\n }\r\n\r\n public set fontStyle(value: string) {\r\n if (this._fontStyle === value) {\r\n return;\r\n }\r\n\r\n this._fontStyle = value;\r\n this.onChangedObservable.notifyObservers(this);\r\n }\r\n\r\n /** Gets or sets font weight */\r\n public get fontWeight(): string {\r\n return this._fontWeight;\r\n }\r\n\r\n public set fontWeight(value: string) {\r\n if (this._fontWeight === value) {\r\n return;\r\n }\r\n\r\n this._fontWeight = value;\r\n this.onChangedObservable.notifyObservers(this);\r\n }\r\n\r\n /** Dispose all associated resources */\r\n public dispose() {\r\n this.onChangedObservable.clear();\r\n }\r\n}"]}
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../../../../../lts/gui/generated/2D/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,2CAA6B;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;GAGG;AACH;IAcI;;;OAGG;IACH,eAAmB,IAA4B;QAjBvC,gBAAW,GAAG,OAAO,CAAC;QACtB,eAAU,GAAG,EAAE,CAAC;QAChB,gBAAW,GAAG,EAAE,CAAC;QAGzB,cAAc;QACP,cAAS,GAAG,IAAI,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAE5E;;WAEG;QACI,wBAAmB,GAAG,IAAI,UAAU,EAAS,CAAC;QAOjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAKD,sBAAW,2BAAQ;QAHnB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;aAED,UAAoB,KAAsB;YACtC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;gBAC/C,OAAO;aACV;YAED,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBAClC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;aAClD;QACL,CAAC;;;OAVA;IAeD,sBAAW,6BAAU;QAHrB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;aAED,UAAsB,KAAa;YAC/B,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;gBAC5B,OAAO;aACV;YAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;;;OATA;IAcD,sBAAW,4BAAS;QAHpB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;aAED,UAAqB,KAAa;YAC9B,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;gBAC3B,OAAO;aACV;YAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;;;OATA;IAYD,sBAAW,6BAAU;QADrB,+BAA+B;aAC/B;YACI,OAAO,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;aAED,UAAsB,KAAa;YAC/B,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;gBAC5B,OAAO;aACV;YAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;;;OATA;IAWD,uCAAuC;IAChC,uBAAO,GAAd;QACI,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IACL,YAAC;AAAD,CAAC,AAzFD,IAyFC","sourcesContent":["import { Observable } from \"core/Misc/observable\";\r\nimport type { IDisposable } from \"core/scene\";\r\nimport type { AdvancedDynamicTexture } from \"./advancedDynamicTexture\";\r\nimport { ValueAndUnit } from \"./valueAndUnit\";\r\n\r\n/**\r\n * Define a style used by control to automatically setup properties based on a template.\r\n * Only support font related properties so far\r\n */\r\nexport class Style implements IDisposable {\r\n private _fontFamily = \"Arial\";\r\n private _fontStyle = \"\";\r\n private _fontWeight = \"\";\r\n /** @hidden */\r\n public _host: AdvancedDynamicTexture;\r\n /** @hidden */\r\n public _fontSize = new ValueAndUnit(18, ValueAndUnit.UNITMODE_PIXEL, false);\r\n\r\n /**\r\n * Observable raised when the style values are changed\r\n */\r\n public onChangedObservable = new Observable<Style>();\r\n\r\n /**\r\n * Creates a new style object\r\n * @param host defines the AdvancedDynamicTexture which hosts this style\r\n */\r\n public constructor(host: AdvancedDynamicTexture) {\r\n this._host = host;\r\n }\r\n\r\n /**\r\n * Gets or sets the font size\r\n */\r\n public get fontSize(): string | number {\r\n return this._fontSize.toString(this._host);\r\n }\r\n\r\n public set fontSize(value: string | number) {\r\n if (this._fontSize.toString(this._host) === value) {\r\n return;\r\n }\r\n\r\n if (this._fontSize.fromString(value)) {\r\n this.onChangedObservable.notifyObservers(this);\r\n }\r\n }\r\n\r\n /**\r\n * Gets or sets the font family\r\n */\r\n public get fontFamily(): string {\r\n return this._fontFamily;\r\n }\r\n\r\n public set fontFamily(value: string) {\r\n if (this._fontFamily === value) {\r\n return;\r\n }\r\n\r\n this._fontFamily = value;\r\n this.onChangedObservable.notifyObservers(this);\r\n }\r\n\r\n /**\r\n * Gets or sets the font style\r\n */\r\n public get fontStyle(): string {\r\n return this._fontStyle;\r\n }\r\n\r\n public set fontStyle(value: string) {\r\n if (this._fontStyle === value) {\r\n return;\r\n }\r\n\r\n this._fontStyle = value;\r\n this.onChangedObservable.notifyObservers(this);\r\n }\r\n\r\n /** Gets or sets font weight */\r\n public get fontWeight(): string {\r\n return this._fontWeight;\r\n }\r\n\r\n public set fontWeight(value: string) {\r\n if (this._fontWeight === value) {\r\n return;\r\n }\r\n\r\n this._fontWeight = value;\r\n this.onChangedObservable.notifyObservers(this);\r\n }\r\n\r\n /** Dispose all associated resources */\r\n public dispose() {\r\n this.onChangedObservable.clear();\r\n }\r\n}\r\n"]}