@babylonjs/gui 9.13.0 → 9.15.0

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 (325) hide show
  1. package/2D/FrameGraph/pure.d.ts +2 -0
  2. package/2D/FrameGraph/pure.js +3 -0
  3. package/2D/FrameGraph/pure.js.map +1 -0
  4. package/2D/FrameGraph/renderGraphGUIBlock.d.ts +3 -41
  5. package/2D/FrameGraph/renderGraphGUIBlock.js +5 -64
  6. package/2D/FrameGraph/renderGraphGUIBlock.js.map +1 -1
  7. package/2D/FrameGraph/renderGraphGUIBlock.pure.d.ts +48 -0
  8. package/2D/FrameGraph/renderGraphGUIBlock.pure.js +78 -0
  9. package/2D/FrameGraph/renderGraphGUIBlock.pure.js.map +1 -0
  10. package/2D/advancedDynamicTexture.d.ts +2 -2
  11. package/2D/advancedDynamicTexture.js +2 -2
  12. package/2D/advancedDynamicTexture.js.map +1 -1
  13. package/2D/controls/button.d.ts +3 -107
  14. package/2D/controls/button.js +5 -243
  15. package/2D/controls/button.js.map +1 -1
  16. package/2D/controls/button.pure.d.ts +114 -0
  17. package/2D/controls/button.pure.js +257 -0
  18. package/2D/controls/button.pure.js.map +1 -0
  19. package/2D/controls/checkbox.d.ts +3 -51
  20. package/2D/controls/checkbox.js +5 -161
  21. package/2D/controls/checkbox.js.map +1 -1
  22. package/2D/controls/checkbox.pure.d.ts +58 -0
  23. package/2D/controls/checkbox.pure.js +175 -0
  24. package/2D/controls/checkbox.pure.js.map +1 -0
  25. package/2D/controls/colorpicker.d.ts +5 -101
  26. package/2D/controls/colorpicker.js +7 -1394
  27. package/2D/controls/colorpicker.js.map +1 -1
  28. package/2D/controls/colorpicker.pure.d.ts +106 -0
  29. package/2D/controls/colorpicker.pure.js +1406 -0
  30. package/2D/controls/colorpicker.pure.js.map +1 -0
  31. package/2D/controls/container.d.ts +3 -177
  32. package/2D/controls/container.js +5 -615
  33. package/2D/controls/container.js.map +1 -1
  34. package/2D/controls/container.pure.d.ts +184 -0
  35. package/2D/controls/container.pure.js +629 -0
  36. package/2D/controls/container.pure.js.map +1 -0
  37. package/2D/controls/control.d.ts +3 -944
  38. package/2D/controls/control.js +5 -2457
  39. package/2D/controls/control.js.map +1 -1
  40. package/2D/controls/control.pure.d.ts +951 -0
  41. package/2D/controls/control.pure.js +2471 -0
  42. package/2D/controls/control.pure.js.map +1 -0
  43. package/2D/controls/displayGrid.d.ts +5 -53
  44. package/2D/controls/displayGrid.js +7 -201
  45. package/2D/controls/displayGrid.js.map +1 -1
  46. package/2D/controls/displayGrid.pure.d.ts +58 -0
  47. package/2D/controls/displayGrid.pure.js +213 -0
  48. package/2D/controls/displayGrid.pure.js.map +1 -0
  49. package/2D/controls/ellipse.d.ts +5 -25
  50. package/2D/controls/ellipse.js +7 -92
  51. package/2D/controls/ellipse.js.map +1 -1
  52. package/2D/controls/ellipse.pure.d.ts +30 -0
  53. package/2D/controls/ellipse.pure.js +104 -0
  54. package/2D/controls/ellipse.pure.js.map +1 -0
  55. package/2D/controls/focusableButton.d.ts +3 -15
  56. package/2D/controls/focusableButton.js +5 -22
  57. package/2D/controls/focusableButton.js.map +1 -1
  58. package/2D/controls/focusableButton.pure.d.ts +22 -0
  59. package/2D/controls/focusableButton.pure.js +36 -0
  60. package/2D/controls/focusableButton.pure.js.map +1 -0
  61. package/2D/controls/gradient/LinearGradient.d.ts +3 -43
  62. package/2D/controls/gradient/LinearGradient.js +5 -70
  63. package/2D/controls/gradient/LinearGradient.js.map +1 -1
  64. package/2D/controls/gradient/LinearGradient.pure.d.ts +50 -0
  65. package/2D/controls/gradient/LinearGradient.pure.js +84 -0
  66. package/2D/controls/gradient/LinearGradient.pure.js.map +1 -0
  67. package/2D/controls/gradient/RadialGradient.d.ts +3 -51
  68. package/2D/controls/gradient/RadialGradient.js +5 -86
  69. package/2D/controls/gradient/RadialGradient.js.map +1 -1
  70. package/2D/controls/gradient/RadialGradient.pure.d.ts +58 -0
  71. package/2D/controls/gradient/RadialGradient.pure.js +100 -0
  72. package/2D/controls/gradient/RadialGradient.pure.js.map +1 -0
  73. package/2D/controls/gradient/pure.d.ts +3 -0
  74. package/2D/controls/gradient/pure.js +4 -0
  75. package/2D/controls/gradient/pure.js.map +1 -0
  76. package/2D/controls/grid.d.ts +3 -149
  77. package/2D/controls/grid.js +5 -525
  78. package/2D/controls/grid.js.map +1 -1
  79. package/2D/controls/grid.pure.d.ts +156 -0
  80. package/2D/controls/grid.pure.js +539 -0
  81. package/2D/controls/grid.pure.js.map +1 -0
  82. package/2D/controls/image.d.ts +3 -226
  83. package/2D/controls/image.js +5 -913
  84. package/2D/controls/image.js.map +1 -1
  85. package/2D/controls/image.pure.d.ts +233 -0
  86. package/2D/controls/image.pure.js +927 -0
  87. package/2D/controls/image.pure.js.map +1 -0
  88. package/2D/controls/inputPassword.d.ts +3 -7
  89. package/2D/controls/inputPassword.js +5 -19
  90. package/2D/controls/inputPassword.js.map +1 -1
  91. package/2D/controls/inputPassword.pure.d.ts +14 -0
  92. package/2D/controls/inputPassword.pure.js +33 -0
  93. package/2D/controls/inputPassword.pure.js.map +1 -0
  94. package/2D/controls/inputText.d.ts +3 -202
  95. package/2D/controls/inputText.js +5 -1050
  96. package/2D/controls/inputText.js.map +1 -1
  97. package/2D/controls/inputText.pure.d.ts +209 -0
  98. package/2D/controls/inputText.pure.js +1064 -0
  99. package/2D/controls/inputText.pure.js.map +1 -0
  100. package/2D/controls/inputTextArea.d.ts +3 -140
  101. package/2D/controls/inputTextArea.js +5 -1023
  102. package/2D/controls/inputTextArea.js.map +1 -1
  103. package/2D/controls/inputTextArea.pure.d.ts +147 -0
  104. package/2D/controls/inputTextArea.pure.js +1037 -0
  105. package/2D/controls/inputTextArea.pure.js.map +1 -0
  106. package/2D/controls/line.d.ts +5 -74
  107. package/2D/controls/line.js +7 -234
  108. package/2D/controls/line.js.map +1 -1
  109. package/2D/controls/line.pure.d.ts +79 -0
  110. package/2D/controls/line.pure.js +246 -0
  111. package/2D/controls/line.pure.js.map +1 -0
  112. package/2D/controls/multiLine.d.ts +3 -73
  113. package/2D/controls/multiLine.js +5 -234
  114. package/2D/controls/multiLine.js.map +1 -1
  115. package/2D/controls/multiLine.pure.d.ts +80 -0
  116. package/2D/controls/multiLine.pure.js +248 -0
  117. package/2D/controls/multiLine.pure.js.map +1 -0
  118. package/2D/controls/pure.d.ts +38 -0
  119. package/2D/controls/pure.js +39 -0
  120. package/2D/controls/pure.js.map +1 -0
  121. package/2D/controls/radioButton.d.ts +3 -47
  122. package/2D/controls/radioButton.js +5 -182
  123. package/2D/controls/radioButton.js.map +1 -1
  124. package/2D/controls/radioButton.pure.d.ts +54 -0
  125. package/2D/controls/radioButton.pure.js +196 -0
  126. package/2D/controls/radioButton.pure.js.map +1 -0
  127. package/2D/controls/rectangle.d.ts +5 -43
  128. package/2D/controls/rectangle.js +7 -205
  129. package/2D/controls/rectangle.js.map +1 -1
  130. package/2D/controls/rectangle.pure.d.ts +48 -0
  131. package/2D/controls/rectangle.pure.js +217 -0
  132. package/2D/controls/rectangle.pure.js.map +1 -0
  133. package/2D/controls/scrollViewers/pure.d.ts +2 -0
  134. package/2D/controls/scrollViewers/pure.js +3 -0
  135. package/2D/controls/scrollViewers/pure.js.map +1 -0
  136. package/2D/controls/scrollViewers/scrollViewer.d.ts +3 -176
  137. package/2D/controls/scrollViewers/scrollViewer.js +5 -584
  138. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  139. package/2D/controls/scrollViewers/scrollViewer.pure.d.ts +183 -0
  140. package/2D/controls/scrollViewers/scrollViewer.pure.js +598 -0
  141. package/2D/controls/scrollViewers/scrollViewer.pure.js.map +1 -0
  142. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +1 -1
  143. package/2D/controls/scrollViewers/scrollViewerWindow.js +2 -2
  144. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  145. package/2D/controls/selector.d.ts +2 -2
  146. package/2D/controls/selector.js +8 -8
  147. package/2D/controls/selector.js.map +1 -1
  148. package/2D/controls/sliders/baseSlider.d.ts +1 -1
  149. package/2D/controls/sliders/baseSlider.js +1 -1
  150. package/2D/controls/sliders/baseSlider.js.map +1 -1
  151. package/2D/controls/sliders/imageBasedSlider.d.ts +3 -45
  152. package/2D/controls/sliders/imageBasedSlider.js +5 -165
  153. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  154. package/2D/controls/sliders/imageBasedSlider.pure.d.ts +52 -0
  155. package/2D/controls/sliders/imageBasedSlider.pure.js +179 -0
  156. package/2D/controls/sliders/imageBasedSlider.pure.js.map +1 -0
  157. package/2D/controls/sliders/pure.d.ts +4 -0
  158. package/2D/controls/sliders/pure.js +5 -0
  159. package/2D/controls/sliders/pure.js.map +1 -0
  160. package/2D/controls/sliders/scrollBar.d.ts +3 -48
  161. package/2D/controls/sliders/scrollBar.js +5 -170
  162. package/2D/controls/sliders/scrollBar.js.map +1 -1
  163. package/2D/controls/sliders/scrollBar.pure.d.ts +55 -0
  164. package/2D/controls/sliders/scrollBar.pure.js +184 -0
  165. package/2D/controls/sliders/scrollBar.pure.js.map +1 -0
  166. package/2D/controls/sliders/slider.d.ts +3 -44
  167. package/2D/controls/sliders/slider.js +5 -278
  168. package/2D/controls/sliders/slider.js.map +1 -1
  169. package/2D/controls/sliders/slider.pure.d.ts +51 -0
  170. package/2D/controls/sliders/slider.pure.js +292 -0
  171. package/2D/controls/sliders/slider.pure.js.map +1 -0
  172. package/2D/controls/stackPanel.d.ts +3 -62
  173. package/2D/controls/stackPanel.js +5 -243
  174. package/2D/controls/stackPanel.js.map +1 -1
  175. package/2D/controls/stackPanel.pure.d.ts +69 -0
  176. package/2D/controls/stackPanel.pure.js +257 -0
  177. package/2D/controls/stackPanel.pure.js.map +1 -0
  178. package/2D/controls/statics.d.ts +3 -4
  179. package/2D/controls/statics.js +5 -47
  180. package/2D/controls/statics.js.map +1 -1
  181. package/2D/controls/statics.pure.d.ts +11 -0
  182. package/2D/controls/statics.pure.js +61 -0
  183. package/2D/controls/statics.pure.js.map +1 -0
  184. package/2D/controls/textBlock.d.ts +3 -217
  185. package/2D/controls/textBlock.js +5 -676
  186. package/2D/controls/textBlock.js.map +1 -1
  187. package/2D/controls/textBlock.pure.d.ts +224 -0
  188. package/2D/controls/textBlock.pure.js +690 -0
  189. package/2D/controls/textBlock.pure.js.map +1 -0
  190. package/2D/controls/toggleButton.d.ts +3 -91
  191. package/2D/controls/toggleButton.js +5 -226
  192. package/2D/controls/toggleButton.js.map +1 -1
  193. package/2D/controls/toggleButton.pure.d.ts +98 -0
  194. package/2D/controls/toggleButton.pure.js +240 -0
  195. package/2D/controls/toggleButton.pure.js.map +1 -0
  196. package/2D/controls/virtualKeyboard.d.ts +3 -100
  197. package/2D/controls/virtualKeyboard.js +5 -272
  198. package/2D/controls/virtualKeyboard.js.map +1 -1
  199. package/2D/controls/virtualKeyboard.pure.d.ts +107 -0
  200. package/2D/controls/virtualKeyboard.pure.js +286 -0
  201. package/2D/controls/virtualKeyboard.pure.js.map +1 -0
  202. package/2D/math2D.d.ts +1 -1
  203. package/2D/math2D.js +1 -1
  204. package/2D/math2D.js.map +1 -1
  205. package/2D/measure.js +1 -1
  206. package/2D/measure.js.map +1 -1
  207. package/2D/pure.d.ts +13 -0
  208. package/2D/pure.js +15 -0
  209. package/2D/pure.js.map +1 -0
  210. package/3D/controls/MRTK3/touchHolographicButton.d.ts +4 -4
  211. package/3D/controls/MRTK3/touchHolographicButton.js +10 -10
  212. package/3D/controls/MRTK3/touchHolographicButton.js.map +1 -1
  213. package/3D/controls/holographicBackplate.d.ts +1 -1
  214. package/3D/controls/holographicBackplate.js +1 -1
  215. package/3D/controls/holographicBackplate.js.map +1 -1
  216. package/3D/controls/holographicButton.d.ts +1 -1
  217. package/3D/controls/holographicButton.js +4 -4
  218. package/3D/controls/holographicButton.js.map +1 -1
  219. package/3D/controls/holographicSlate.js +4 -4
  220. package/3D/controls/holographicSlate.js.map +1 -1
  221. package/3D/controls/pure.d.ts +23 -0
  222. package/3D/controls/pure.js +24 -0
  223. package/3D/controls/pure.js.map +1 -0
  224. package/3D/controls/slider3D.d.ts +3 -3
  225. package/3D/controls/slider3D.js +3 -3
  226. package/3D/controls/slider3D.js.map +1 -1
  227. package/3D/controls/touchHolographicButton.d.ts +2 -2
  228. package/3D/controls/touchHolographicButton.js +5 -5
  229. package/3D/controls/touchHolographicButton.js.map +1 -1
  230. package/3D/controls/touchHolographicMenu.js +1 -1
  231. package/3D/controls/touchHolographicMenu.js.map +1 -1
  232. package/3D/gizmos/gizmoHandle.d.ts +1 -1
  233. package/3D/gizmos/gizmoHandle.js +1 -1
  234. package/3D/gizmos/gizmoHandle.js.map +1 -1
  235. package/3D/gizmos/pure.d.ts +3 -0
  236. package/3D/gizmos/pure.js +4 -0
  237. package/3D/gizmos/pure.js.map +1 -0
  238. package/3D/materials/fluent/fluentMaterial.d.ts +5 -100
  239. package/3D/materials/fluent/fluentMaterial.js +7 -305
  240. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  241. package/3D/materials/fluent/fluentMaterial.pure.d.ts +105 -0
  242. package/3D/materials/fluent/fluentMaterial.pure.js +320 -0
  243. package/3D/materials/fluent/fluentMaterial.pure.js.map +1 -0
  244. package/3D/materials/fluent/pure.d.ts +2 -0
  245. package/3D/materials/fluent/pure.js +3 -0
  246. package/3D/materials/fluent/pure.js.map +1 -0
  247. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +5 -164
  248. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +7 -488
  249. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  250. package/3D/materials/fluentBackplate/fluentBackplateMaterial.pure.d.ts +169 -0
  251. package/3D/materials/fluentBackplate/fluentBackplateMaterial.pure.js +503 -0
  252. package/3D/materials/fluentBackplate/fluentBackplateMaterial.pure.js.map +1 -0
  253. package/3D/materials/fluentBackplate/pure.d.ts +2 -0
  254. package/3D/materials/fluentBackplate/pure.js +3 -0
  255. package/3D/materials/fluentBackplate/pure.js.map +1 -0
  256. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +5 -200
  257. package/3D/materials/fluentButton/fluentButtonMaterial.js +7 -563
  258. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  259. package/3D/materials/fluentButton/fluentButtonMaterial.pure.d.ts +205 -0
  260. package/3D/materials/fluentButton/fluentButtonMaterial.pure.js +578 -0
  261. package/3D/materials/fluentButton/fluentButtonMaterial.pure.js.map +1 -0
  262. package/3D/materials/fluentButton/pure.d.ts +2 -0
  263. package/3D/materials/fluentButton/pure.js +3 -0
  264. package/3D/materials/fluentButton/pure.js.map +1 -0
  265. package/3D/materials/fluentMaterial.d.ts +1 -1
  266. package/3D/materials/fluentMaterial.js +1 -1
  267. package/3D/materials/fluentMaterial.js.map +1 -1
  268. package/3D/materials/handle/handleMaterial.d.ts +5 -66
  269. package/3D/materials/handle/handleMaterial.js +5 -118
  270. package/3D/materials/handle/handleMaterial.js.map +1 -1
  271. package/3D/materials/handle/handleMaterial.pure.d.ts +66 -0
  272. package/3D/materials/handle/handleMaterial.pure.js +121 -0
  273. package/3D/materials/handle/handleMaterial.pure.js.map +1 -0
  274. package/3D/materials/handle/pure.d.ts +2 -0
  275. package/3D/materials/handle/pure.js +3 -0
  276. package/3D/materials/handle/pure.js.map +1 -0
  277. package/3D/materials/mrdl/mrdlBackglowMaterial.d.ts +5 -85
  278. package/3D/materials/mrdl/mrdlBackglowMaterial.js +7 -299
  279. package/3D/materials/mrdl/mrdlBackglowMaterial.js.map +1 -1
  280. package/3D/materials/mrdl/mrdlBackglowMaterial.pure.d.ts +90 -0
  281. package/3D/materials/mrdl/mrdlBackglowMaterial.pure.js +314 -0
  282. package/3D/materials/mrdl/mrdlBackglowMaterial.pure.js.map +1 -0
  283. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +5 -145
  284. package/3D/materials/mrdl/mrdlBackplateMaterial.js +7 -433
  285. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  286. package/3D/materials/mrdl/mrdlBackplateMaterial.pure.d.ts +157 -0
  287. package/3D/materials/mrdl/mrdlBackplateMaterial.pure.js +455 -0
  288. package/3D/materials/mrdl/mrdlBackplateMaterial.pure.js.map +1 -0
  289. package/3D/materials/mrdl/mrdlFrontplateMaterial.d.ts +5 -183
  290. package/3D/materials/mrdl/mrdlFrontplateMaterial.js +7 -532
  291. package/3D/materials/mrdl/mrdlFrontplateMaterial.js.map +1 -1
  292. package/3D/materials/mrdl/mrdlFrontplateMaterial.pure.d.ts +188 -0
  293. package/3D/materials/mrdl/mrdlFrontplateMaterial.pure.js +547 -0
  294. package/3D/materials/mrdl/mrdlFrontplateMaterial.pure.js.map +1 -0
  295. package/3D/materials/mrdl/mrdlInnerquadMaterial.d.ts +5 -54
  296. package/3D/materials/mrdl/mrdlInnerquadMaterial.js +7 -227
  297. package/3D/materials/mrdl/mrdlInnerquadMaterial.js.map +1 -1
  298. package/3D/materials/mrdl/mrdlInnerquadMaterial.pure.d.ts +59 -0
  299. package/3D/materials/mrdl/mrdlInnerquadMaterial.pure.js +242 -0
  300. package/3D/materials/mrdl/mrdlInnerquadMaterial.pure.js.map +1 -0
  301. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +5 -334
  302. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +7 -855
  303. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  304. package/3D/materials/mrdl/mrdlSliderBarMaterial.pure.d.ts +346 -0
  305. package/3D/materials/mrdl/mrdlSliderBarMaterial.pure.js +877 -0
  306. package/3D/materials/mrdl/mrdlSliderBarMaterial.pure.js.map +1 -0
  307. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +5 -334
  308. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +7 -855
  309. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  310. package/3D/materials/mrdl/mrdlSliderThumbMaterial.pure.d.ts +346 -0
  311. package/3D/materials/mrdl/mrdlSliderThumbMaterial.pure.js +877 -0
  312. package/3D/materials/mrdl/mrdlSliderThumbMaterial.pure.js.map +1 -0
  313. package/3D/materials/mrdl/pure.d.ts +7 -0
  314. package/3D/materials/mrdl/pure.js +8 -0
  315. package/3D/materials/mrdl/pure.js.map +1 -0
  316. package/3D/materials/pure.d.ts +6 -0
  317. package/3D/materials/pure.js +8 -0
  318. package/3D/materials/pure.js.map +1 -0
  319. package/3D/pure.d.ts +6 -0
  320. package/3D/pure.js +8 -0
  321. package/3D/pure.js.map +1 -0
  322. package/package.json +50 -3
  323. package/pure.d.ts +3 -0
  324. package/pure.js +5 -0
  325. package/pure.js.map +1 -0
