@babylonjs/gui 5.0.0-rc.7 → 5.0.1

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 (277) hide show
  1. package/2D/adtInstrumentation.d.ts +52 -52
  2. package/2D/adtInstrumentation.js +126 -126
  3. package/2D/adtInstrumentation.js.map +1 -1
  4. package/2D/advancedDynamicTexture.d.ts +449 -448
  5. package/2D/advancedDynamicTexture.js +1318 -1318
  6. package/2D/advancedDynamicTexture.js.map +1 -1
  7. package/2D/controls/button.d.ts +135 -135
  8. package/2D/controls/button.js +276 -276
  9. package/2D/controls/button.js.map +1 -1
  10. package/2D/controls/checkbox.d.ts +59 -59
  11. package/2D/controls/checkbox.js +188 -188
  12. package/2D/controls/checkbox.js.map +1 -1
  13. package/2D/controls/colorpicker.d.ts +103 -103
  14. package/2D/controls/colorpicker.js +1417 -1417
  15. package/2D/controls/colorpicker.js.map +1 -1
  16. package/2D/controls/container.d.ts +175 -175
  17. package/2D/controls/container.js +570 -570
  18. package/2D/controls/container.js.map +1 -1
  19. package/2D/controls/control.d.ts +866 -866
  20. package/2D/controls/control.js +2433 -2433
  21. package/2D/controls/control.js.map +1 -1
  22. package/2D/controls/displayGrid.d.ts +53 -53
  23. package/2D/controls/displayGrid.js +245 -245
  24. package/2D/controls/displayGrid.js.map +1 -1
  25. package/2D/controls/ellipse.d.ts +21 -21
  26. package/2D/controls/ellipse.js +85 -85
  27. package/2D/controls/ellipse.js.map +1 -1
  28. package/2D/controls/focusableButton.d.ts +59 -59
  29. package/2D/controls/focusableButton.js +99 -99
  30. package/2D/controls/focusableButton.js.map +1 -1
  31. package/2D/controls/focusableControl.d.ts +34 -34
  32. package/2D/controls/focusableControl.js +1 -1
  33. package/2D/controls/focusableControl.js.map +1 -1
  34. package/2D/controls/grid.d.ts +139 -139
  35. package/2D/controls/grid.js +529 -529
  36. package/2D/controls/grid.js.map +1 -1
  37. package/2D/controls/image.d.ts +204 -204
  38. package/2D/controls/image.js +887 -887
  39. package/2D/controls/image.js.map +1 -1
  40. package/2D/controls/index.d.ts +29 -29
  41. package/2D/controls/index.js +29 -29
  42. package/2D/controls/inputPassword.d.ts +9 -8
  43. package/2D/controls/inputPassword.js +28 -25
  44. package/2D/controls/inputPassword.js.map +1 -1
  45. package/2D/controls/inputText.d.ts +201 -201
  46. package/2D/controls/inputText.js +1119 -1119
  47. package/2D/controls/inputText.js.map +1 -1
  48. package/2D/controls/line.d.ts +66 -66
  49. package/2D/controls/line.js +271 -271
  50. package/2D/controls/line.js.map +1 -1
  51. package/2D/controls/multiLine.d.ts +75 -75
  52. package/2D/controls/multiLine.js +262 -262
  53. package/2D/controls/multiLine.js.map +1 -1
  54. package/2D/controls/radioButton.d.ts +49 -49
  55. package/2D/controls/radioButton.js +205 -205
  56. package/2D/controls/radioButton.js.map +1 -1
  57. package/2D/controls/rectangle.d.ts +29 -29
  58. package/2D/controls/rectangle.js +150 -150
  59. package/2D/controls/rectangle.js.map +1 -1
  60. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -182
  61. package/2D/controls/scrollViewers/scrollViewer.js +677 -677
  62. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  63. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -57
  64. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -278
  65. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  66. package/2D/controls/selector.d.ts +263 -263
  67. package/2D/controls/selector.js +692 -692
  68. package/2D/controls/sliders/baseSlider.d.ts +82 -82
  69. package/2D/controls/sliders/baseSlider.js +347 -347
  70. package/2D/controls/sliders/baseSlider.js.map +1 -1
  71. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -49
  72. package/2D/controls/sliders/imageBasedSlider.js +192 -192
  73. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  74. package/2D/controls/sliders/imageScrollBar.d.ts +65 -65
  75. package/2D/controls/sliders/imageScrollBar.js +263 -263
  76. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  77. package/2D/controls/sliders/scrollBar.d.ts +38 -38
  78. package/2D/controls/sliders/scrollBar.js +143 -143
  79. package/2D/controls/sliders/scrollBar.js.map +1 -1
  80. package/2D/controls/sliders/slider.d.ts +35 -35
  81. package/2D/controls/sliders/slider.js +271 -271
  82. package/2D/controls/sliders/slider.js.map +1 -1
  83. package/2D/controls/stackPanel.d.ts +64 -64
  84. package/2D/controls/stackPanel.js +246 -246
  85. package/2D/controls/stackPanel.js.map +1 -1
  86. package/2D/controls/statics.d.ts +6 -6
  87. package/2D/controls/statics.js +49 -49
  88. package/2D/controls/textBlock.d.ts +175 -175
  89. package/2D/controls/textBlock.js +603 -603
  90. package/2D/controls/textBlock.js.map +1 -1
  91. package/2D/controls/textWrapper.d.ts +13 -13
  92. package/2D/controls/textWrapper.js +101 -101
  93. package/2D/controls/toggleButton.d.ts +117 -117
  94. package/2D/controls/toggleButton.js +268 -268
  95. package/2D/controls/toggleButton.js.map +1 -1
  96. package/2D/controls/virtualKeyboard.d.ts +96 -96
  97. package/2D/controls/virtualKeyboard.js +256 -256
  98. package/2D/controls/virtualKeyboard.js.map +1 -1
  99. package/2D/index.d.ts +9 -9
  100. package/2D/index.js +10 -9
  101. package/2D/index.js.map +1 -1
  102. package/2D/math2D.d.ts +117 -117
  103. package/2D/math2D.js +221 -221
  104. package/2D/math2D.js.map +1 -1
  105. package/2D/measure.d.ts +77 -77
  106. package/2D/measure.js +139 -139
  107. package/2D/measure.js.map +1 -1
  108. package/2D/multiLinePoint.d.ts +47 -47
  109. package/2D/multiLinePoint.js +127 -127
  110. package/2D/multiLinePoint.js.map +1 -1
  111. package/2D/style.d.ts +46 -46
  112. package/2D/style.js +97 -97
  113. package/2D/style.js.map +1 -1
  114. package/2D/valueAndUnit.d.ts +89 -89
  115. package/2D/valueAndUnit.js +226 -226
  116. package/2D/valueAndUnit.js.map +1 -1
  117. package/2D/xmlLoader.d.ts +60 -60
  118. package/2D/xmlLoader.js +348 -348
  119. package/2D/xmlLoader.js.map +1 -1
  120. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  121. package/3D/behaviors/defaultBehavior.js +121 -121
  122. package/3D/behaviors/defaultBehavior.js.map +1 -1
  123. package/3D/controls/abstractButton3D.d.ts +15 -15
  124. package/3D/controls/abstractButton3D.js +25 -25
  125. package/3D/controls/abstractButton3D.js.map +1 -1
  126. package/3D/controls/button3D.d.ts +30 -30
  127. package/3D/controls/button3D.js +93 -93
  128. package/3D/controls/button3D.js.map +1 -1
  129. package/3D/controls/container3D.d.ts +72 -72
  130. package/3D/controls/container3D.js +139 -139
  131. package/3D/controls/container3D.js.map +1 -1
  132. package/3D/controls/contentDisplay3D.d.ts +30 -30
  133. package/3D/controls/contentDisplay3D.js +79 -79
  134. package/3D/controls/contentDisplay3D.js.map +1 -1
  135. package/3D/controls/control3D.d.ts +201 -201
  136. package/3D/controls/control3D.js +445 -445
  137. package/3D/controls/control3D.js.map +1 -1
  138. package/3D/controls/cylinderPanel.d.ts +17 -17
  139. package/3D/controls/cylinderPanel.js +66 -66
  140. package/3D/controls/cylinderPanel.js.map +1 -1
  141. package/3D/controls/handMenu.d.ts +28 -28
  142. package/3D/controls/handMenu.js +47 -47
  143. package/3D/controls/handMenu.js.map +1 -1
  144. package/3D/controls/holographicBackplate.d.ts +49 -49
  145. package/3D/controls/holographicBackplate.js +120 -120
  146. package/3D/controls/holographicBackplate.js.map +1 -1
  147. package/3D/controls/holographicButton.d.ts +84 -84
  148. package/3D/controls/holographicButton.js +339 -339
  149. package/3D/controls/holographicButton.js.map +1 -1
  150. package/3D/controls/holographicSlate.d.ts +131 -131
  151. package/3D/controls/holographicSlate.js +431 -431
  152. package/3D/controls/holographicSlate.js.map +1 -1
  153. package/3D/controls/index.d.ts +21 -21
  154. package/3D/controls/index.js +21 -21
  155. package/3D/controls/meshButton3D.d.ts +21 -21
  156. package/3D/controls/meshButton3D.js +62 -62
  157. package/3D/controls/meshButton3D.js.map +1 -1
  158. package/3D/controls/nearMenu.d.ts +44 -44
  159. package/3D/controls/nearMenu.js +114 -114
  160. package/3D/controls/nearMenu.js.map +1 -1
  161. package/3D/controls/planePanel.d.ts +9 -9
  162. package/3D/controls/planePanel.js +36 -36
  163. package/3D/controls/planePanel.js.map +1 -1
  164. package/3D/controls/scatterPanel.d.ts +18 -18
  165. package/3D/controls/scatterPanel.js +108 -108
  166. package/3D/controls/scatterPanel.js.map +1 -1
  167. package/3D/controls/slider3D.d.ts +81 -81
  168. package/3D/controls/slider3D.js +268 -268
  169. package/3D/controls/slider3D.js.map +1 -1
  170. package/3D/controls/spherePanel.d.ts +17 -17
  171. package/3D/controls/spherePanel.js +67 -67
  172. package/3D/controls/spherePanel.js.map +1 -1
  173. package/3D/controls/stackPanel3D.d.ts +22 -22
  174. package/3D/controls/stackPanel3D.js +107 -107
  175. package/3D/controls/touchButton3D.d.ts +80 -80
  176. package/3D/controls/touchButton3D.js +233 -233
  177. package/3D/controls/touchButton3D.js.map +1 -1
  178. package/3D/controls/touchHolographicButton.d.ts +110 -110
  179. package/3D/controls/touchHolographicButton.js +445 -445
  180. package/3D/controls/touchHolographicButton.js.map +1 -1
  181. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  182. package/3D/controls/touchHolographicMenu.js +149 -149
  183. package/3D/controls/touchHolographicMenu.js.map +1 -1
  184. package/3D/controls/touchMeshButton3D.d.ts +21 -21
  185. package/3D/controls/touchMeshButton3D.js +62 -62
  186. package/3D/controls/touchMeshButton3D.js.map +1 -1
  187. package/3D/controls/volumeBasedPanel.d.ts +53 -53
  188. package/3D/controls/volumeBasedPanel.js +174 -174
  189. package/3D/controls/volumeBasedPanel.js.map +1 -1
  190. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  191. package/3D/gizmos/gizmoHandle.js +209 -209
  192. package/3D/gizmos/gizmoHandle.js.map +1 -1
  193. package/3D/gizmos/index.d.ts +2 -2
  194. package/3D/gizmos/index.js +2 -2
  195. package/3D/gizmos/slateGizmo.d.ts +57 -57
  196. package/3D/gizmos/slateGizmo.js +369 -369
  197. package/3D/gizmos/slateGizmo.js.map +1 -1
  198. package/3D/gui3DManager.d.ts +94 -94
  199. package/3D/gui3DManager.js +257 -257
  200. package/3D/gui3DManager.js.map +1 -1
  201. package/3D/index.d.ts +5 -5
  202. package/3D/index.js +6 -5
  203. package/3D/index.js.map +1 -1
  204. package/3D/materials/fluent/fluentMaterial.d.ts +91 -90
  205. package/3D/materials/fluent/fluentMaterial.js +292 -292
  206. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  207. package/3D/materials/fluent/index.d.ts +1 -1
  208. package/3D/materials/fluent/index.js +1 -1
  209. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  210. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -8
  211. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  212. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -8
  213. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +155 -154
  214. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -469
  215. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  216. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  217. package/3D/materials/fluentBackplate/index.js +1 -1
  218. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  219. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -8
  220. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  221. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -8
  222. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +190 -189
  223. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -539
  224. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  225. package/3D/materials/fluentButton/index.d.ts +1 -1
  226. package/3D/materials/fluentButton/index.js +1 -1
  227. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  228. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -8
  229. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  230. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -8
  231. package/3D/materials/fluentMaterial.d.ts +4 -4
  232. package/3D/materials/fluentMaterial.js +4 -4
  233. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  234. package/3D/materials/handle/handleMaterial.js +126 -126
  235. package/3D/materials/handle/handleMaterial.js.map +1 -1
  236. package/3D/materials/handle/index.d.ts +1 -1
  237. package/3D/materials/handle/index.js +1 -1
  238. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  239. package/3D/materials/handle/shaders/handle.fragment.js +8 -8
  240. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  241. package/3D/materials/handle/shaders/handle.vertex.js +8 -8
  242. package/3D/materials/index.d.ts +5 -5
  243. package/3D/materials/index.js +6 -5
  244. package/3D/materials/index.js.map +1 -1
  245. package/3D/materials/mrdl/index.d.ts +3 -3
  246. package/3D/materials/mrdl/index.js +3 -3
  247. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +148 -147
  248. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -436
  249. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  250. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +334 -333
  251. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -851
  252. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  253. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +334 -333
  254. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -851
  255. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  256. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  257. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -8
  258. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  259. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -8
  260. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  261. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -8
  262. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  263. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -8
  264. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  265. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -8
  266. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  267. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -8
  268. package/3D/vector3WithInfo.d.ts +16 -16
  269. package/3D/vector3WithInfo.js +23 -23
  270. package/index.d.ts +2 -2
  271. package/index.js +3 -2
  272. package/index.js.map +1 -1
  273. package/legacy/legacy.d.ts +1 -1
  274. package/legacy/legacy.js +14 -13
  275. package/legacy/legacy.js.map +1 -1
  276. package/license.md +71 -0
  277. package/package.json +24 -5
