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

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 (265) hide show
  1. package/2D/adtInstrumentation.d.ts +2 -2
  2. package/2D/adtInstrumentation.js.map +1 -1
  3. package/2D/advancedDynamicTexture.d.ts +43 -20
  4. package/2D/advancedDynamicTexture.js +45 -22
  5. package/2D/advancedDynamicTexture.js.map +1 -1
  6. package/2D/controls/button.d.ts +50 -12
  7. package/2D/controls/button.js +48 -10
  8. package/2D/controls/button.js.map +1 -1
  9. package/2D/controls/checkbox.d.ts +17 -9
  10. package/2D/controls/checkbox.js +17 -7
  11. package/2D/controls/checkbox.js.map +1 -1
  12. package/2D/controls/colorpicker.d.ts +21 -8
  13. package/2D/controls/colorpicker.js +540 -523
  14. package/2D/controls/colorpicker.js.map +1 -1
  15. package/2D/controls/container.d.ts +63 -18
  16. package/2D/controls/container.js +63 -18
  17. package/2D/controls/container.js.map +1 -1
  18. package/2D/controls/control.d.ts +171 -48
  19. package/2D/controls/control.js +165 -41
  20. package/2D/controls/control.js.map +1 -1
  21. package/2D/controls/displayGrid.d.ts +2 -4
  22. package/2D/controls/displayGrid.js +3 -3
  23. package/2D/controls/displayGrid.js.map +1 -1
  24. package/2D/controls/ellipse.d.ts +1 -1
  25. package/2D/controls/ellipse.js +2 -2
  26. package/2D/controls/ellipse.js.map +1 -1
  27. package/2D/controls/focusableButton.d.ts +13 -6
  28. package/2D/controls/focusableButton.js +10 -3
  29. package/2D/controls/focusableButton.js.map +1 -1
  30. package/2D/controls/focusableControl.d.ts +11 -11
  31. package/2D/controls/focusableControl.js.map +1 -1
  32. package/2D/controls/grid.d.ts +7 -3
  33. package/2D/controls/grid.js +9 -5
  34. package/2D/controls/grid.js.map +1 -1
  35. package/2D/controls/image.d.ts +15 -8
  36. package/2D/controls/image.js +29 -21
  37. package/2D/controls/image.js.map +1 -1
  38. package/2D/controls/index.js.map +1 -1
  39. package/2D/controls/inputPassword.d.ts +1 -1
  40. package/2D/controls/inputPassword.js +2 -2
  41. package/2D/controls/inputPassword.js.map +1 -1
  42. package/2D/controls/inputText.d.ts +34 -15
  43. package/2D/controls/inputText.js +47 -24
  44. package/2D/controls/inputText.js.map +1 -1
  45. package/2D/controls/line.d.ts +4 -4
  46. package/2D/controls/line.js +5 -5
  47. package/2D/controls/line.js.map +1 -1
  48. package/2D/controls/multiLine.d.ts +9 -11
  49. package/2D/controls/multiLine.js +8 -8
  50. package/2D/controls/multiLine.js.map +1 -1
  51. package/2D/controls/radioButton.d.ts +4 -4
  52. package/2D/controls/radioButton.js +2 -2
  53. package/2D/controls/radioButton.js.map +1 -1
  54. package/2D/controls/rectangle.d.ts +1 -1
  55. package/2D/controls/rectangle.js +2 -2
  56. package/2D/controls/rectangle.js.map +1 -1
  57. package/2D/controls/scrollViewers/scrollViewer.d.ts +14 -7
  58. package/2D/controls/scrollViewers/scrollViewer.js +14 -13
  59. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  60. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +20 -8
  61. package/2D/controls/scrollViewers/scrollViewerWindow.js +25 -10
  62. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  63. package/2D/controls/selector.d.ts +79 -25
  64. package/2D/controls/selector.js +93 -30
  65. package/2D/controls/selector.js.map +1 -1
  66. package/2D/controls/sliders/baseSlider.d.ts +9 -5
  67. package/2D/controls/sliders/baseSlider.js +11 -7
  68. package/2D/controls/sliders/baseSlider.js.map +1 -1
  69. package/2D/controls/sliders/imageBasedSlider.d.ts +10 -8
  70. package/2D/controls/sliders/imageBasedSlider.js +10 -6
  71. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  72. package/2D/controls/sliders/imageScrollBar.d.ts +8 -4
  73. package/2D/controls/sliders/imageScrollBar.js +10 -3
  74. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  75. package/2D/controls/sliders/scrollBar.d.ts +8 -4
  76. package/2D/controls/sliders/scrollBar.js +10 -3
  77. package/2D/controls/sliders/scrollBar.js.map +1 -1
  78. package/2D/controls/sliders/slider.d.ts +2 -4
  79. package/2D/controls/sliders/slider.js +6 -6
  80. package/2D/controls/sliders/slider.js.map +1 -1
  81. package/2D/controls/stackPanel.d.ts +11 -3
  82. package/2D/controls/stackPanel.js +16 -6
  83. package/2D/controls/stackPanel.js.map +1 -1
  84. package/2D/controls/statics.js +2 -0
  85. package/2D/controls/statics.js.map +1 -1
  86. package/2D/controls/textBlock.d.ts +9 -6
  87. package/2D/controls/textBlock.js +11 -6
  88. package/2D/controls/textBlock.js.map +1 -1
  89. package/2D/controls/textWrapper.js.map +1 -1
  90. package/2D/controls/toggleButton.d.ts +43 -9
  91. package/2D/controls/toggleButton.js +40 -6
  92. package/2D/controls/toggleButton.js.map +1 -1
  93. package/2D/controls/virtualKeyboard.d.ts +2 -2
  94. package/2D/controls/virtualKeyboard.js +6 -6
  95. package/2D/controls/virtualKeyboard.js.map +1 -1
  96. package/2D/index.js.map +1 -1
  97. package/2D/math2D.d.ts +2 -2
  98. package/2D/math2D.js +2 -2
  99. package/2D/math2D.js.map +1 -1
  100. package/2D/measure.d.ts +4 -4
  101. package/2D/measure.js +6 -16
  102. package/2D/measure.js.map +1 -1
  103. package/2D/multiLinePoint.d.ts +3 -3
  104. package/2D/multiLinePoint.js +3 -3
  105. package/2D/multiLinePoint.js.map +1 -1
  106. package/2D/style.d.ts +2 -2
  107. package/2D/style.js.map +1 -1
  108. package/2D/valueAndUnit.d.ts +1 -1
  109. package/2D/valueAndUnit.js +8 -4
  110. package/2D/valueAndUnit.js.map +1 -1
  111. package/2D/xmlLoader.d.ts +10 -10
  112. package/2D/xmlLoader.js +17 -17
  113. package/2D/xmlLoader.js.map +1 -1
  114. package/3D/behaviors/defaultBehavior.d.ts +7 -7
  115. package/3D/behaviors/defaultBehavior.js.map +1 -1
  116. package/3D/controls/abstractButton3D.d.ts +2 -2
  117. package/3D/controls/abstractButton3D.js +1 -1
  118. package/3D/controls/abstractButton3D.js.map +1 -1
  119. package/3D/controls/button3D.d.ts +4 -4
  120. package/3D/controls/button3D.js.map +1 -1
  121. package/3D/controls/container3D.d.ts +3 -3
  122. package/3D/controls/container3D.js +1 -2
  123. package/3D/controls/container3D.js.map +1 -1
  124. package/3D/controls/contentDisplay3D.js +1 -0
  125. package/3D/controls/contentDisplay3D.js.map +1 -1
  126. package/3D/controls/control3D.d.ts +53 -17
  127. package/3D/controls/control3D.js +48 -11
  128. package/3D/controls/control3D.js.map +1 -1
  129. package/3D/controls/cylinderPanel.d.ts +2 -2
  130. package/3D/controls/cylinderPanel.js +2 -2
  131. package/3D/controls/cylinderPanel.js.map +1 -1
  132. package/3D/controls/handMenu.d.ts +5 -5
  133. package/3D/controls/handMenu.js.map +1 -1
  134. package/3D/controls/holographicBackplate.d.ts +4 -3
  135. package/3D/controls/holographicBackplate.js +4 -4
  136. package/3D/controls/holographicBackplate.js.map +1 -1
  137. package/3D/controls/holographicButton.d.ts +6 -5
  138. package/3D/controls/holographicButton.js +1 -0
  139. package/3D/controls/holographicButton.js.map +1 -1
  140. package/3D/controls/holographicSlate.d.ts +10 -7
  141. package/3D/controls/holographicSlate.js +17 -14
  142. package/3D/controls/holographicSlate.js.map +1 -1
  143. package/3D/controls/index.js.map +1 -1
  144. package/3D/controls/meshButton3D.d.ts +4 -4
  145. package/3D/controls/meshButton3D.js +3 -2
  146. package/3D/controls/meshButton3D.js.map +1 -1
  147. package/3D/controls/nearMenu.d.ts +5 -5
  148. package/3D/controls/nearMenu.js +6 -4
  149. package/3D/controls/nearMenu.js.map +1 -1
  150. package/3D/controls/planePanel.d.ts +1 -1
  151. package/3D/controls/planePanel.js.map +1 -1
  152. package/3D/controls/scatterPanel.d.ts +2 -2
  153. package/3D/controls/scatterPanel.js +1 -1
  154. package/3D/controls/scatterPanel.js.map +1 -1
  155. package/3D/controls/slider3D.d.ts +5 -5
  156. package/3D/controls/slider3D.js +8 -9
  157. package/3D/controls/slider3D.js.map +1 -1
  158. package/3D/controls/spherePanel.d.ts +2 -2
  159. package/3D/controls/spherePanel.js +2 -2
  160. package/3D/controls/spherePanel.js.map +1 -1
  161. package/3D/controls/stackPanel3D.js +3 -3
  162. package/3D/controls/stackPanel3D.js.map +1 -1
  163. package/3D/controls/touchButton3D.d.ts +12 -7
  164. package/3D/controls/touchButton3D.js +11 -5
  165. package/3D/controls/touchButton3D.js.map +1 -1
  166. package/3D/controls/touchHolographicButton.d.ts +7 -6
  167. package/3D/controls/touchHolographicButton.js +7 -7
  168. package/3D/controls/touchHolographicButton.js.map +1 -1
  169. package/3D/controls/touchHolographicMenu.d.ts +6 -6
  170. package/3D/controls/touchHolographicMenu.js +1 -0
  171. package/3D/controls/touchHolographicMenu.js.map +1 -1
  172. package/3D/controls/touchMeshButton3D.d.ts +4 -5
  173. package/3D/controls/touchMeshButton3D.js +3 -3
  174. package/3D/controls/touchMeshButton3D.js.map +1 -1
  175. package/3D/controls/volumeBasedPanel.d.ts +10 -9
  176. package/3D/controls/volumeBasedPanel.js +13 -13
  177. package/3D/controls/volumeBasedPanel.js.map +1 -1
  178. package/3D/gizmos/gizmoHandle.d.ts +5 -5
  179. package/3D/gizmos/gizmoHandle.js.map +1 -1
  180. package/3D/gizmos/index.js.map +1 -1
  181. package/3D/gizmos/slateGizmo.d.ts +4 -4
  182. package/3D/gizmos/slateGizmo.js.map +1 -1
  183. package/3D/gui3DManager.d.ts +7 -7
  184. package/3D/gui3DManager.js +3 -3
  185. package/3D/gui3DManager.js.map +1 -1
  186. package/3D/index.js.map +1 -1
  187. package/3D/materials/fluent/fluentMaterial.d.ts +12 -12
  188. package/3D/materials/fluent/fluentMaterial.js +17 -6
  189. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  190. package/3D/materials/fluent/index.js.map +1 -1
  191. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +1 -1
  192. package/3D/materials/fluent/shaders/fluent.fragment.js +4 -2
  193. package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -1
  194. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +1 -1
  195. package/3D/materials/fluent/shaders/fluent.vertex.js +4 -2
  196. package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -1
  197. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +12 -12
  198. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +48 -13
  199. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  200. package/3D/materials/fluentBackplate/index.js.map +1 -1
  201. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +1 -1
  202. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +4 -2
  203. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -1
  204. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +1 -1
  205. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +4 -2
  206. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -1
  207. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +12 -12
  208. package/3D/materials/fluentButton/fluentButtonMaterial.js +8 -6
  209. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  210. package/3D/materials/fluentButton/index.js.map +1 -1
  211. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +1 -1
  212. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +4 -2
  213. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -1
  214. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +1 -1
  215. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +4 -2
  216. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -1
  217. package/3D/materials/fluentMaterial.d.ts +1 -1
  218. package/3D/materials/fluentMaterial.js +1 -1
  219. package/3D/materials/fluentMaterial.js.map +1 -1
  220. package/3D/materials/handle/handleMaterial.d.ts +4 -4
  221. package/3D/materials/handle/handleMaterial.js.map +1 -1
  222. package/3D/materials/handle/index.js.map +1 -1
  223. package/3D/materials/handle/shaders/handle.fragment.d.ts +1 -1
  224. package/3D/materials/handle/shaders/handle.fragment.js +3 -1
  225. package/3D/materials/handle/shaders/handle.fragment.js.map +1 -1
  226. package/3D/materials/handle/shaders/handle.vertex.d.ts +1 -1
  227. package/3D/materials/handle/shaders/handle.vertex.js +4 -2
  228. package/3D/materials/handle/shaders/handle.vertex.js.map +1 -1
  229. package/3D/materials/index.js.map +1 -1
  230. package/3D/materials/mrdl/index.js.map +1 -1
  231. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +15 -15
  232. package/3D/materials/mrdl/mrdlBackplateMaterial.js +42 -15
  233. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  234. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +16 -16
  235. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +88 -23
  236. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  237. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +17 -17
  238. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +89 -24
  239. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  240. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +1 -1
  241. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +4 -2
  242. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -1
  243. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +1 -1
  244. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +4 -2
  245. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -1
  246. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +1 -1
  247. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +4 -2
  248. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -1
  249. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +1 -1
  250. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +4 -2
  251. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -1
  252. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +1 -1
  253. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +4 -2
  254. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -1
  255. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +1 -1
  256. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +4 -2
  257. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -1
  258. package/3D/vector3WithInfo.d.ts +1 -1
  259. package/3D/vector3WithInfo.js.map +1 -1
  260. package/index.js.map +1 -1
  261. package/legacy/legacy.d.ts +1 -1
  262. package/legacy/legacy.js +3 -3
  263. package/legacy/legacy.js.map +1 -1
  264. package/package.json +21 -328
  265. package/readme.md +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"line.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/2D/controls/line.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, Matrix } from \"@babylonjs/core/Maths/math.vector\";\r\nimport { Tools } from \"@babylonjs/core/Misc/tools\";\r\nimport { Scene } from \"@babylonjs/core/scene\";\r\n\r\nimport { Control } from \"./control\";\r\nimport { ValueAndUnit } from \"../valueAndUnit\";\r\nimport { Measure } from \"../measure\";\r\nimport { RegisterClass } from '@babylonjs/core/Misc/typeStore';\r\nimport { serialize } from '@babylonjs/core/Misc/decorators';\r\nimport { ICanvasRenderingContext } from \"@babylonjs/core/Engines/ICanvas\";\r\n\r\n/** Class used to render 2D lines */\r\nexport class Line extends Control {\r\n private _lineWidth = 1;\r\n private _x1 = new ValueAndUnit(0);\r\n private _y1 = new ValueAndUnit(0);\r\n private _x2 = new ValueAndUnit(0);\r\n private _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 if (this._connectedControl === value) {\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 set horizontalAlignment(value: number) {\r\n return;\r\n }\r\n\r\n /** Gets or sets vertical alignment */\r\n public set verticalAlignment(value: number) {\r\n return;\r\n }\r\n\r\n private get _effectiveX2(): number {\r\n return (this._connectedControl ? this._connectedControl.centerX : 0) + this._x2.getValue(this._host);\r\n }\r\n\r\n private 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 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 _getTypeName(): string {\r\n return \"Line\";\r\n }\r\n\r\n public _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;\r\n context.shadowOffsetY = this.shadowOffsetY;\r\n }\r\n\r\n this._applyStates(context);\r\n context.strokeStyle = this.color;\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 _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 protected _computeAlignment(parentMeasure: Measure, context: ICanvasRenderingContext): 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 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 var globalViewport = this._host._getGlobalViewport();\r\n var projectedPosition = Vector3.Project(position, Matrix.Identity(), 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 _moveToProjectedPosition(projectedPosition: Vector3, end: boolean = false): void {\r\n let x: string = (projectedPosition.x + this._linkOffsetX.getValue(this._host)) + \"px\";\r\n let 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\nRegisterClass(\"BABYLON.GUI.Line\", Line);\r\n"]}