@@ -0,0 +1,79 @@
1
+ import { Vector3 } from "@babylonjs/core/Maths/math.vector.pure.js";
2
+ import { type Scene } from "@babylonjs/core/scene.js";
3
+ import { Control } from "./control.pure.js";
4
+ import { ValueAndUnit } from "../valueAndUnit.js";
5
+ import { type Measure } from "../measure.js";
6
+ import { type ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
7
+ /** Class used to render 2D lines */
8
+ export declare class Line extends Control {
9
+ name?: string | undefined;
10
+ private _lineWidth;
11
+ /** @internal */
12
+ _x1: ValueAndUnit;
13
+ /** @internal */
14
+ _y1: ValueAndUnit;
15
+ /** @internal */
16
+ _x2: ValueAndUnit;
17
+ /** @internal */
18
+ _y2: ValueAndUnit;
19
+ private _dash;
20
+ private _connectedControl;
21
+ private _connectedControlDirtyObserver;
22
+ /** Gets or sets the dash pattern */
23
+ get dash(): Array<number>;
24
+ set dash(value: Array<number>);
25
+ /** Gets or sets the control connected with the line end */
26
+ get connectedControl(): Control;
27
+ set connectedControl(value: Control);
28
+ /** Gets or sets start coordinates on X axis */
29
+ get x1(): string | number;
30
+ set x1(value: string | number);
31
+ /** Gets or sets start coordinates on Y axis */
32
+ get y1(): string | number;
33
+ set y1(value: string | number);
34
+ /** Gets or sets end coordinates on X axis */
35
+ get x2(): string | number;
36
+ set x2(value: string | number);
37
+ /** Gets or sets end coordinates on Y axis */
38
+ get y2(): string | number;
39
+ set y2(value: string | number);
40
+ /** Gets or sets line width */
41
+ get lineWidth(): number;
42
+ set lineWidth(value: number);
43
+ /** Gets or sets horizontal alignment */
44
+ set horizontalAlignment(value: number);
45
+ /** Gets or sets vertical alignment */
46
+ set verticalAlignment(value: number);
47
+ /** @internal */
48
+ get _effectiveX2(): number;
49
+ /** @internal */
50
+ get _effectiveY2(): number;
51
+ /**
52
+ * Creates a new Line
53
+ * @param name defines the control name
54
+ */
55
+ constructor(name?: string | undefined);
56
+ protected _getTypeName(): string;
57
+ _draw(context: ICanvasRenderingContext): void;
58
+ _measure(): void;
59
+ _layout(parentMeasure: Measure, context: ICanvasRenderingContext): boolean;
60
+ protected _computeAlignment(parentMeasure: Measure): void;
61
+ /**
62
+ * Move one end of the line given 3D cartesian coordinates.
63
+ * @param position Targeted world position
64
+ * @param scene Scene
65
+ * @param end (opt) Set to true to assign x2 and y2 coordinates of the line. Default assign to x1 and y1.
66
+ */
67
+ moveToVector3(position: Vector3, scene: Scene, end?: boolean): void;
68
+ /**
69
+ * Move one end of the line to a position in screen absolute space.
70
+ * @param projectedPosition Position in screen absolute space (X, Y)
71
+ * @param end (opt) Set to true to assign x2 and y2 coordinates of the line. Default assign to x1 and y1.
72
+ */
73
+ _moveToProjectedPosition(projectedPosition: Vector3, end?: boolean): void;
74
+ }
75
+ /**
76
+ * Registers the Line class with the type store for serialization support.
77
+ * Safe to call multiple times; only the first call has an effect.
78
+ */
79
+ export declare function RegisterLine(): void;
@@ -0,0 +1,246 @@
1
+ import { __decorate } from "@babylonjs/core/tslib.es6.js";
2
+ import { Vector3, Matrix } from "@babylonjs/core/Maths/math.vector.pure.js";
3
+ import { Tools } from "@babylonjs/core/Misc/tools.pure.js";
4
+ import { Control } from "./control.pure.js";
5
+ import { ValueAndUnit } from "../valueAndUnit.js";
6
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
7
+ import { serialize } from "@babylonjs/core/Misc/decorators.js";
8
+ /** Class used to render 2D lines */
9
+ export class Line extends Control {
10
+ /** Gets or sets the dash pattern */
11
+ get dash() {
12
+ return this._dash;
13
+ }
14
+ set dash(value) {
15
+ if (this._dash === value) {
16
+ return;
17
+ }
18
+ this._dash = value;
19
+ this._markAsDirty();
20
+ }
21
+ /** Gets or sets the control connected with the line end */
22
+ get connectedControl() {
23
+ return this._connectedControl;
24
+ }
25
+ set connectedControl(value) {
26
+ // Don't allow circular references, and no-op if the same control is assigned
27
+ if (this._connectedControl === value || (value instanceof Line && value._connectedControl === this)) {
28
+ return;
29
+ }
30
+ if (this._connectedControlDirtyObserver && this._connectedControl) {
31
+ this._connectedControl.onDirtyObservable.remove(this._connectedControlDirtyObserver);
32
+ this._connectedControlDirtyObserver = null;
33
+ }
34
+ if (value) {
35
+ this._connectedControlDirtyObserver = value.onDirtyObservable.add(() => this._markAsDirty());
36
+ }
37
+ this._connectedControl = value;
38
+ this._markAsDirty();
39
+ }
40
+ /** Gets or sets start coordinates on X axis */
41
+ get x1() {
42
+ return this._x1.toString(this._host);
43
+ }
44
+ set x1(value) {
45
+ if (this._x1.toString(this._host) === value) {
46
+ return;
47
+ }
48
+ if (this._x1.fromString(value)) {
49
+ this._markAsDirty();
50
+ }
51
+ }
52
+ /** Gets or sets start coordinates on Y axis */
53
+ get y1() {
54
+ return this._y1.toString(this._host);
55
+ }
56
+ set y1(value) {
57
+ if (this._y1.toString(this._host) === value) {
58
+ return;
59
+ }
60
+ if (this._y1.fromString(value)) {
61
+ this._markAsDirty();
62
+ }
63
+ }
64
+ /** Gets or sets end coordinates on X axis */
65
+ get x2() {
66
+ return this._x2.toString(this._host);
67
+ }
68
+ set x2(value) {
69
+ if (this._x2.toString(this._host) === value) {
70
+ return;
71
+ }
72
+ if (this._x2.fromString(value)) {
73
+ this._markAsDirty();
74
+ }
75
+ }
76
+ /** Gets or sets end coordinates on Y axis */
77
+ get y2() {
78
+ return this._y2.toString(this._host);
79
+ }
80
+ set y2(value) {
81
+ if (this._y2.toString(this._host) === value) {
82
+ return;
83
+ }
84
+ if (this._y2.fromString(value)) {
85
+ this._markAsDirty();
86
+ }
87
+ }
88
+ /** Gets or sets line width */
89
+ get lineWidth() {
90
+ return this._lineWidth;
91
+ }
92
+ set lineWidth(value) {
93
+ if (this._lineWidth === value) {
94
+ return;
95
+ }
96
+ this._lineWidth = value;
97
+ this._markAsDirty();
98
+ }
99
+ /** Gets or sets horizontal alignment */
100
+ set horizontalAlignment(value) {
101
+ return;
102
+ }
103
+ /** Gets or sets vertical alignment */
104
+ set verticalAlignment(value) {
105
+ return;
106
+ }
107
+ /** @internal */
108
+ get _effectiveX2() {
109
+ return (this._connectedControl ? this._connectedControl.centerX : 0) + this._x2.getValue(this._host);
110
+ }
111
+ /** @internal */
112
+ get _effectiveY2() {
113
+ return (this._connectedControl ? this._connectedControl.centerY : 0) + this._y2.getValue(this._host);
114
+ }
115
+ /**
116
+ * Creates a new Line
117
+ * @param name defines the control name
118
+ */
119
+ constructor(name) {
120
+ super(name);
121
+ this.name = name;
122
+ this._lineWidth = 1;
123
+ /** @internal */
124
+ this._x1 = new ValueAndUnit(0);
125
+ /** @internal */
126
+ this._y1 = new ValueAndUnit(0);
127
+ /** @internal */
128
+ this._x2 = new ValueAndUnit(0);
129
+ /** @internal */
130
+ this._y2 = new ValueAndUnit(0);
131
+ this._dash = new Array();
132
+ this._automaticSize = true;
133
+ this.isHitTestVisible = false;
134
+ this._horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;
135
+ this._verticalAlignment = Control.VERTICAL_ALIGNMENT_TOP;
136
+ }
137
+ _getTypeName() {
138
+ return "Line";
139
+ }
140
+ _draw(context) {
141
+ context.save();
142
+ if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
143
+ context.shadowColor = this.shadowColor;
144
+ context.shadowBlur = this.shadowBlur;
145
+ context.shadowOffsetX = this.shadowOffsetX * this._host.idealRatio;
146
+ context.shadowOffsetY = this.shadowOffsetY * this._host.idealRatio;
147
+ }
148
+ this._applyStates(context);
149
+ context.strokeStyle = this._getColor(context);
150
+ context.lineWidth = this._lineWidth;
151
+ context.setLineDash(this._dash);
152
+ context.beginPath();
153
+ context.moveTo(this._cachedParentMeasure.left + this._x1.getValue(this._host), this._cachedParentMeasure.top + this._y1.getValue(this._host));
154
+ context.lineTo(this._cachedParentMeasure.left + this._effectiveX2, this._cachedParentMeasure.top + this._effectiveY2);
155
+ context.stroke();
156
+ context.restore();
157
+ }
158
+ _measure() {
159
+ // Width / Height
160
+ this._currentMeasure.width = Math.abs(this._x1.getValue(this._host) - this._effectiveX2) + this._lineWidth;
161
+ this._currentMeasure.height = Math.abs(this._y1.getValue(this._host) - this._effectiveY2) + this._lineWidth;
162
+ }
163
+ _layout(parentMeasure, context) {
164
+ if (this._connectedControl) {
165
+ // If we have a connected control, we need to let it layout first so we can ensure our layout math uses its latest position
166
+ this._connectedControl._layout(parentMeasure, context);
167
+ }
168
+ return super._layout(parentMeasure, context);
169
+ }
170
+ _computeAlignment(parentMeasure) {
171
+ this._currentMeasure.left = parentMeasure.left + Math.min(this._x1.getValue(this._host), this._effectiveX2) - this._lineWidth / 2;
172
+ this._currentMeasure.top = parentMeasure.top + Math.min(this._y1.getValue(this._host), this._effectiveY2) - this._lineWidth / 2;
173
+ }
174
+ /**
175
+ * Move one end of the line given 3D cartesian coordinates.
176
+ * @param position Targeted world position
177
+ * @param scene Scene
178
+ * @param end (opt) Set to true to assign x2 and y2 coordinates of the line. Default assign to x1 and y1.
179
+ */
180
+ moveToVector3(position, scene, end = false) {
181
+ if (!this._host || this.parent !== this._host._rootContainer) {
182
+ Tools.Error("Cannot move a control to a vector3 if the control is not at root level");
183
+ return;
184
+ }
185
+ const globalViewport = this._host._getGlobalViewport();
186
+ const projectedPosition = Vector3.Project(position, Matrix.IdentityReadOnly, scene.getTransformMatrix(), globalViewport);
187
+ this._moveToProjectedPosition(projectedPosition, end);
188
+ if (projectedPosition.z < 0 || projectedPosition.z > 1) {
189
+ this.notRenderable = true;
190
+ return;
191
+ }
192
+ this.notRenderable = false;
193
+ }
194
+ /**
195
+ * Move one end of the line to a position in screen absolute space.
196
+ * @param projectedPosition Position in screen absolute space (X, Y)
197
+ * @param end (opt) Set to true to assign x2 and y2 coordinates of the line. Default assign to x1 and y1.
198
+ */
199
+ _moveToProjectedPosition(projectedPosition, end = false) {
200
+ const x = projectedPosition.x + this._linkOffsetX.getValue(this._host) + "px";
201
+ const y = projectedPosition.y + this._linkOffsetY.getValue(this._host) + "px";
202
+ if (end) {
203
+ this.x2 = x;
204
+ this.y2 = y;
205
+ this._x2.ignoreAdaptiveScaling = true;
206
+ this._y2.ignoreAdaptiveScaling = true;
207
+ }
208
+ else {
209
+ this.x1 = x;
210
+ this.y1 = y;
211
+ this._x1.ignoreAdaptiveScaling = true;
212
+ this._y1.ignoreAdaptiveScaling = true;
213
+ }
214
+ }
215
+ }
216
+ __decorate([
217
+ serialize()
218
+ ], Line.prototype, "dash", null);
219
+ __decorate([
220
+ serialize()
221
+ ], Line.prototype, "x1", null);
222
+ __decorate([
223
+ serialize()
224
+ ], Line.prototype, "y1", null);
225
+ __decorate([
226
+ serialize()
227
+ ], Line.prototype, "x2", null);
228
+ __decorate([
229
+ serialize()
230
+ ], Line.prototype, "y2", null);
231
+ __decorate([
232
+ serialize()
233
+ ], Line.prototype, "lineWidth", null);
234
+ let _Registered = false;
235
+ /**
236
+ * Registers the Line class with the type store for serialization support.
237
+ * Safe to call multiple times; only the first call has an effect.
238
+ */
239
+ export function RegisterLine() {
240
+ if (_Registered) {
241
+ return;
242
+ }
243
+ _Registered = true;
244
+ RegisterClass("BABYLON.GUI.Line", Line);
245
+ }
246
+ //# sourceMappingURL=line.pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line.pure.js","sourceRoot":"","sources":["../../../../../dev/gui/src/2D/controls/line.pure.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAG7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,oCAAoC;AACpC,MAAM,OAAO,IAAK,SAAQ,OAAO;IAc7B,oCAAoC;IAEpC,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,IAAI,CAAC,KAAoB;QAChC,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACvB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,2DAA2D;IAC3D,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAED,IAAW,gBAAgB,CAAC,KAAc;QACtC,6EAA6E;QAC7E,IAAI,IAAI,CAAC,iBAAiB,KAAK,KAAK,IAAI,CAAC,KAAK,YAAY,IAAI,IAAI,KAAK,CAAC,iBAAiB,KAAM,IAAgB,CAAC,EAAE,CAAC;YAC/G,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,8BAA8B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAChE,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACrF,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;QAC/C,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACjG,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,+CAA+C;IAE/C,IAAW,EAAE;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,IAAW,EAAE,CAAC,KAAsB;QAChC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC;IACL,CAAC;IAED,+CAA+C;IAE/C,IAAW,EAAE;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,IAAW,EAAE,CAAC,KAAsB;QAChC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC;IACL,CAAC;IAED,6CAA6C;IAE7C,IAAW,EAAE;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,IAAW,EAAE,CAAC,KAAsB;QAChC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC;IACL,CAAC;IAED,6CAA6C;IAE7C,IAAW,EAAE;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,IAAW,EAAE,CAAC,KAAsB;QAChC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC;IACL,CAAC;IAED,8BAA8B;IAE9B,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAW,SAAS,CAAC,KAAa;QAC9B,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,wCAAwC;IACxC,IAAoB,mBAAmB,CAAC,KAAa;QACjD,OAAO;IACX,CAAC;IAED,sCAAsC;IACtC,IAAoB,iBAAiB,CAAC,KAAa;QAC/C,OAAO;IACX,CAAC;IAED,gBAAgB;IAChB,IAAW,YAAY;QACnB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzG,CAAC;IAED,gBAAgB;IAChB,IAAW,YAAY;QACnB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzG,CAAC;IAED;;;OAGG;IACH,YAA4B,IAAa;QACrC,KAAK,CAAC,IAAI,CAAC,CAAC;QADY,SAAI,GAAJ,IAAI,CAAS;QA3JjC,eAAU,GAAG,CAAC,CAAC;QACvB,gBAAgB;QACT,QAAG,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,gBAAgB;QACT,QAAG,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,gBAAgB;QACT,QAAG,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,gBAAgB;QACT,QAAG,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QACzB,UAAK,GAAG,IAAI,KAAK,EAAU,CAAC;QAqJhC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,yBAAyB,CAAC;QAC9D,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAC7D,CAAC;IAEkB,YAAY;QAC3B,OAAO,MAAM,CAAC;IAClB,CAAC;IAEe,KAAK,CAAC,OAAgC;QAClD,OAAO,CAAC,IAAI,EAAE,CAAC;QAEf,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9D,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACvC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACrC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACnE,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhC,OAAO,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9I,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QACtH,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAEe,QAAQ;QACpB,iBAAiB;QACjB,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3G,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;IAChH,CAAC;IAEe,OAAO,CAAC,aAAsB,EAAE,OAAgC;QAC5E,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,2HAA2H;YAC3H,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAEkB,iBAAiB,CAAC,aAAsB;QACvD,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QAClI,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IACpI,CAAC;IAED;;;;;OAKG;IACa,aAAa,CAAC,QAAiB,EAAE,KAAY,EAAE,MAAe,KAAK;QAC/E,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC3D,KAAK,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;YACtF,OAAO;QACX,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;QACvD,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,kBAAkB,EAAE,EAAE,cAAc,CAAC,CAAC;QAEzH,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAEtD,IAAI,iBAAiB,CAAC,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,OAAO;QACX,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACa,wBAAwB,CAAC,iBAA0B,EAAE,MAAe,KAAK;QACrF,MAAM,CAAC,GAAW,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACtF,MAAM,CAAC,GAAW,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAEtF,IAAI,GAAG,EAAE,CAAC;YACN,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACZ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACZ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAC1C,CAAC;IACL,CAAC;CACJ;AAlPG;IADC,SAAS,EAAE;gCAGX;AAqCD;IADC,SAAS,EAAE;8BAGX;AAcD;IADC,SAAS,EAAE;8BAGX;AAcD;IADC,SAAS,EAAE;8BAGX;AAcD;IADC,SAAS,EAAE;8BAGX;AAcD;IADC,SAAS,EAAE;qCAGX;AA2IL,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB;;;GAGG;AACH,MAAM,UAAU,YAAY;IACxB,IAAI,WAAW,EAAE,CAAC;QACd,OAAO;IACX,CAAC;IACD,WAAW,GAAG,IAAI,CAAC;IAEnB,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC","sourcesContent":["import { type Nullable } from \"core/types\";\r\nimport { type Observer } from \"core/Misc/observable\";\r\nimport { Vector3, Matrix } from \"core/Maths/math.vector.pure\";\r\nimport { Tools } from \"core/Misc/tools.pure\";\r\nimport { type Scene } from \"core/scene\";\r\n\r\nimport { Control } from \"./control.pure\";\r\nimport { ValueAndUnit } from \"../valueAndUnit\";\r\nimport { type Measure } from \"../measure\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { serialize } from \"core/Misc/decorators\";\r\nimport { type ICanvasRenderingContext } from \"core/Engines/ICanvas\";\r\n\r\n/** Class used to render 2D lines */\r\nexport class Line extends Control {\r\n private _lineWidth = 1;\r\n /** @internal */\r\n public _x1 = new ValueAndUnit(0);\r\n /** @internal */\r\n public _y1 = new ValueAndUnit(0);\r\n /** @internal */\r\n public _x2 = new ValueAndUnit(0);\r\n /** @internal */\r\n public _y2 = new ValueAndUnit(0);\r\n private _dash = new Array<number>();\r\n private _connectedControl: Control;\r\n private _connectedControlDirtyObserver: Nullable<Observer<Control>>;\r\n\r\n /** Gets or sets the dash pattern */\r\n @serialize()\r\n public get dash(): Array<number> {\r\n return this._dash;\r\n }\r\n\r\n public set dash(value: Array<number>) {\r\n if (this._dash === value) {\r\n return;\r\n }\r\n\r\n this._dash = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the control connected with the line end */\r\n public get connectedControl(): Control {\r\n return this._connectedControl;\r\n }\r\n\r\n public set connectedControl(value: Control) {\r\n // Don't allow circular references, and no-op if the same control is assigned\r\n if (this._connectedControl === value || (value instanceof Line && value._connectedControl === (this as Control))) {\r\n return;\r\n }\r\n\r\n if (this._connectedControlDirtyObserver && this._connectedControl) {\r\n this._connectedControl.onDirtyObservable.remove(this._connectedControlDirtyObserver);\r\n this._connectedControlDirtyObserver = null;\r\n }\r\n\r\n if (value) {\r\n this._connectedControlDirtyObserver = value.onDirtyObservable.add(() => this._markAsDirty());\r\n }\r\n\r\n this._connectedControl = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets start coordinates on X axis */\r\n @serialize()\r\n public get x1(): string | number {\r\n return this._x1.toString(this._host);\r\n }\r\n\r\n public set x1(value: string | number) {\r\n if (this._x1.toString(this._host) === value) {\r\n return;\r\n }\r\n\r\n if (this._x1.fromString(value)) {\r\n this._markAsDirty();\r\n }\r\n }\r\n\r\n /** Gets or sets start coordinates on Y axis */\r\n @serialize()\r\n public get y1(): string | number {\r\n return this._y1.toString(this._host);\r\n }\r\n\r\n public set y1(value: string | number) {\r\n if (this._y1.toString(this._host) === value) {\r\n return;\r\n }\r\n\r\n if (this._y1.fromString(value)) {\r\n this._markAsDirty();\r\n }\r\n }\r\n\r\n /** Gets or sets end coordinates on X axis */\r\n @serialize()\r\n public get x2(): string | number {\r\n return this._x2.toString(this._host);\r\n }\r\n\r\n public set x2(value: string | number) {\r\n if (this._x2.toString(this._host) === value) {\r\n return;\r\n }\r\n\r\n if (this._x2.fromString(value)) {\r\n this._markAsDirty();\r\n }\r\n }\r\n\r\n /** Gets or sets end coordinates on Y axis */\r\n @serialize()\r\n public get y2(): string | number {\r\n return this._y2.toString(this._host);\r\n }\r\n\r\n public set y2(value: string | number) {\r\n if (this._y2.toString(this._host) === value) {\r\n return;\r\n }\r\n\r\n if (this._y2.fromString(value)) {\r\n this._markAsDirty();\r\n }\r\n }\r\n\r\n /** Gets or sets line width */\r\n @serialize()\r\n public get lineWidth(): number {\r\n return this._lineWidth;\r\n }\r\n\r\n public set lineWidth(value: number) {\r\n if (this._lineWidth === value) {\r\n return;\r\n }\r\n\r\n this._lineWidth = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets horizontal alignment */\r\n public override set horizontalAlignment(value: number) {\r\n return;\r\n }\r\n\r\n /** Gets or sets vertical alignment */\r\n public override set verticalAlignment(value: number) {\r\n return;\r\n }\r\n\r\n /** @internal */\r\n public get _effectiveX2(): number {\r\n return (this._connectedControl ? this._connectedControl.centerX : 0) + this._x2.getValue(this._host);\r\n }\r\n\r\n /** @internal */\r\n public get _effectiveY2(): number {\r\n return (this._connectedControl ? this._connectedControl.centerY : 0) + this._y2.getValue(this._host);\r\n }\r\n\r\n /**\r\n * Creates a new Line\r\n * @param name defines the control name\r\n */\r\n constructor(public override name?: string) {\r\n super(name);\r\n\r\n this._automaticSize = true;\r\n\r\n this.isHitTestVisible = false;\r\n this._horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n this._verticalAlignment = Control.VERTICAL_ALIGNMENT_TOP;\r\n }\r\n\r\n protected override _getTypeName(): string {\r\n return \"Line\";\r\n }\r\n\r\n public override _draw(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 * this._host.idealRatio;\r\n context.shadowOffsetY = this.shadowOffsetY * this._host.idealRatio;\r\n }\r\n\r\n this._applyStates(context);\r\n context.strokeStyle = this._getColor(context);\r\n context.lineWidth = this._lineWidth;\r\n context.setLineDash(this._dash);\r\n\r\n context.beginPath();\r\n context.moveTo(this._cachedParentMeasure.left + this._x1.getValue(this._host), this._cachedParentMeasure.top + this._y1.getValue(this._host));\r\n\r\n context.lineTo(this._cachedParentMeasure.left + this._effectiveX2, this._cachedParentMeasure.top + this._effectiveY2);\r\n context.stroke();\r\n\r\n context.restore();\r\n }\r\n\r\n public override _measure(): void {\r\n // Width / Height\r\n this._currentMeasure.width = Math.abs(this._x1.getValue(this._host) - this._effectiveX2) + this._lineWidth;\r\n this._currentMeasure.height = Math.abs(this._y1.getValue(this._host) - this._effectiveY2) + this._lineWidth;\r\n }\r\n\r\n public override _layout(parentMeasure: Measure, context: ICanvasRenderingContext): boolean {\r\n if (this._connectedControl) {\r\n // If we have a connected control, we need to let it layout first so we can ensure our layout math uses its latest position\r\n this._connectedControl._layout(parentMeasure, context);\r\n }\r\n return super._layout(parentMeasure, context);\r\n }\r\n\r\n protected override _computeAlignment(parentMeasure: Measure): void {\r\n this._currentMeasure.left = parentMeasure.left + Math.min(this._x1.getValue(this._host), this._effectiveX2) - this._lineWidth / 2;\r\n this._currentMeasure.top = parentMeasure.top + Math.min(this._y1.getValue(this._host), this._effectiveY2) - this._lineWidth / 2;\r\n }\r\n\r\n /**\r\n * Move one end of the line given 3D cartesian coordinates.\r\n * @param position Targeted world position\r\n * @param scene Scene\r\n * @param end (opt) Set to true to assign x2 and y2 coordinates of the line. Default assign to x1 and y1.\r\n */\r\n public override moveToVector3(position: Vector3, scene: Scene, end: boolean = false): void {\r\n if (!this._host || this.parent !== this._host._rootContainer) {\r\n Tools.Error(\"Cannot move a control to a vector3 if the control is not at root level\");\r\n return;\r\n }\r\n\r\n const globalViewport = this._host._getGlobalViewport();\r\n const projectedPosition = Vector3.Project(position, Matrix.IdentityReadOnly, scene.getTransformMatrix(), globalViewport);\r\n\r\n this._moveToProjectedPosition(projectedPosition, end);\r\n\r\n if (projectedPosition.z < 0 || projectedPosition.z > 1) {\r\n this.notRenderable = true;\r\n return;\r\n }\r\n this.notRenderable = false;\r\n }\r\n\r\n /**\r\n * Move one end of the line to a position in screen absolute space.\r\n * @param projectedPosition Position in screen absolute space (X, Y)\r\n * @param end (opt) Set to true to assign x2 and y2 coordinates of the line. Default assign to x1 and y1.\r\n */\r\n public override _moveToProjectedPosition(projectedPosition: Vector3, end: boolean = false): void {\r\n const x: string = projectedPosition.x + this._linkOffsetX.getValue(this._host) + \"px\";\r\n const y: string = projectedPosition.y + this._linkOffsetY.getValue(this._host) + \"px\";\r\n\r\n if (end) {\r\n this.x2 = x;\r\n this.y2 = y;\r\n this._x2.ignoreAdaptiveScaling = true;\r\n this._y2.ignoreAdaptiveScaling = true;\r\n } else {\r\n this.x1 = x;\r\n this.y1 = y;\r\n this._x1.ignoreAdaptiveScaling = true;\r\n this._y1.ignoreAdaptiveScaling = true;\r\n }\r\n }\r\n}\r\n\r\nlet _Registered = false;\r\n/**\r\n * Registers the Line class with the type store for serialization support.\r\n * Safe to call multiple times; only the first call has an effect.\r\n */\r\nexport function RegisterLine(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n RegisterClass(\"BABYLON.GUI.Line\", Line);\r\n}\r\n"]}
@@ -1,75 +1,5 @@
1
- import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
2
- import { Control } from "./control.js";
3
- import { MultiLinePoint } from "../multiLinePoint.js";
4
- import { type ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
5
1
  /**
6
- * Class used to create multi line control
2
+ * Re-exports the pure implementation and applies the runtime registration side effect.
3
+ * Import "./multiLine.pure" for tree-shakeable, side-effect-free usage.
7
4
  */
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
- }
5
+ export * from "./multiLine.pure.js";
@@ -1,237 +1,8 @@
1
- import { __decorate } from "@babylonjs/core/tslib.es6.js";
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
1
  /**
8
- * Class used to create multi line control
2
+ * Re-exports the pure implementation and applies the runtime registration side effect.
3
+ * Import "./multiLine.pure" for tree-shakeable, side-effect-free usage.
9
4
  */