@@ -1 +1 @@
1
- {"version":3,"file":"multiLine.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/2D/controls/multiLine.ts"],"names":[],"mappings":"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","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
+ {"version":3,"file":"multiLine.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/2D/controls/multiLine.ts"],"names":[],"mappings":"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","sourcesContent":["import type { 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 type { Vector3 } from \"core/Maths/math.vector\";\r\nimport { serialize } from \"core/Misc/decorators\";\r\nimport type { 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,49 +1,49 @@
1
- import { Observable } from "@babylonjs/core/Misc/observable.js";
2
- import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
3
- import { Control } from "./control";
4
- import { StackPanel } from "./stackPanel";
5
- import { PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
6
- import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
7
- /**
8
- * Class used to create radio button controls
9
- */
10
- export declare class RadioButton extends Control {
11
- name?: string | undefined;
12
- private _isChecked;
13
- private _background;
14
- private _checkSizeRatio;
15
- private _thickness;
16
- /** Gets or sets border thickness */
17
- get thickness(): number;
18
- set thickness(value: number);
19
- /** Gets or sets group name */
20
- group: string;
21
- /** Observable raised when isChecked is changed */
22
- onIsCheckedChangedObservable: Observable<boolean>;
23
- /** Gets or sets a value indicating the ratio between overall size and check size */
24
- get checkSizeRatio(): number;
25
- set checkSizeRatio(value: number);
26
- /** Gets or sets background color */
27
- get background(): string;
28
- set background(value: string);
29
- /** Gets or sets a boolean indicating if the checkbox is checked or not */
30
- get isChecked(): boolean;
31
- set isChecked(value: boolean);
32
- /**
33
- * Creates a new RadioButton
34
- * @param name defines the control name
35
- */
36
- constructor(name?: string | undefined);
37
- protected _getTypeName(): string;
38
- _draw(context: ICanvasRenderingContext): void;
39
- _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean;
40
- /**
41
- * Utility function to easily create a radio button with a header
42
- * @param title defines the label to use for the header
43
- * @param group defines the group to use for the radio button
44
- * @param isChecked defines the initial state of the radio button
45
- * @param onValueChanged defines the callback to call when value changes
46
- * @returns a StackPanel containing the radio button and a textBlock
47
- */
48
- static AddRadioButtonWithHeader(title: string, group: string, isChecked: boolean, onValueChanged: (button: RadioButton, value: boolean) => void): StackPanel;
49
- }
1
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
2
+ import type { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
3
+ import { Control } from "./control";
4
+ import { StackPanel } from "./stackPanel";
5
+ import type { PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
6
+ import type { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
7
+ /**
8
+ * Class used to create radio button controls
9
+ */
10
+ export declare class RadioButton extends Control {
11
+ name?: string | undefined;
12
+ private _isChecked;
13
+ private _background;
14
+ private _checkSizeRatio;
15
+ private _thickness;
16
+ /** Gets or sets border thickness */
17
+ get thickness(): number;
18
+ set thickness(value: number);
19
+ /** Gets or sets group name */
20
+ group: string;
21
+ /** Observable raised when isChecked is changed */
22
+ onIsCheckedChangedObservable: Observable<boolean>;
23
+ /** Gets or sets a value indicating the ratio between overall size and check size */
24
+ get checkSizeRatio(): number;
25
+ set checkSizeRatio(value: number);
26
+ /** Gets or sets background color */
27
+ get background(): string;
28
+ set background(value: string);
29
+ /** Gets or sets a boolean indicating if the checkbox is checked or not */
30
+ get isChecked(): boolean;
31
+ set isChecked(value: boolean);
32
+ /**
33
+ * Creates a new RadioButton
34
+ * @param name defines the control name
35
+ */
36
+ constructor(name?: string | undefined);
37
+ protected _getTypeName(): string;
38
+ _draw(context: ICanvasRenderingContext): void;
39
+ _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean;
40
+ /**
41
+ * Utility function to easily create a radio button with a header
42
+ * @param title defines the label to use for the header
43
+ * @param group defines the group to use for the radio button
44
+ * @param isChecked defines the initial state of the radio button
45
+ * @param onValueChanged defines the callback to call when value changes
46
+ * @returns a StackPanel containing the radio button and a textBlock
47
+ */
48
+ static AddRadioButtonWithHeader(title: string, group: string, isChecked: boolean, onValueChanged: (button: RadioButton, value: boolean) => void): StackPanel;
49
+ }
@@ -1,206 +1,206 @@
1
- import { __decorate, __extends } from "tslib";
2
- import { Observable } from "@babylonjs/core/Misc/observable.js";
3
- import { Control } from "./control.js";
4
- import { StackPanel } from "./stackPanel.js";
5
- import { TextBlock } from "./textBlock.js";
6
- import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
7
- import { serialize } from "@babylonjs/core/Misc/decorators.js";
8
- /**
9
- * Class used to create radio button controls
10
- */
11
- var RadioButton = /** @class */ (function (_super) {
12
- __extends(RadioButton, _super);
13
- /**
14
- * Creates a new RadioButton
15
- * @param name defines the control name
16
- */
17
- function RadioButton(name) {
18
- var _this = _super.call(this, name) || this;
19
- _this.name = name;
20
- _this._isChecked = false;
21
- _this._background = "black";
22
- _this._checkSizeRatio = 0.8;
23
- _this._thickness = 1;
24
- /** Gets or sets group name */
25
- _this.group = "";
26
- /** Observable raised when isChecked is changed */
27
- _this.onIsCheckedChangedObservable = new Observable();
28
- _this.isPointerBlocker = true;
29
- return _this;
30
- }
31
- Object.defineProperty(RadioButton.prototype, "thickness", {
32
- /** Gets or sets border thickness */
33
- get: function () {
34
- return this._thickness;
35
- },
36
- set: function (value) {
37
- if (this._thickness === value) {
38
- return;
39
- }
40
- this._thickness = value;
41
- this._markAsDirty();
42
- },
43
- enumerable: false,
44
- configurable: true
45
- });
46
- Object.defineProperty(RadioButton.prototype, "checkSizeRatio", {
47
- /** Gets or sets a value indicating the ratio between overall size and check size */
48
- get: function () {
49
- return this._checkSizeRatio;
50
- },
51
- set: function (value) {
52
- value = Math.max(Math.min(1, value), 0);
53
- if (this._checkSizeRatio === value) {
54
- return;
55
- }
56
- this._checkSizeRatio = value;
57
- this._markAsDirty();
58
- },
59
- enumerable: false,
60
- configurable: true
61
- });
62
- Object.defineProperty(RadioButton.prototype, "background", {
63
- /** Gets or sets background color */
64
- get: function () {
65
- return this._background;
66
- },
67
- set: function (value) {
68
- if (this._background === value) {
69
- return;
70
- }
71
- this._background = value;
72
- this._markAsDirty();
73
- },
74
- enumerable: false,
75
- configurable: true
76
- });
77
- Object.defineProperty(RadioButton.prototype, "isChecked", {
78
- /** Gets or sets a boolean indicating if the checkbox is checked or not */
79
- get: function () {
80
- return this._isChecked;
81
- },
82
- set: function (value) {
83
- var _this = this;
84
- if (this._isChecked === value) {
85
- return;
86
- }
87
- this._isChecked = value;
88
- this._markAsDirty();
89
- this.onIsCheckedChangedObservable.notifyObservers(value);
90
- if (this._isChecked && this._host) {
91
- // Update all controls from same group
92
- this._host.executeOnAllControls(function (control) {
93
- if (control === _this) {
94
- return;
95
- }
96
- if (control.group === undefined) {
97
- return;
98
- }
99
- var childRadio = control;
100
- if (childRadio.group === _this.group) {
101
- childRadio.isChecked = false;
102
- }
103
- });
104
- }
105
- },
106
- enumerable: false,
107
- configurable: true
108
- });
109
- RadioButton.prototype._getTypeName = function () {
110
- return "RadioButton";
111
- };
112
- RadioButton.prototype._draw = function (context) {
113
- context.save();
114
- this._applyStates(context);
115
- var actualWidth = this._currentMeasure.width - this._thickness;
116
- var actualHeight = this._currentMeasure.height - this._thickness;
117
- if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
118
- context.shadowColor = this.shadowColor;
119
- context.shadowBlur = this.shadowBlur;
120
- context.shadowOffsetX = this.shadowOffsetX;
121
- context.shadowOffsetY = this.shadowOffsetY;
122
- }
123
- // Outer
124
- Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, this._currentMeasure.width / 2 - this._thickness / 2, this._currentMeasure.height / 2 - this._thickness / 2, context);
125
- context.fillStyle = this._isEnabled ? this._background : this._disabledColor;
126
- context.fill();
127
- if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
128
- context.shadowBlur = 0;
129
- context.shadowOffsetX = 0;
130
- context.shadowOffsetY = 0;
131
- }
132
- context.strokeStyle = this.color;
133
- context.lineWidth = this._thickness;
134
- context.stroke();
135
- // Inner
136
- if (this._isChecked) {
137
- context.fillStyle = this._isEnabled ? this.color : this._disabledColor;
138
- var offsetWidth = actualWidth * this._checkSizeRatio;
139
- var offseHeight = actualHeight * this._checkSizeRatio;
140
- Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, offsetWidth / 2 - this._thickness / 2, offseHeight / 2 - this._thickness / 2, context);
141
- context.fill();
142
- }
143
- context.restore();
144
- };
145
- // Events
146
- RadioButton.prototype._onPointerDown = function (target, coordinates, pointerId, buttonIndex, pi) {
147
- if (!_super.prototype._onPointerDown.call(this, target, coordinates, pointerId, buttonIndex, pi)) {
148
- return false;
149
- }
150
- if (this.isReadOnly) {
151
- return true;
152
- }
153
- if (!this.isChecked) {
154
- this.isChecked = true;
155
- }
156
- return true;
157
- };
158
- /**
159
- * Utility function to easily create a radio button with a header
160
- * @param title defines the label to use for the header
161
- * @param group defines the group to use for the radio button
162
- * @param isChecked defines the initial state of the radio button
163
- * @param onValueChanged defines the callback to call when value changes
164
- * @returns a StackPanel containing the radio button and a textBlock
165
- */
166
- RadioButton.AddRadioButtonWithHeader = function (title, group, isChecked, onValueChanged) {
167
- var panel = new StackPanel();
168
- panel.isVertical = false;
169
- panel.height = "30px";
170
- var radio = new RadioButton();
171
- radio.width = "20px";
172
- radio.height = "20px";
173
- radio.isChecked = isChecked;
174
- radio.color = "green";
175
- radio.group = group;
176
- radio.onIsCheckedChangedObservable.add(function (value) { return onValueChanged(radio, value); });
177
- panel.addControl(radio);
178
- var header = new TextBlock();
179
- header.text = title;
180
- header.width = "180px";
181
- header.paddingLeft = "5px";
182
- header.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;
183
- header.color = "white";
184
- panel.addControl(header);
185
- return panel;
186
- };
187
- __decorate([
188
- serialize()
189
- ], RadioButton.prototype, "thickness", null);
190
- __decorate([
191
- serialize()
192
- ], RadioButton.prototype, "group", void 0);
193
- __decorate([
194
- serialize()
195
- ], RadioButton.prototype, "checkSizeRatio", null);
196
- __decorate([
197
- serialize()
198
- ], RadioButton.prototype, "background", null);
199
- __decorate([
200
- serialize()
201
- ], RadioButton.prototype, "isChecked", null);
202
- return RadioButton;
203
- }(Control));
204
- export { RadioButton };
205
- RegisterClass("BABYLON.GUI.RadioButton", RadioButton);
1
+ import { __decorate, __extends } from "tslib";
2
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
3
+ import { Control } from "./control.js";
4
+ import { StackPanel } from "./stackPanel.js";
5
+ import { TextBlock } from "./textBlock.js";
6
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
7
+ import { serialize } from "@babylonjs/core/Misc/decorators.js";
8
+ /**
9
+ * Class used to create radio button controls
10
+ */
11
+ var RadioButton = /** @class */ (function (_super) {
12
+ __extends(RadioButton, _super);
13
+ /**
14
+ * Creates a new RadioButton
15
+ * @param name defines the control name
16
+ */
17
+ function RadioButton(name) {
18
+ var _this = _super.call(this, name) || this;
19
+ _this.name = name;
20
+ _this._isChecked = false;
21
+ _this._background = "black";
22
+ _this._checkSizeRatio = 0.8;
23
+ _this._thickness = 1;
24
+ /** Gets or sets group name */
25
+ _this.group = "";
26
+ /** Observable raised when isChecked is changed */
27
+ _this.onIsCheckedChangedObservable = new Observable();
28
+ _this.isPointerBlocker = true;
29
+ return _this;
30
+ }
31
+ Object.defineProperty(RadioButton.prototype, "thickness", {
32
+ /** Gets or sets border thickness */
33
+ get: function () {
34
+ return this._thickness;
35
+ },
36
+ set: function (value) {
37
+ if (this._thickness === value) {
38
+ return;
39
+ }
40
+ this._thickness = value;
41
+ this._markAsDirty();
42
+ },
43
+ enumerable: false,
44
+ configurable: true
45
+ });
46
+ Object.defineProperty(RadioButton.prototype, "checkSizeRatio", {
47
+ /** Gets or sets a value indicating the ratio between overall size and check size */
48
+ get: function () {
49
+ return this._checkSizeRatio;
50
+ },
51
+ set: function (value) {
52
+ value = Math.max(Math.min(1, value), 0);
53
+ if (this._checkSizeRatio === value) {
54
+ return;
55
+ }
56
+ this._checkSizeRatio = value;
57
+ this._markAsDirty();
58
+ },
59
+ enumerable: false,
60
+ configurable: true
61
+ });
62
+ Object.defineProperty(RadioButton.prototype, "background", {
63
+ /** Gets or sets background color */
64
+ get: function () {
65
+ return this._background;
66
+ },
67
+ set: function (value) {
68
+ if (this._background === value) {
69
+ return;
70
+ }
71
+ this._background = value;
72
+ this._markAsDirty();
73
+ },
74
+ enumerable: false,
75
+ configurable: true
76
+ });
77
+ Object.defineProperty(RadioButton.prototype, "isChecked", {
78
+ /** Gets or sets a boolean indicating if the checkbox is checked or not */
79
+ get: function () {
80
+ return this._isChecked;
81
+ },
82
+ set: function (value) {
83
+ var _this = this;
84
+ if (this._isChecked === value) {
85
+ return;
86
+ }
87
+ this._isChecked = value;
88
+ this._markAsDirty();
89
+ this.onIsCheckedChangedObservable.notifyObservers(value);
90
+ if (this._isChecked && this._host) {
91
+ // Update all controls from same group
92
+ this._host.executeOnAllControls(function (control) {
93
+ if (control === _this) {
94
+ return;
95
+ }
96
+ if (control.group === undefined) {
97
+ return;
98
+ }
99
+ var childRadio = control;
100
+ if (childRadio.group === _this.group) {
101
+ childRadio.isChecked = false;
102
+ }
103
+ });
104
+ }
105
+ },
106
+ enumerable: false,
107
+ configurable: true
108
+ });
109
+ RadioButton.prototype._getTypeName = function () {
110
+ return "RadioButton";
111
+ };
112
+ RadioButton.prototype._draw = function (context) {
113
+ context.save();
114
+ this._applyStates(context);
115
+ var actualWidth = this._currentMeasure.width - this._thickness;
116
+ var actualHeight = this._currentMeasure.height - this._thickness;
117
+ if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
118
+ context.shadowColor = this.shadowColor;
119
+ context.shadowBlur = this.shadowBlur;
120
+ context.shadowOffsetX = this.shadowOffsetX;
121
+ context.shadowOffsetY = this.shadowOffsetY;
122
+ }
123
+ // Outer
124
+ Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, this._currentMeasure.width / 2 - this._thickness / 2, this._currentMeasure.height / 2 - this._thickness / 2, context);
125
+ context.fillStyle = this._isEnabled ? this._background : this._disabledColor;
126
+ context.fill();
127
+ if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
128
+ context.shadowBlur = 0;
129
+ context.shadowOffsetX = 0;
130
+ context.shadowOffsetY = 0;
131
+ }
132
+ context.strokeStyle = this.color;
133
+ context.lineWidth = this._thickness;
134
+ context.stroke();
135
+ // Inner
136
+ if (this._isChecked) {
137
+ context.fillStyle = this._isEnabled ? this.color : this._disabledColor;
138
+ var offsetWidth = actualWidth * this._checkSizeRatio;
139
+ var offseHeight = actualHeight * this._checkSizeRatio;
140
+ Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, offsetWidth / 2 - this._thickness / 2, offseHeight / 2 - this._thickness / 2, context);
141
+ context.fill();
142
+ }
143
+ context.restore();
144
+ };
145
+ // Events
146
+ RadioButton.prototype._onPointerDown = function (target, coordinates, pointerId, buttonIndex, pi) {
147
+ if (!_super.prototype._onPointerDown.call(this, target, coordinates, pointerId, buttonIndex, pi)) {
148
+ return false;
149
+ }
150
+ if (this.isReadOnly) {
151
+ return true;
152
+ }
153
+ if (!this.isChecked) {
154
+ this.isChecked = true;
155
+ }
156
+ return true;
157
+ };
158
+ /**
159
+ * Utility function to easily create a radio button with a header
160
+ * @param title defines the label to use for the header
161
+ * @param group defines the group to use for the radio button
162
+ * @param isChecked defines the initial state of the radio button
163
+ * @param onValueChanged defines the callback to call when value changes
164
+ * @returns a StackPanel containing the radio button and a textBlock
165
+ */
166
+ RadioButton.AddRadioButtonWithHeader = function (title, group, isChecked, onValueChanged) {
167
+ var panel = new StackPanel();
168
+ panel.isVertical = false;
169
+ panel.height = "30px";
170
+ var radio = new RadioButton();
171
+ radio.width = "20px";
172
+ radio.height = "20px";
173
+ radio.isChecked = isChecked;
174
+ radio.color = "green";
175
+ radio.group = group;
176
+ radio.onIsCheckedChangedObservable.add(function (value) { return onValueChanged(radio, value); });
177
+ panel.addControl(radio);
178
+ var header = new TextBlock();
179
+ header.text = title;
180
+ header.width = "180px";
181
+ header.paddingLeft = "5px";
182
+ header.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;
183
+ header.color = "white";
184
+ panel.addControl(header);
185
+ return panel;
186
+ };
187
+ __decorate([
188
+ serialize()
189
+ ], RadioButton.prototype, "thickness", null);
190
+ __decorate([
191
+ serialize()
192
+ ], RadioButton.prototype, "group", void 0);
193
+ __decorate([
194
+ serialize()
195
+ ], RadioButton.prototype, "checkSizeRatio", null);
196
+ __decorate([
197
+ serialize()
198
+ ], RadioButton.prototype, "background", null);
199
+ __decorate([
200
+ serialize()
201
+ ], RadioButton.prototype, "isChecked", null);
202
+ return RadioButton;
203
+ }(Control));
204
+ export { RadioButton };
205
+ RegisterClass("BABYLON.GUI.RadioButton", RadioButton);
206
206
  //# sourceMappingURL=radioButton.js.map