1
+ {"version":3,"file":"line.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/2D/controls/line.ts"],"names":[],"mappings":"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","sourcesContent":["import { Nullable } from \"core/types\";\r\nimport { Observer } from \"core/Misc/observable\";\r\nimport { Vector3, Matrix } from \"core/Maths/math.vector\";\r\nimport { Tools } from \"core/Misc/tools\";\r\nimport { Scene } from \"core/scene\";\r\n\r\nimport { Control } from \"./control\";\r\nimport { ValueAndUnit } from \"../valueAndUnit\";\r\nimport { Measure } from \"../measure\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { serialize } from \"core/Misc/decorators\";\r\nimport { 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 private _x1 = new ValueAndUnit(0);\r\n private _y1 = new ValueAndUnit(0);\r\n private _x2 = new ValueAndUnit(0);\r\n private _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 if (this._connectedControl === value) {\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 set horizontalAlignment(value: number) {\r\n return;\r\n }\r\n\r\n /** Gets or sets vertical alignment */\r\n public set verticalAlignment(value: number) {\r\n return;\r\n }\r\n\r\n private get _effectiveX2(): number {\r\n return (this._connectedControl ? this._connectedControl.centerX : 0) + this._x2.getValue(this._host);\r\n }\r\n\r\n private 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 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 _getTypeName(): string {\r\n return \"Line\";\r\n }\r\n\r\n public _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;\r\n context.shadowOffsetY = this.shadowOffsetY;\r\n }\r\n\r\n this._applyStates(context);\r\n context.strokeStyle = this.color;\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 _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 protected _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 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.Identity(), 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 _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\nRegisterClass(\"BABYLON.GUI.Line\", Line);\r\n"]}
@@ -1,9 +1,7 @@
1
- import { Nullable } from "@babylonjs/core/types";
2
- import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh";
1
+ import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
3
2
  import { Control } from "./control";