10
- export class MultiLine extends Control {
11
- /**
12
- * Creates a new MultiLine
13
- * @param name defines the control name
14
- */
15
- constructor(name) {
16
- super(name);
17
- this.name = name;
18
- this._lineWidth = 1;
19
- /** Function called when a point is updated */
20
- this.onPointUpdate = () => {
21
- this._markAsDirty();
22
- };
23
- this._automaticSize = true;
24
- this.isHitTestVisible = false;
25
- this._horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;
26
- this._verticalAlignment = Control.VERTICAL_ALIGNMENT_TOP;
27
- this._dash = [];
28
- this._points = [];
29
- }
30
- /** Gets or sets dash pattern */
31
- get dash() {
32
- return this._dash;
33
- }
34
- set dash(value) {
35
- if (this._dash === value) {
36
- return;
37
- }
38
- this._dash = value;
39
- this._markAsDirty();
40
- }
41
- /**
42
- * Gets point stored at specified index
43
- * @param index defines the index to look for
44
- * @returns the requested point if found
45
- */
46
- getAt(index) {
47
- if (!this._points[index]) {
48
- this._points[index] = new MultiLinePoint(this);
49
- }
50
- return this._points[index];
51
- }
52
- /**
53
- * Adds new points to the point collection
54
- * @param items defines the list of items (mesh, control or 2d coordinates) to add
55
- * @returns the list of created MultiLinePoint
56
- */
57
- add(...items) {
58
- return items.map((item) => this.push(item));
59
- }
60
- /**
61
- * Adds a new point to the point collection
62
- * @param item defines the item (mesh, control or 2d coordinates) to add
63
- * @returns the created MultiLinePoint
64
- */
65
- push(item) {
66
- const point = this.getAt(this._points.length);
67
- if (item == null) {
68
- return point;
69
- }
70
- if (item instanceof AbstractMesh) {
71
- point.mesh = item;
72
- }
73
- else if (item instanceof Control) {
74
- point.control = item;
75
- }
76
- else if (item.x != null && item.y != null) {
77
- point.x = item.x;
78
- point.y = item.y;
79
- }
80
- return point;
81
- }
82
- /**
83
- * Remove a specific value or point from the active point collection
84
- * @param value defines the value or point to remove
85
- */
86
- remove(value) {
87
- let index;
88
- if (value instanceof MultiLinePoint) {
89
- index = this._points.indexOf(value);
90
- if (index === -1) {
91
- return;
92
- }
93
- }
94
- else {
95
- index = value;
96
- }
97
- const point = this._points[index];
98
- if (!point) {
99
- return;
100
- }
101
- point.dispose();
102
- this._points.splice(index, 1);
103
- }
104
- /**
105
- * Resets this object to initial state (no point)
106
- */
107
- reset() {
108
- while (this._points.length > 0) {
109
- this.remove(this._points.length - 1);
110
- }
111
- }
112
- /**
113
- * Resets all links
114
- */
115
- resetLinks() {
116
- for (const point of this._points) {
117
- if (point != null) {
118
- point.resetLinks();
119
- }
120
- }
121
- }
122
- /** Gets or sets line width */
123
- get lineWidth() {
124
- return this._lineWidth;
125
- }
126
- set lineWidth(value) {
127
- if (this._lineWidth === value) {
128
- return;
129
- }
130
- this._lineWidth = value;
131
- this._markAsDirty();
132
- }
133
- set horizontalAlignment(value) {
134
- return;
135
- }
136
- set verticalAlignment(value) {
137
- return;
138
- }
139
- _getTypeName() {
140
- return "MultiLine";
141
- }
142
- _draw(context) {
143
- context.save();
144
- if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
145
- context.shadowColor = this.shadowColor;
146
- context.shadowBlur = this.shadowBlur;
147
- context.shadowOffsetX = this.shadowOffsetX * this._host.idealRatio;
148
- context.shadowOffsetY = this.shadowOffsetY * this._host.idealRatio;
149
- }
150
- this._applyStates(context);
151
- context.strokeStyle = this.color;
152
- context.lineWidth = this._lineWidth;
153
- context.setLineDash(this._dash);
154
- context.beginPath();
155
- let first = true; //first index is not necessarily 0
156
- let previousPoint;
157
- for (const point of this._points) {
158
- if (!point) {
159
- continue;
160
- }
161
- if (first) {
162
- context.moveTo(point._point.x, point._point.y);
163
- first = false;
164
- }
165
- else {
166
- if (point._point.z < 1 && previousPoint.z < 1) {
167
- context.lineTo(point._point.x, point._point.y);
168
- }
169
- else {
170
- context.moveTo(point._point.x, point._point.y);
171
- }
172
- }
173
- previousPoint = point._point;
174
- }
175
- context.stroke();
176
- context.restore();
177
- }
178
- _additionalProcessing() {
179
- this._minX = null;
180
- this._minY = null;
181
- this._maxX = null;
182
- this._maxY = null;
183
- for (const point of this._points) {
184
- if (!point) {
185
- continue;
186
- }
187
- point.translate();
188
- if (this._minX == null || point._point.x < this._minX) {
189
- this._minX = point._point.x;
190
- }
191
- if (this._minY == null || point._point.y < this._minY) {
192
- this._minY = point._point.y;
193
- }
194
- if (this._maxX == null || point._point.x > this._maxX) {
195
- this._maxX = point._point.x;
196
- }
197
- if (this._maxY == null || point._point.y > this._maxY) {
198
- this._maxY = point._point.y;
199
- }
200
- }
201
- if (this._minX == null) {
202
- this._minX = 0;
203
- }
204
- if (this._minY == null) {
205
- this._minY = 0;
206
- }
207
- if (this._maxX == null) {
208
- this._maxX = 0;
209
- }
210
- if (this._maxY == null) {
211
- this._maxY = 0;
212
- }
213
- }
214
- _measure() {
215
- if (this._minX == null || this._maxX == null || this._minY == null || this._maxY == null) {
216
- return;
217
- }
218
- this._currentMeasure.width = Math.abs(this._maxX - this._minX) + this._lineWidth;
219
- this._currentMeasure.height = Math.abs(this._maxY - this._minY) + this._lineWidth;
220
- }
221
- _computeAlignment() {
222
- if (this._minX == null || this._minY == null) {
223
- return;
224
- }
225
- this._currentMeasure.left = this._minX - this._lineWidth / 2;
226
- this._currentMeasure.top = this._minY - this._lineWidth / 2;
227
- }
228
- dispose() {
229
- this.reset();
230
- super.dispose();
231
- }
232
- }
233
- __decorate([
234
- serialize()
235
- ], MultiLine.prototype, "dash", null);
236
- RegisterClass("BABYLON.GUI.MultiLine", MultiLine);
5
+ export * from "./multiLine.pure.js";
6
+ import { RegisterMultiLine } from "./multiLine.pure.js";
7
+ RegisterMultiLine();
237
8
  //# sourceMappingURL=multiLine.js.map