4
3
  import { MultiLinePoint } from "../multiLinePoint";
5
- import { Measure } from "../measure";
6
- import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas";
4
+ import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
7
5
  /**
8
6
  * Class used to create multi line control
9
7
  */
@@ -34,7 +32,7 @@ export declare class MultiLine extends Control {
34
32
  onPointUpdate: () => void;
35
33
  /**
36
34
  * Adds new points to the point collection
37
- * @param items defines the list of items (mesh, control or 2d coordiantes) to add
35
+ * @param items defines the list of items (mesh, control or 2d coordinates) to add
38
36
  * @returns the list of created MultiLinePoint
39
37
  */
40
38
  add(...items: (AbstractMesh | Control | {
@@ -43,13 +41,13 @@ export declare class MultiLine extends Control {
43
41
  })[]): MultiLinePoint[];
44
42
  /**
45
43
  * Adds a new point to the point collection
46
- * @param item defines the item (mesh, control or 2d coordiantes) to add
44
+ * @param item defines the item (mesh, control or 2d coordinates) to add
47
45
  * @returns the created MultiLinePoint
48
46
  */
49
- push(item?: (AbstractMesh | Control | {
47
+ push(item?: AbstractMesh | Control | {
50
48
  x: string | number;
51
49
  y: string | number;
52
- })): MultiLinePoint;
50
+ }): MultiLinePoint;
53
51
  /**
54
52
  * Remove a specific value or point from the active point collection
55
53
  * @param value defines the value or point to remove
@@ -69,9 +67,9 @@ export declare class MultiLine extends Control {
69
67
  set horizontalAlignment(value: number);
70
68
  set verticalAlignment(value: number);
71
69
  protected _getTypeName(): string;
72
- _draw(context: ICanvasRenderingContext, invalidatedRectangle?: Nullable<Measure>): void;
73
- protected _additionalProcessing(parentMeasure: Measure, context: ICanvasRenderingContext): void;
70
+ _draw(context: ICanvasRenderingContext): void;
71
+ protected _additionalProcessing(): void;
74
72
  _measure(): void;
75
- protected _computeAlignment(parentMeasure: Measure, context: ICanvasRenderingContext): void;
73
+ protected _computeAlignment(): void;
76
74
  dispose(): void;
77
75
  }
@@ -2,8 +2,8 @@ import { __decorate, __extends } from "tslib";
2
2
  import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
3
3
  import { Control } from "./control.js";
4
4
  import { MultiLinePoint } from "../multiLinePoint.js";
5
- import { RegisterClass } from '@babylonjs/core/Misc/typeStore.js';
6
- import { serialize } from '@babylonjs/core/Misc/decorators.js';
5
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
6
+ import { serialize } from "@babylonjs/core/Misc/decorators.js";
7
7
  /**
8
8
  * Class used to create multi line control
9
9
  */
@@ -57,7 +57,7 @@ var MultiLine = /** @class */ (function (_super) {
57
57
  };
58
58
  /**
59
59
  * Adds new points to the point collection
60
- * @param items defines the list of items (mesh, control or 2d coordiantes) to add
60
+ * @param items defines the list of items (mesh, control or 2d coordinates) to add
61
61
  * @returns the list of created MultiLinePoint
62
62
  */
63
63
  MultiLine.prototype.add = function () {
@@ -70,7 +70,7 @@ var MultiLine = /** @class */ (function (_super) {
70
70
  };
71
71
  /**
72
72
  * Adds a new point to the point collection
73
- * @param item defines the item (mesh, control or 2d coordiantes) to add
73
+ * @param item defines the item (mesh, control or 2d coordinates) to add
74
74
  * @returns the created MultiLinePoint
75
75
  */
76
76
  MultiLine.prototype.push = function (item) {
@@ -162,7 +162,7 @@ var MultiLine = /** @class */ (function (_super) {
162
162
  MultiLine.prototype._getTypeName = function () {
163
163
  return "MultiLine";
164
164
  };
165
- MultiLine.prototype._draw = function (context, invalidatedRectangle) {
165
+ MultiLine.prototype._draw = function (context) {
166
166
  context.save();
167
167
  if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
168
168
  context.shadowColor = this.shadowColor;
@@ -198,13 +198,13 @@ var MultiLine = /** @class */ (function (_super) {
198
198
  context.stroke();
199
199
  context.restore();
200
200
  };
201
- MultiLine.prototype._additionalProcessing = function (parentMeasure, context) {
201
+ MultiLine.prototype._additionalProcessing = function () {
202
202
  var _this = this;
203
203
  this._minX = null;
204
204
  this._minY = null;
205
205
  this._maxX = null;
206
206
  this._maxY = null;
207
- this._points.forEach(function (point, index) {
207
+ this._points.forEach(function (point) {
208
208
  if (!point) {
209
209
  return;
210
210
  }
@@ -242,7 +242,7 @@ var MultiLine = /** @class */ (function (_super) {
242
242
  this._currentMeasure.width = Math.abs(this._maxX - this._minX) + this._lineWidth;
243
243
  this._currentMeasure.height = Math.abs(this._maxY - this._minY) + this._lineWidth;
244
244
  };
245
- MultiLine.prototype._computeAlignment = function (parentMeasure, context) {
245
+ MultiLine.prototype._computeAlignment = function () {
246
246
  if (this._minX == null || this._minY == null) {
247
247
  return;
248
248
  }
@@ -1 +1 @@
1
- {"version":3,"file":"multiLine.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/2D/controls/multiLine.ts"],"names":[],"mappings":"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","sourcesContent":["import { Nullable } from \"@babylonjs/core/types\";\r\nimport { AbstractMesh } from \"@babylonjs/core/Meshes/abstractMesh\";\r\n\r\nimport { Control } from \"./control\";\r\nimport { MultiLinePoint } from \"../multiLinePoint\";\r\nimport { Measure } from \"../measure\";\r\nimport { RegisterClass } from '@babylonjs/core/Misc/typeStore';\r\nimport { Vector3 } from \"@babylonjs/core/Maths/math.vector\";\r\nimport { serialize } from '@babylonjs/core/Misc/decorators';\r\nimport { ICanvasRenderingContext } from \"@babylonjs/core/Engines/ICanvas\";\r\n\r\n/**\r\n * Class used to create multi line control\r\n */\r\nexport class MultiLine extends Control {\r\n\r\n private _lineWidth: number = 1;\r\n private _dash: number[];\r\n private _points: Nullable<MultiLinePoint>[];\r\n\r\n private _minX: Nullable<number>;\r\n private _minY: Nullable<number>;\r\n private _maxX: Nullable<number>;\r\n private _maxY: Nullable<number>;\r\n\r\n /**\r\n * Creates a new MultiLine\r\n * @param name defines the control name\r\n */\r\n constructor(public name?: string) {\r\n super(name);\r\n\r\n this._automaticSize = true;\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 this._dash = [];\r\n this._points = [];\r\n }\r\n\r\n /** Gets or sets 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 /**\r\n * Gets point stored at specified index\r\n * @param index defines the index to look for\r\n * @returns the requested point if found\r\n */\r\n public getAt(index: number): MultiLinePoint {\r\n if (!this._points[index]) {\r\n this._points[index] = new MultiLinePoint(this);\r\n }\r\n\r\n return this._points[index] as MultiLinePoint;\r\n }\r\n\r\n /** Function called when a point is updated */\r\n public onPointUpdate = (): void => {\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Adds new points to the point collection\r\n * @param items defines the list of items (mesh, control or 2d coordiantes) to add\r\n * @returns the list of created MultiLinePoint\r\n */\r\n public add(...items: (AbstractMesh | Control | { x: string | number, y: string | number })[]): MultiLinePoint[] {\r\n return items.map((item) => this.push(item));\r\n }\r\n\r\n /**\r\n * Adds a new point to the point collection\r\n * @param item defines the item (mesh, control or 2d coordiantes) to add\r\n * @returns the created MultiLinePoint\r\n */\r\n public push(item?: (AbstractMesh | Control | { x: string | number, y: string | number })): MultiLinePoint {\r\n var point: MultiLinePoint = this.getAt(this._points.length);\r\n\r\n if (item == null) { return point; }\r\n\r\n if (item instanceof AbstractMesh) {\r\n point.mesh = item;\r\n }\r\n else if (item instanceof Control) {\r\n point.control = item;\r\n }\r\n else if (item.x != null && item.y != null) {\r\n point.x = item.x;\r\n point.y = item.y;\r\n }\r\n\r\n return point;\r\n }\r\n\r\n /**\r\n * Remove a specific value or point from the active point collection\r\n * @param value defines the value or point to remove\r\n */\r\n public remove(value: number | MultiLinePoint): void {\r\n var index: number;\r\n\r\n if (value instanceof MultiLinePoint) {\r\n index = this._points.indexOf(value);\r\n\r\n if (index === -1) {\r\n return;\r\n }\r\n }\r\n else {\r\n index = value;\r\n }\r\n\r\n var point: Nullable<MultiLinePoint> = this._points[index];\r\n\r\n if (!point) {\r\n return;\r\n }\r\n\r\n point.dispose();\r\n\r\n this._points.splice(index, 1);\r\n }\r\n\r\n /**\r\n * Resets this object to initial state (no point)\r\n */\r\n public reset(): void {\r\n while (this._points.length > 0) {\r\n this.remove(this._points.length - 1);\r\n }\r\n }\r\n\r\n /**\r\n * Resets all links\r\n */\r\n public resetLinks(): void {\r\n this._points.forEach((point) => {\r\n if (point != null) { point.resetLinks(); }\r\n });\r\n }\r\n\r\n /** Gets or sets line width */\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 public set horizontalAlignment(value: number) {\r\n return;\r\n }\r\n\r\n public set verticalAlignment(value: number) {\r\n return;\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"MultiLine\";\r\n }\r\n\r\n public _draw(context: ICanvasRenderingContext, invalidatedRectangle?: Nullable<Measure>): void {\r\n context.save();\r\n\r\n if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {\r\n context.shadowColor = this.shadowColor;\r\n context.shadowBlur = this.shadowBlur;\r\n context.shadowOffsetX = this.shadowOffsetX;\r\n context.shadowOffsetY = this.shadowOffsetY;\r\n }\r\n\r\n this._applyStates(context);\r\n\r\n context.strokeStyle = this.color;\r\n context.lineWidth = this._lineWidth;\r\n context.setLineDash(this._dash);\r\n\r\n context.beginPath();\r\n\r\n var first: boolean = true; //first index is not necessarily 0\r\n var previousPoint: Vector3;\r\n\r\n this._points.forEach((point) => {\r\n if (!point) {\r\n return;\r\n }\r\n\r\n if (first) {\r\n context.moveTo(point._point.x, point._point.y);\r\n\r\n first = false;\r\n }\r\n else {\r\n if (point._point.z < 1 && previousPoint.z < 1) {\r\n context.lineTo(point._point.x, point._point.y);\r\n } else {\r\n context.moveTo(point._point.x, point._point.y);\r\n }\r\n }\r\n previousPoint = point._point;\r\n });\r\n\r\n context.stroke();\r\n\r\n context.restore();\r\n }\r\n\r\n protected _additionalProcessing(parentMeasure: Measure, context: ICanvasRenderingContext): void {\r\n this._minX = null;\r\n this._minY = null;\r\n this._maxX = null;\r\n this._maxY = null;\r\n\r\n this._points.forEach((point, index) => {\r\n if (!point) {\r\n return;\r\n }\r\n\r\n point.translate();\r\n\r\n if (this._minX == null || point._point.x < this._minX) { this._minX = point._point.x; }\r\n if (this._minY == null || point._point.y < this._minY) { this._minY = point._point.y; }\r\n if (this._maxX == null || point._point.x > this._maxX) { this._maxX = point._point.x; }\r\n if (this._maxY == null || point._point.y > this._maxY) { this._maxY = point._point.y; }\r\n });\r\n\r\n if (this._minX == null) { this._minX = 0; }\r\n if (this._minY == null) { this._minY = 0; }\r\n if (this._maxX == null) { this._maxX = 0; }\r\n if (this._maxY == null) { this._maxY = 0; }\r\n }\r\n\r\n public _measure(): void {\r\n if (this._minX == null || this._maxX == null || this._minY == null || this._maxY == null) {\r\n return;\r\n }\r\n\r\n this._currentMeasure.width = Math.abs(this._maxX - this._minX) + this._lineWidth;\r\n this._currentMeasure.height = Math.abs(this._maxY - this._minY) + this._lineWidth;\r\n }\r\n\r\n protected _computeAlignment(parentMeasure: Measure, context: ICanvasRenderingContext): void {\r\n if (this._minX == null || this._minY == null) {\r\n return;\r\n }\r\n\r\n this._currentMeasure.left = this._minX - this._lineWidth / 2;\r\n this._currentMeasure.top = this._minY - this._lineWidth / 2;\r\n }\r\n\r\n public dispose(): void {\r\n this.reset();\r\n\r\n super.dispose();\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.MultiLine\", MultiLine);\r\n"]}
1
+ {"version":3,"file":"multiLine.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/2D/controls/multiLine.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,+CAAiC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,0CAA4B;AAEpD,OAAO,EAAE,SAAS,EAAE,2CAA6B;AAGjD;;GAEG;AACH;IAA+B,6BAAO;IAUlC;;;OAGG;IACH,mBAAmB,IAAa;QAAhC,YACI,kBAAM,IAAI,CAAC,SASd;QAVkB,UAAI,GAAJ,IAAI,CAAS;QAbxB,gBAAU,GAAW,CAAC,CAAC;QAqD/B,8CAA8C;QACvC,mBAAa,GAAG;YACnB,KAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC,CAAC;QAxCE,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,KAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,yBAAyB,CAAC;QAC9D,KAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,CAAC;QAEzD,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,KAAI,CAAC,OAAO,GAAG,EAAE,CAAC;;IACtB,CAAC;IAID,sBAAW,2BAAI;QAFf,gCAAgC;aAEhC;YACI,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;aAED,UAAgB,KAAoB;YAChC,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;gBACtB,OAAO;aACV;YAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC;;;OATA;IAWD;;;;OAIG;IACI,yBAAK,GAAZ,UAAa,KAAa;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACtB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;SAClD;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAmB,CAAC;IACjD,CAAC;IAOD;;;;OAIG;IACI,uBAAG,GAAV;QAAA,iBAEC;QAFU,eAAiF;aAAjF,UAAiF,EAAjF,qBAAiF,EAAjF,IAAiF;YAAjF,0BAAiF;;QACxF,OAAO,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAf,CAAe,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACI,wBAAI,GAAX,UAAY,IAA0E;QAClF,IAAM,KAAK,GAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE9D,IAAI,IAAI,IAAI,IAAI,EAAE;YACd,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,IAAI,YAAY,YAAY,EAAE;YAC9B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;SACrB;aAAM,IAAI,IAAI,YAAY,OAAO,EAAE;YAChC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;SACxB;aAAM,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE;YACzC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACjB,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;SACpB;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,0BAAM,GAAb,UAAc,KAA8B;QACxC,IAAI,KAAa,CAAC;QAElB,IAAI,KAAK,YAAY,cAAc,EAAE;YACjC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEpC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBACd,OAAO;aACV;SACJ;aAAM;YACH,KAAK,GAAG,KAAK,CAAC;SACjB;QAED,IAAM,KAAK,GAA6B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE5D,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;SACV;QAED,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,yBAAK,GAAZ;QACI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACxC;IACL,CAAC;IAED;;OAEG;IACI,8BAAU,GAAjB;QACI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,KAAK;YACvB,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,KAAK,CAAC,UAAU,EAAE,CAAC;aACtB;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAGD,sBAAW,gCAAS;QADpB,8BAA8B;aAC9B;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,YAAY,EAAE,CAAC;QACxB,CAAC;;;OATA;IAWD,sBAAW,0CAAmB;aAA9B,UAA+B,KAAa;YACxC,OAAO;QACX,CAAC;;;OAAA;IAED,sBAAW,wCAAiB;aAA5B,UAA6B,KAAa;YACtC,OAAO;QACX,CAAC;;;OAAA;IAES,gCAAY,GAAtB;QACI,OAAO,WAAW,CAAC;IACvB,CAAC;IAEM,yBAAK,GAAZ,UAAa,OAAgC;QACzC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEf,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7D,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,CAAC;YAC3C,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;SAC9C;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE3B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhC,OAAO,CAAC,SAAS,EAAE,CAAC;QAEpB,IAAI,KAAK,GAAY,IAAI,CAAC,CAAC,kCAAkC;QAC7D,IAAI,aAAsB,CAAC;QAE3B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,KAAK;YACvB,IAAI,CAAC,KAAK,EAAE;gBACR,OAAO;aACV;YAED,IAAI,KAAK,EAAE;gBACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAE/C,KAAK,GAAG,KAAK,CAAC;aACjB;iBAAM;gBACH,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE;oBAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAClD;qBAAM;oBACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAClD;aACJ;YACD,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAES,yCAAqB,GAA/B;QAAA,iBAuCC;QAtCG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,KAAK;YACvB,IAAI,CAAC,KAAK,EAAE;gBACR,OAAO;aACV;YAED,KAAK,CAAC,SAAS,EAAE,CAAC;YAElB,IAAI,KAAI,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAI,CAAC,KAAK,EAAE;gBACnD,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aAC/B;YACD,IAAI,KAAI,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAI,CAAC,KAAK,EAAE;gBACnD,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aAC/B;YACD,IAAI,KAAI,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAI,CAAC,KAAK,EAAE;gBACnD,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aAC/B;YACD,IAAI,KAAI,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAI,CAAC,KAAK,EAAE;gBACnD,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aAC/B;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YACpB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAClB;QACD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YACpB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAClB;QACD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YACpB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAClB;QACD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YACpB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAClB;IACL,CAAC;IAEM,4BAAQ,GAAf;QACI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YACtF,OAAO;SACV;QAED,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACjF,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;IACtF,CAAC;IAES,qCAAiB,GAA3B;QACI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YAC1C,OAAO;SACV;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IAChE,CAAC;IAEM,2BAAO,GAAd;QACI,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,iBAAM,OAAO,WAAE,CAAC;IACpB,CAAC;IAtPD;QADC,SAAS,EAAE;yCAGX;IAqPL,gBAAC;CAAA,AAnRD,CAA+B,OAAO,GAmRrC;SAnRY,SAAS;AAoRtB,aAAa,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC","sourcesContent":["import { Nullable } from \"core/types\";\r\nimport { AbstractMesh } from \"core/Meshes/abstractMesh\";\r\n\r\nimport { Control } from \"./control\";\r\nimport { MultiLinePoint } from \"../multiLinePoint\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { Vector3 } from \"core/Maths/math.vector\";\r\nimport { serialize } from \"core/Misc/decorators\";\r\nimport { ICanvasRenderingContext } from \"core/Engines/ICanvas\";\r\n\r\n/**\r\n * Class used to create multi line control\r\n */\r\nexport class MultiLine extends Control {\r\n private _lineWidth: number = 1;\r\n private _dash: number[];\r\n private _points: Nullable<MultiLinePoint>[];\r\n\r\n private _minX: Nullable<number>;\r\n private _minY: Nullable<number>;\r\n private _maxX: Nullable<number>;\r\n private _maxY: Nullable<number>;\r\n\r\n /**\r\n * Creates a new MultiLine\r\n * @param name defines the control name\r\n */\r\n constructor(public name?: string) {\r\n super(name);\r\n\r\n this._automaticSize = true;\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 this._dash = [];\r\n this._points = [];\r\n }\r\n\r\n /** Gets or sets 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 /**\r\n * Gets point stored at specified index\r\n * @param index defines the index to look for\r\n * @returns the requested point if found\r\n */\r\n public getAt(index: number): MultiLinePoint {\r\n if (!this._points[index]) {\r\n this._points[index] = new MultiLinePoint(this);\r\n }\r\n\r\n return this._points[index] as MultiLinePoint;\r\n }\r\n\r\n /** Function called when a point is updated */\r\n public onPointUpdate = (): void => {\r\n this._markAsDirty();\r\n };\r\n\r\n /**\r\n * Adds new points to the point collection\r\n * @param items defines the list of items (mesh, control or 2d coordinates) to add\r\n * @returns the list of created MultiLinePoint\r\n */\r\n public add(...items: (AbstractMesh | Control | { x: string | number; y: string | number })[]): MultiLinePoint[] {\r\n return items.map((item) => this.push(item));\r\n }\r\n\r\n /**\r\n * Adds a new point to the point collection\r\n * @param item defines the item (mesh, control or 2d coordinates) to add\r\n * @returns the created MultiLinePoint\r\n */\r\n public push(item?: AbstractMesh | Control | { x: string | number; y: string | number }): MultiLinePoint {\r\n const point: MultiLinePoint = this.getAt(this._points.length);\r\n\r\n if (item == null) {\r\n return point;\r\n }\r\n\r\n if (item instanceof AbstractMesh) {\r\n point.mesh = item;\r\n } else if (item instanceof Control) {\r\n point.control = item;\r\n } else if (item.x != null && item.y != null) {\r\n point.x = item.x;\r\n point.y = item.y;\r\n }\r\n\r\n return point;\r\n }\r\n\r\n /**\r\n * Remove a specific value or point from the active point collection\r\n * @param value defines the value or point to remove\r\n */\r\n public remove(value: number | MultiLinePoint): void {\r\n let index: number;\r\n\r\n if (value instanceof MultiLinePoint) {\r\n index = this._points.indexOf(value);\r\n\r\n if (index === -1) {\r\n return;\r\n }\r\n } else {\r\n index = value;\r\n }\r\n\r\n const point: Nullable<MultiLinePoint> = this._points[index];\r\n\r\n if (!point) {\r\n return;\r\n }\r\n\r\n point.dispose();\r\n\r\n this._points.splice(index, 1);\r\n }\r\n\r\n /**\r\n * Resets this object to initial state (no point)\r\n */\r\n public reset(): void {\r\n while (this._points.length > 0) {\r\n this.remove(this._points.length - 1);\r\n }\r\n }\r\n\r\n /**\r\n * Resets all links\r\n */\r\n public resetLinks(): void {\r\n this._points.forEach((point) => {\r\n if (point != null) {\r\n point.resetLinks();\r\n }\r\n });\r\n }\r\n\r\n /** Gets or sets line width */\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 public set horizontalAlignment(value: number) {\r\n return;\r\n }\r\n\r\n public set verticalAlignment(value: number) {\r\n return;\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"MultiLine\";\r\n }\r\n\r\n public _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;\r\n context.shadowOffsetY = this.shadowOffsetY;\r\n }\r\n\r\n this._applyStates(context);\r\n\r\n context.strokeStyle = this.color;\r\n context.lineWidth = this._lineWidth;\r\n context.setLineDash(this._dash);\r\n\r\n context.beginPath();\r\n\r\n let first: boolean = true; //first index is not necessarily 0\r\n let previousPoint: Vector3;\r\n\r\n this._points.forEach((point) => {\r\n if (!point) {\r\n return;\r\n }\r\n\r\n if (first) {\r\n context.moveTo(point._point.x, point._point.y);\r\n\r\n first = false;\r\n } else {\r\n if (point._point.z < 1 && previousPoint.z < 1) {\r\n context.lineTo(point._point.x, point._point.y);\r\n } else {\r\n context.moveTo(point._point.x, point._point.y);\r\n }\r\n }\r\n previousPoint = point._point;\r\n });\r\n\r\n context.stroke();\r\n\r\n context.restore();\r\n }\r\n\r\n protected _additionalProcessing(): void {\r\n this._minX = null;\r\n this._minY = null;\r\n this._maxX = null;\r\n this._maxY = null;\r\n\r\n this._points.forEach((point) => {\r\n if (!point) {\r\n return;\r\n }\r\n\r\n point.translate();\r\n\r\n if (this._minX == null || point._point.x < this._minX) {\r\n this._minX = point._point.x;\r\n }\r\n if (this._minY == null || point._point.y < this._minY) {\r\n this._minY = point._point.y;\r\n }\r\n if (this._maxX == null || point._point.x > this._maxX) {\r\n this._maxX = point._point.x;\r\n }\r\n if (this._maxY == null || point._point.y > this._maxY) {\r\n this._maxY = point._point.y;\r\n }\r\n });\r\n\r\n if (this._minX == null) {\r\n this._minX = 0;\r\n }\r\n if (this._minY == null) {\r\n this._minY = 0;\r\n }\r\n if (this._maxX == null) {\r\n this._maxX = 0;\r\n }\r\n if (this._maxY == null) {\r\n this._maxY = 0;\r\n }\r\n }\r\n\r\n public _measure(): void {\r\n if (this._minX == null || this._maxX == null || this._minY == null || this._maxY == null) {\r\n return;\r\n }\r\n\r\n this._currentMeasure.width = Math.abs(this._maxX - this._minX) + this._lineWidth;\r\n this._currentMeasure.height = Math.abs(this._maxY - this._minY) + this._lineWidth;\r\n }\r\n\r\n protected _computeAlignment(): void {\r\n if (this._minX == null || this._minY == null) {\r\n return;\r\n }\r\n\r\n this._currentMeasure.left = this._minX - this._lineWidth / 2;\r\n this._currentMeasure.top = this._minY - this._lineWidth / 2;\r\n }\r\n\r\n public dispose(): void {\r\n this.reset();\r\n\r\n super.dispose();\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.MultiLine\", MultiLine);\r\n"]}
@@ -1,9 +1,9 @@
1
- import { Observable } from "@babylonjs/core/Misc/observable";
2
- import { Vector2 } from "@babylonjs/core/Maths/math.vector";
1
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
2
+ import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
3
3
  import { Control } from "./control";
4
4
  import { StackPanel } from "./stackPanel";
5
- import { PointerInfoBase } from '@babylonjs/core/Events/pointerEvents';
6
- import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas";
5
+ import { PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
6
+ import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
7
7
  /**
8
8
  * Class used to create radio button controls
9
9
  */
@@ -3,8 +3,8 @@ import { Observable } from "@babylonjs/core/Misc/observable.js";
3
3
  import { Control } from "./control.js";
4
4
  import { StackPanel } from "./stackPanel.js";
5
5
  import { TextBlock } from "./textBlock.js";
6
- import { RegisterClass } from '@babylonjs/core/Misc/typeStore.js';
7
- import { serialize } from '@babylonjs/core/Misc/decorators.js';
6
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
7
+ import { serialize } from "@babylonjs/core/Misc/decorators.js";
8
8
  /**
9
9
  * Class used to create radio button controls
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"radioButton.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/2D/controls/radioButton.ts"],"names":[],"mappings":"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","sourcesContent":["import { Observable } from \"@babylonjs/core/Misc/observable\";\r\nimport { Vector2 } from \"@babylonjs/core/Maths/math.vector\";\r\n\r\nimport { Control } from \"./control\";\r\nimport { StackPanel } from \"./stackPanel\";\r\nimport { TextBlock } from \"./textBlock\";\r\nimport { RegisterClass } from '@babylonjs/core/Misc/typeStore';\r\nimport { PointerInfoBase } from '@babylonjs/core/Events/pointerEvents';\r\nimport { serialize } from '@babylonjs/core/Misc/decorators';\r\nimport { ICanvasRenderingContext } from \"@babylonjs/core/Engines/ICanvas\";\r\n\r\n/**\r\n * Class used to create radio button controls\r\n */\r\nexport class RadioButton extends Control {\r\n private _isChecked = false;\r\n private _background = \"black\";\r\n private _checkSizeRatio = 0.8;\r\n private _thickness = 1;\r\n\r\n /** Gets or sets border thickness */\r\n @serialize()\r\n public get thickness(): number {\r\n return this._thickness;\r\n }\r\n\r\n public set thickness(value: number) {\r\n if (this._thickness === value) {\r\n return;\r\n }\r\n\r\n this._thickness = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets group name */\r\n @serialize()\r\n public group = \"\";\r\n\r\n /** Observable raised when isChecked is changed */\r\n public onIsCheckedChangedObservable = new Observable<boolean>();\r\n\r\n /** Gets or sets a value indicating the ratio between overall size and check size */\r\n @serialize()\r\n public get checkSizeRatio(): number {\r\n return this._checkSizeRatio;\r\n }\r\n\r\n public set checkSizeRatio(value: number) {\r\n value = Math.max(Math.min(1, value), 0);\r\n\r\n if (this._checkSizeRatio === value) {\r\n return;\r\n }\r\n\r\n this._checkSizeRatio = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets background color */\r\n @serialize()\r\n public get background(): string {\r\n return this._background;\r\n }\r\n\r\n public set background(value: string) {\r\n if (this._background === value) {\r\n return;\r\n }\r\n\r\n this._background = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets a boolean indicating if the checkbox is checked or not */\r\n @serialize()\r\n public get isChecked(): boolean {\r\n return this._isChecked;\r\n }\r\n\r\n public set isChecked(value: boolean) {\r\n if (this._isChecked === value) {\r\n return;\r\n }\r\n\r\n this._isChecked = value;\r\n this._markAsDirty();\r\n\r\n this.onIsCheckedChangedObservable.notifyObservers(value);\r\n\r\n if (this._isChecked && this._host) {\r\n // Update all controls from same group\r\n this._host.executeOnAllControls((control) => {\r\n if (control === this) {\r\n return;\r\n }\r\n\r\n if ((<any>control).group === undefined) {\r\n return;\r\n }\r\n var childRadio = (<RadioButton>control);\r\n if (childRadio.group === this.group) {\r\n childRadio.isChecked = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Creates a new RadioButton\r\n * @param name defines the control name\r\n */\r\n constructor(public name?: string) {\r\n super(name);\r\n\r\n this.isPointerBlocker = true;\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"RadioButton\";\r\n }\r\n\r\n public _draw(context: ICanvasRenderingContext): void {\r\n context.save();\r\n\r\n this._applyStates(context);\r\n let actualWidth = this._currentMeasure.width - this._thickness;\r\n let actualHeight = this._currentMeasure.height - this._thickness;\r\n\r\n if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {\r\n context.shadowColor = this.shadowColor;\r\n context.shadowBlur = this.shadowBlur;\r\n context.shadowOffsetX = this.shadowOffsetX;\r\n context.shadowOffsetY = this.shadowOffsetY;\r\n }\r\n\r\n // Outer\r\n Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2,\r\n this._currentMeasure.width / 2 - this._thickness / 2, this._currentMeasure.height / 2 - this._thickness / 2, context);\r\n\r\n context.fillStyle = this._isEnabled ? this._background : this._disabledColor;\r\n context.fill();\r\n\r\n if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {\r\n context.shadowBlur = 0;\r\n context.shadowOffsetX = 0;\r\n context.shadowOffsetY = 0;\r\n }\r\n\r\n context.strokeStyle = this.color;\r\n context.lineWidth = this._thickness;\r\n\r\n context.stroke();\r\n\r\n // Inner\r\n if (this._isChecked) {\r\n context.fillStyle = this._isEnabled ? this.color : this._disabledColor;\r\n let offsetWidth = actualWidth * this._checkSizeRatio;\r\n let offseHeight = actualHeight * this._checkSizeRatio;\r\n\r\n Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2,\r\n offsetWidth / 2 - this._thickness / 2, offseHeight / 2 - this._thickness / 2, context);\r\n\r\n context.fill();\r\n }\r\n context.restore();\r\n }\r\n\r\n // Events\r\n public _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean {\r\n if (!super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi)) {\r\n return false;\r\n }\r\n\r\n if (this.isReadOnly) {\r\n return true;\r\n }\r\n\r\n if (!this.isChecked) {\r\n this.isChecked = true;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Utility function to easily create a radio button with a header\r\n * @param title defines the label to use for the header\r\n * @param group defines the group to use for the radio button\r\n * @param isChecked defines the initial state of the radio button\r\n * @param onValueChanged defines the callback to call when value changes\r\n * @returns a StackPanel containing the radio button and a textBlock\r\n */\r\n public static AddRadioButtonWithHeader(title: string, group: string, isChecked: boolean, onValueChanged: (button: RadioButton, value: boolean) => void): StackPanel {\r\n var panel = new StackPanel();\r\n panel.isVertical = false;\r\n panel.height = \"30px\";\r\n\r\n var radio = new RadioButton();\r\n radio.width = \"20px\";\r\n radio.height = \"20px\";\r\n radio.isChecked = isChecked;\r\n radio.color = \"green\";\r\n radio.group = group;\r\n radio.onIsCheckedChangedObservable.add((value) => onValueChanged(radio, value));\r\n panel.addControl(radio);\r\n\r\n var header = new TextBlock();\r\n header.text = title;\r\n header.width = \"180px\";\r\n header.paddingLeft = \"5px\";\r\n header.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n header.color = \"white\";\r\n panel.addControl(header);\r\n\r\n return panel;\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.RadioButton\", RadioButton);"]}
1
+ {"version":3,"file":"radioButton.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/2D/controls/radioButton.ts"],"names":[],"mappings":"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","sourcesContent":["import { Observable } from \"core/Misc/observable\";\r\nimport { Vector2 } from \"core/Maths/math.vector\";\r\n\r\nimport { Control } from \"./control\";\r\nimport { StackPanel } from \"./stackPanel\";\r\nimport { TextBlock } from \"./textBlock\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { PointerInfoBase } from \"core/Events/pointerEvents\";\r\nimport { serialize } from \"core/Misc/decorators\";\r\nimport { ICanvasRenderingContext } from \"core/Engines/ICanvas\";\r\n\r\n/**\r\n * Class used to create radio button controls\r\n */\r\nexport class RadioButton extends Control {\r\n private _isChecked = false;\r\n private _background = \"black\";\r\n private _checkSizeRatio = 0.8;\r\n private _thickness = 1;\r\n\r\n /** Gets or sets border thickness */\r\n @serialize()\r\n public get thickness(): number {\r\n return this._thickness;\r\n }\r\n\r\n public set thickness(value: number) {\r\n if (this._thickness === value) {\r\n return;\r\n }\r\n\r\n this._thickness = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets group name */\r\n @serialize()\r\n public group = \"\";\r\n\r\n /** Observable raised when isChecked is changed */\r\n public onIsCheckedChangedObservable = new Observable<boolean>();\r\n\r\n /** Gets or sets a value indicating the ratio between overall size and check size */\r\n @serialize()\r\n public get checkSizeRatio(): number {\r\n return this._checkSizeRatio;\r\n }\r\n\r\n public set checkSizeRatio(value: number) {\r\n value = Math.max(Math.min(1, value), 0);\r\n\r\n if (this._checkSizeRatio === value) {\r\n return;\r\n }\r\n\r\n this._checkSizeRatio = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets background color */\r\n @serialize()\r\n public get background(): string {\r\n return this._background;\r\n }\r\n\r\n public set background(value: string) {\r\n if (this._background === value) {\r\n return;\r\n }\r\n\r\n this._background = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets a boolean indicating if the checkbox is checked or not */\r\n @serialize()\r\n public get isChecked(): boolean {\r\n return this._isChecked;\r\n }\r\n\r\n public set isChecked(value: boolean) {\r\n if (this._isChecked === value) {\r\n return;\r\n }\r\n\r\n this._isChecked = value;\r\n this._markAsDirty();\r\n\r\n this.onIsCheckedChangedObservable.notifyObservers(value);\r\n\r\n if (this._isChecked && this._host) {\r\n // Update all controls from same group\r\n this._host.executeOnAllControls((control) => {\r\n if (control === this) {\r\n return;\r\n }\r\n\r\n if ((<any>control).group === undefined) {\r\n return;\r\n }\r\n const childRadio = <RadioButton>control;\r\n if (childRadio.group === this.group) {\r\n childRadio.isChecked = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Creates a new RadioButton\r\n * @param name defines the control name\r\n */\r\n constructor(public name?: string) {\r\n super(name);\r\n\r\n this.isPointerBlocker = true;\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"RadioButton\";\r\n }\r\n\r\n public _draw(context: ICanvasRenderingContext): void {\r\n context.save();\r\n\r\n this._applyStates(context);\r\n const actualWidth = this._currentMeasure.width - this._thickness;\r\n const actualHeight = this._currentMeasure.height - this._thickness;\r\n\r\n if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {\r\n context.shadowColor = this.shadowColor;\r\n context.shadowBlur = this.shadowBlur;\r\n context.shadowOffsetX = this.shadowOffsetX;\r\n context.shadowOffsetY = this.shadowOffsetY;\r\n }\r\n\r\n // Outer\r\n Control.drawEllipse(\r\n this._currentMeasure.left + this._currentMeasure.width / 2,\r\n this._currentMeasure.top + this._currentMeasure.height / 2,\r\n this._currentMeasure.width / 2 - this._thickness / 2,\r\n this._currentMeasure.height / 2 - this._thickness / 2,\r\n context\r\n );\r\n\r\n context.fillStyle = this._isEnabled ? this._background : this._disabledColor;\r\n context.fill();\r\n\r\n if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {\r\n context.shadowBlur = 0;\r\n context.shadowOffsetX = 0;\r\n context.shadowOffsetY = 0;\r\n }\r\n\r\n context.strokeStyle = this.color;\r\n context.lineWidth = this._thickness;\r\n\r\n context.stroke();\r\n\r\n // Inner\r\n if (this._isChecked) {\r\n context.fillStyle = this._isEnabled ? this.color : this._disabledColor;\r\n const offsetWidth = actualWidth * this._checkSizeRatio;\r\n const offseHeight = actualHeight * this._checkSizeRatio;\r\n\r\n Control.drawEllipse(\r\n this._currentMeasure.left + this._currentMeasure.width / 2,\r\n this._currentMeasure.top + this._currentMeasure.height / 2,\r\n offsetWidth / 2 - this._thickness / 2,\r\n offseHeight / 2 - this._thickness / 2,\r\n context\r\n );\r\n\r\n context.fill();\r\n }\r\n context.restore();\r\n }\r\n\r\n // Events\r\n public _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean {\r\n if (!super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi)) {\r\n return false;\r\n }\r\n\r\n if (this.isReadOnly) {\r\n return true;\r\n }\r\n\r\n if (!this.isChecked) {\r\n this.isChecked = true;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Utility function to easily create a radio button with a header\r\n * @param title defines the label to use for the header\r\n * @param group defines the group to use for the radio button\r\n * @param isChecked defines the initial state of the radio button\r\n * @param onValueChanged defines the callback to call when value changes\r\n * @returns a StackPanel containing the radio button and a textBlock\r\n */\r\n public static AddRadioButtonWithHeader(title: string, group: string, isChecked: boolean, onValueChanged: (button: RadioButton, value: boolean) => void): StackPanel {\r\n const panel = new StackPanel();\r\n panel.isVertical = false;\r\n panel.height = \"30px\";\r\n\r\n const radio = new RadioButton();\r\n radio.width = \"20px\";\r\n radio.height = \"20px\";\r\n radio.isChecked = isChecked;\r\n radio.color = \"green\";\r\n radio.group = group;\r\n radio.onIsCheckedChangedObservable.add((value) => onValueChanged(radio, value));\r\n panel.addControl(radio);\r\n\r\n const header = new TextBlock();\r\n header.text = title;\r\n header.width = \"180px\";\r\n header.paddingLeft = \"5px\";\r\n header.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n header.color = \"white\";\r\n panel.addControl(header);\r\n\r\n return panel;\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.RadioButton\", RadioButton);\r\n"]}
@@ -1,6 +1,6 @@
1
1
  import { Container } from "./container";
2
2
  import { Measure } from "../measure";
3
- import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas";
3
+ import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
4
4
  /** Class used to create rectangle container */
5
5
  export declare class Rectangle extends Container {
6
6
  name?: string | undefined;
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __extends } from "tslib";
2
2
  import { Container } from "./container.js";
3
- import { RegisterClass } from '@babylonjs/core/Misc/typeStore.js';
4
- import { serialize } from '@babylonjs/core/Misc/decorators.js';
3
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
4
+ import { serialize } from "@babylonjs/core/Misc/decorators.js";
5
5
  /** Class used to create rectangle container */
6
6
  var Rectangle = /** @class */ (function (_super) {
7
7
  __extends(Rectangle, _super);
@@ -1 +1 @@
1
- {"version":3,"file":"rectangle.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/2D/controls/rectangle.ts"],"names":[],"mappings":"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","sourcesContent":["import { Container } from \"./container\";\r\nimport { Measure } from \"../measure\";\r\nimport { RegisterClass } from '@babylonjs/core/Misc/typeStore';\r\nimport { serialize } from '@babylonjs/core/Misc/decorators';\r\nimport { ICanvasRenderingContext } from \"@babylonjs/core/Engines/ICanvas\";\r\n\r\n/** Class used to create rectangle container */\r\nexport class Rectangle extends Container {\r\n private _thickness = 1;\r\n private _cornerRadius = 0;\r\n\r\n /** Gets or sets border thickness */\r\n @serialize()\r\n public get thickness(): number {\r\n return this._thickness;\r\n }\r\n\r\n public set thickness(value: number) {\r\n if (this._thickness === value) {\r\n return;\r\n }\r\n\r\n this._thickness = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the corner radius angle */\r\n @serialize()\r\n public get cornerRadius(): number {\r\n return this._cornerRadius;\r\n }\r\n\r\n public set cornerRadius(value: number) {\r\n if (value < 0) {\r\n value = 0;\r\n }\r\n\r\n if (this._cornerRadius === value) {\r\n return;\r\n }\r\n\r\n this._cornerRadius = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Creates a new Rectangle\r\n * @param name defines the control name\r\n */\r\n constructor(public name?: string) {\r\n super(name);\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"Rectangle\";\r\n }\r\n\r\n /** @hidden */\r\n protected _computeAdditionnalOffsetX() {\r\n if (this._cornerRadius) {\r\n // Take in account the aliasing\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n /** @hidden */\r\n protected _computeAdditionnalOffsetY() {\r\n if (this._cornerRadius) {\r\n // Take in account the aliasing\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n protected _localDraw(context: ICanvasRenderingContext): void {\r\n context.save();\r\n\r\n if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {\r\n context.shadowColor = this.shadowColor;\r\n context.shadowBlur = this.shadowBlur;\r\n context.shadowOffsetX = this.shadowOffsetX;\r\n context.shadowOffsetY = this.shadowOffsetY;\r\n }\r\n\r\n if (this._background) {\r\n context.fillStyle = this.typeName === \"Button\" ? (this.isEnabled ? this._background : this.disabledColor) : this._background;\r\n\r\n if (this._cornerRadius) {\r\n this._drawRoundedRect(context, this._thickness / 2);\r\n context.fill();\r\n } else {\r\n context.fillRect(this._currentMeasure.left, this._currentMeasure.top, this._currentMeasure.width, this._currentMeasure.height);\r\n }\r\n }\r\n\r\n if (this._thickness) {\r\n\r\n if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {\r\n context.shadowBlur = 0;\r\n context.shadowOffsetX = 0;\r\n context.shadowOffsetY = 0;\r\n }\r\n\r\n if (this.color) {\r\n context.strokeStyle = this.color;\r\n }\r\n context.lineWidth = this._thickness;\r\n\r\n if (this._cornerRadius) {\r\n this._drawRoundedRect(context, this._thickness / 2);\r\n context.stroke();\r\n } else {\r\n context.strokeRect(this._currentMeasure.left + this._thickness / 2, this._currentMeasure.top + this._thickness / 2,\r\n this._currentMeasure.width - this._thickness, this._currentMeasure.height - this._thickness);\r\n }\r\n }\r\n\r\n context.restore();\r\n }\r\n\r\n protected _additionalProcessing(parentMeasure: Measure, context: ICanvasRenderingContext): void {\r\n super._additionalProcessing(parentMeasure, context);\r\n\r\n this._measureForChildren.width -= 2 * this._thickness;\r\n this._measureForChildren.height -= 2 * this._thickness;\r\n this._measureForChildren.left += this._thickness;\r\n this._measureForChildren.top += this._thickness;\r\n }\r\n\r\n private _drawRoundedRect(context: ICanvasRenderingContext, offset: number = 0): void {\r\n var x = this._currentMeasure.left + offset;\r\n var y = this._currentMeasure.top + offset;\r\n var width = this._currentMeasure.width - offset * 2;\r\n var height = this._currentMeasure.height - offset * 2;\r\n\r\n var radius = Math.min(height / 2 - 2, Math.min(width / 2 - 2, this._cornerRadius));\r\n\r\n context.beginPath();\r\n context.moveTo(x + radius, y);\r\n context.lineTo(x + width - radius, y);\r\n context.quadraticCurveTo(x + width, y, x + width, y + radius);\r\n context.lineTo(x + width, y + height - radius);\r\n context.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\r\n context.lineTo(x + radius, y + height);\r\n context.quadraticCurveTo(x, y + height, x, y + height - radius);\r\n context.lineTo(x, y + radius);\r\n context.quadraticCurveTo(x, y, x + radius, y);\r\n context.closePath();\r\n }\r\n\r\n protected _clipForChildren(context: ICanvasRenderingContext) {\r\n if (this._cornerRadius) {\r\n this._drawRoundedRect(context, this._thickness);\r\n context.clip();\r\n }\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.Rectangle\", Rectangle);"]}
1
+ {"version":3,"file":"rectangle.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/2D/controls/rectangle.ts"],"names":[],"mappings":"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","sourcesContent":["import { Container } from \"./container\";\r\nimport { Measure } from \"../measure\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { serialize } from \"core/Misc/decorators\";\r\nimport { ICanvasRenderingContext } from \"core/Engines/ICanvas\";\r\n\r\n/** Class used to create rectangle container */\r\nexport class Rectangle extends Container {\r\n private _thickness = 1;\r\n private _cornerRadius = 0;\r\n\r\n /** Gets or sets border thickness */\r\n @serialize()\r\n public get thickness(): number {\r\n return this._thickness;\r\n }\r\n\r\n public set thickness(value: number) {\r\n if (this._thickness === value) {\r\n return;\r\n }\r\n\r\n this._thickness = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets the corner radius angle */\r\n @serialize()\r\n public get cornerRadius(): number {\r\n return this._cornerRadius;\r\n }\r\n\r\n public set cornerRadius(value: number) {\r\n if (value < 0) {\r\n value = 0;\r\n }\r\n\r\n if (this._cornerRadius === value) {\r\n return;\r\n }\r\n\r\n this._cornerRadius = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Creates a new Rectangle\r\n * @param name defines the control name\r\n */\r\n constructor(public name?: string) {\r\n super(name);\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"Rectangle\";\r\n }\r\n\r\n /** @hidden */\r\n protected _computeAdditionnalOffsetX() {\r\n if (this._cornerRadius) {\r\n // Take in account the aliasing\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n /** @hidden */\r\n protected _computeAdditionnalOffsetY() {\r\n if (this._cornerRadius) {\r\n // Take in account the aliasing\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n protected _localDraw(context: ICanvasRenderingContext): void {\r\n context.save();\r\n\r\n if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {\r\n context.shadowColor = this.shadowColor;\r\n context.shadowBlur = this.shadowBlur;\r\n context.shadowOffsetX = this.shadowOffsetX;\r\n context.shadowOffsetY = this.shadowOffsetY;\r\n }\r\n\r\n if (this._background) {\r\n context.fillStyle = this.typeName === \"Button\" ? (this.isEnabled ? this._background : this.disabledColor) : this._background;\r\n\r\n if (this._cornerRadius) {\r\n this._drawRoundedRect(context, this._thickness / 2);\r\n context.fill();\r\n } else {\r\n context.fillRect(this._currentMeasure.left, this._currentMeasure.top, this._currentMeasure.width, this._currentMeasure.height);\r\n }\r\n }\r\n\r\n if (this._thickness) {\r\n if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {\r\n context.shadowBlur = 0;\r\n context.shadowOffsetX = 0;\r\n context.shadowOffsetY = 0;\r\n }\r\n\r\n if (this.color) {\r\n context.strokeStyle = this.color;\r\n }\r\n context.lineWidth = this._thickness;\r\n\r\n if (this._cornerRadius) {\r\n this._drawRoundedRect(context, this._thickness / 2);\r\n context.stroke();\r\n } else {\r\n context.strokeRect(\r\n this._currentMeasure.left + this._thickness / 2,\r\n this._currentMeasure.top + this._thickness / 2,\r\n this._currentMeasure.width - this._thickness,\r\n this._currentMeasure.height - this._thickness\r\n );\r\n }\r\n }\r\n\r\n context.restore();\r\n }\r\n\r\n protected _additionalProcessing(parentMeasure: Measure, context: ICanvasRenderingContext): void {\r\n super._additionalProcessing(parentMeasure, context);\r\n\r\n this._measureForChildren.width -= 2 * this._thickness;\r\n this._measureForChildren.height -= 2 * this._thickness;\r\n this._measureForChildren.left += this._thickness;\r\n this._measureForChildren.top += this._thickness;\r\n }\r\n\r\n private _drawRoundedRect(context: ICanvasRenderingContext, offset: number = 0): void {\r\n const x = this._currentMeasure.left + offset;\r\n const y = this._currentMeasure.top + offset;\r\n const width = this._currentMeasure.width - offset * 2;\r\n const height = this._currentMeasure.height - offset * 2;\r\n\r\n const radius = Math.min(height / 2 - 2, Math.min(width / 2 - 2, this._cornerRadius));\r\n\r\n context.beginPath();\r\n context.moveTo(x + radius, y);\r\n context.lineTo(x + width - radius, y);\r\n context.quadraticCurveTo(x + width, y, x + width, y + radius);\r\n context.lineTo(x + width, y + height - radius);\r\n context.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\r\n context.lineTo(x + radius, y + height);\r\n context.quadraticCurveTo(x, y + height, x, y + height - radius);\r\n context.lineTo(x, y + radius);\r\n context.quadraticCurveTo(x, y, x + radius, y);\r\n context.closePath();\r\n }\r\n\r\n protected _clipForChildren(context: ICanvasRenderingContext) {\r\n if (this._cornerRadius) {\r\n this._drawRoundedRect(context, this._thickness);\r\n context.clip();\r\n }\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.Rectangle\", Rectangle);\r\n"]}
@@ -1,4 +1,4 @@
1
- import { Nullable } from "@babylonjs/core/types";
1
+ import { Nullable } from "@babylonjs/core/types.js";
2
2
  import { Rectangle } from "../rectangle";
3
3
  import { Image } from "../image";
4
4
  import { Control } from "../control";
@@ -7,10 +7,10 @@ import { Measure } from "../../measure";
7
7
  import { AdvancedDynamicTexture } from "../../advancedDynamicTexture";
8
8
  import { ScrollBar } from "../sliders/scrollBar";
9
9
  import { ImageScrollBar } from "../sliders/imageScrollBar";
10
- import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas";
10
+ import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
11
11
  /**
12
12
  * Class used to hold a viewer window and sliders in a grid
13
- */
13
+ */
14
14
  export declare class ScrollViewer extends Rectangle {
15
15
  private _grid;
16
16
  private _horizontalBarSpace;
@@ -100,9 +100,10 @@ export declare class ScrollViewer extends Rectangle {
100
100
  get forceVerticalBar(): boolean;
101
101
  set forceVerticalBar(value: boolean);
102
102
  /**
103
- * Creates a new ScrollViewer
104
- * @param name of ScrollViewer
105
- */
103
+ * Creates a new ScrollViewer
104
+ * @param name of ScrollViewer
105
+ * @param isImageBased
106
+ */
106
107
  constructor(name?: string, isImageBased?: boolean);
107
108
  /** Reset the scroll viewer window to initial size */
108
109
  resetWindow(): void;
@@ -165,7 +166,13 @@ export declare class ScrollViewer extends Rectangle {
165
166
  /** @hidden */
166
167
  private _updateScroller;
167
168
  _link(host: AdvancedDynamicTexture): void;
168
- /** @hidden */
169
+ /**
170
+ * @param barControl
171
+ * @param barContainer
172
+ * @param isVertical
173
+ * @param rotation
174
+ * @hidden
175
+ */
169
176
  private _addBar;
170
177
  /** @hidden */
171
178
  private _attachWheel;
@@ -5,16 +5,17 @@ import { Control } from "../control.js";
5
5
  import { _ScrollViewerWindow } from "./scrollViewerWindow.js";
6
6
  import { ScrollBar } from "../sliders/scrollBar.js";
7
7
  import { ImageScrollBar } from "../sliders/imageScrollBar.js";
8
- import { RegisterClass } from '@babylonjs/core/Misc/typeStore.js';
8
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
9
9
  /**
10
10
  * Class used to hold a viewer window and sliders in a grid
11
- */
11
+ */
12
12
  var ScrollViewer = /** @class */ (function (_super) {
13
13
  __extends(ScrollViewer, _super);
14
14
  /**
15
- * Creates a new ScrollViewer
16
- * @param name of ScrollViewer
17
- */
15
+ * Creates a new ScrollViewer
16
+ * @param name of ScrollViewer
17
+ * @param isImageBased
18
+ */
18
19
  function ScrollViewer(name, isImageBased) {
19
20
  var _this = _super.call(this, name) || this;
20
21
  _this._barSize = 20;
@@ -506,8 +507,6 @@ var ScrollViewer = /** @class */ (function (_super) {
506
507
  return this._barBackgroundImage;
507
508
  },
508
509
  set: function (value) {
509
- if (this._barBackgroundImage === value) {
510
- }
511
510
  this._barBackgroundImage = value;
512
511
  var hb = this._horizontalBar;
513
512
  var vb = this._verticalBar;
@@ -523,8 +522,6 @@ var ScrollViewer = /** @class */ (function (_super) {
523
522
  return this._horizontalBarBackgroundImage;
524
523
  },
525
524
  set: function (value) {
526
- if (this._horizontalBarBackgroundImage === value) {
527
- }
528
525
  this._horizontalBarBackgroundImage = value;
529
526
  var hb = this._horizontalBar;
530
527
  hb.backgroundImage = value;
@@ -538,8 +535,6 @@ var ScrollViewer = /** @class */ (function (_super) {
538
535
  return this._verticalBarBackgroundImage;
539
536
  },
540
537
  set: function (value) {
541
- if (this._verticalBarBackgroundImage === value) {
542
- }
543
538
  this._verticalBarBackgroundImage = value;
544
539
  var vb = this._verticalBar;
545
540
  vb.backgroundImage = value;
@@ -609,7 +604,13 @@ var ScrollViewer = /** @class */ (function (_super) {
609
604
  _super.prototype._link.call(this, host);
610
605
  this._attachWheel();
611
606
  };
612
- /** @hidden */
607
+ /**
608
+ * @param barControl
609
+ * @param barContainer
610
+ * @param isVertical
611
+ * @param rotation
612
+ * @hidden
613
+ */
613
614
  ScrollViewer.prototype._addBar = function (barControl, barContainer, isVertical, rotation) {
614
615
  var _this = this;
615
616
  barControl.paddingLeft = 0;
@@ -624,7 +625,7 @@ var ScrollViewer = /** @class */ (function (_super) {
624
625
  barControl.rotation = rotation;
625
626
  barControl.isVisible = false;
626
627
  barContainer.addControl(barControl);
627
- barControl.onValueChangedObservable.add(function (value) {
628
+ barControl.onValueChangedObservable.add(function () {
628
629
  _this._setWindowPosition();
629
630
  });
630
631
  };