@babylonjs/gui 9.13.0 → 9.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/2D/FrameGraph/pure.d.ts +2 -0
  2. package/2D/FrameGraph/pure.js +3 -0
  3. package/2D/FrameGraph/pure.js.map +1 -0
  4. package/2D/FrameGraph/renderGraphGUIBlock.d.ts +3 -41
  5. package/2D/FrameGraph/renderGraphGUIBlock.js +5 -64
  6. package/2D/FrameGraph/renderGraphGUIBlock.js.map +1 -1
  7. package/2D/FrameGraph/renderGraphGUIBlock.pure.d.ts +48 -0
  8. package/2D/FrameGraph/renderGraphGUIBlock.pure.js +78 -0
  9. package/2D/FrameGraph/renderGraphGUIBlock.pure.js.map +1 -0
  10. package/2D/advancedDynamicTexture.d.ts +2 -2
  11. package/2D/advancedDynamicTexture.js +2 -2
  12. package/2D/advancedDynamicTexture.js.map +1 -1
  13. package/2D/controls/button.d.ts +3 -107
  14. package/2D/controls/button.js +5 -243
  15. package/2D/controls/button.js.map +1 -1
  16. package/2D/controls/button.pure.d.ts +114 -0
  17. package/2D/controls/button.pure.js +257 -0
  18. package/2D/controls/button.pure.js.map +1 -0
  19. package/2D/controls/checkbox.d.ts +3 -51
  20. package/2D/controls/checkbox.js +5 -161
  21. package/2D/controls/checkbox.js.map +1 -1
  22. package/2D/controls/checkbox.pure.d.ts +58 -0
  23. package/2D/controls/checkbox.pure.js +175 -0
  24. package/2D/controls/checkbox.pure.js.map +1 -0
  25. package/2D/controls/colorpicker.d.ts +5 -101
  26. package/2D/controls/colorpicker.js +7 -1394
  27. package/2D/controls/colorpicker.js.map +1 -1
  28. package/2D/controls/colorpicker.pure.d.ts +106 -0
  29. package/2D/controls/colorpicker.pure.js +1406 -0
  30. package/2D/controls/colorpicker.pure.js.map +1 -0
  31. package/2D/controls/container.d.ts +3 -177
  32. package/2D/controls/container.js +5 -615
  33. package/2D/controls/container.js.map +1 -1
  34. package/2D/controls/container.pure.d.ts +184 -0
  35. package/2D/controls/container.pure.js +629 -0
  36. package/2D/controls/container.pure.js.map +1 -0
  37. package/2D/controls/control.d.ts +3 -944
  38. package/2D/controls/control.js +5 -2457
  39. package/2D/controls/control.js.map +1 -1
  40. package/2D/controls/control.pure.d.ts +951 -0
  41. package/2D/controls/control.pure.js +2471 -0
  42. package/2D/controls/control.pure.js.map +1 -0
  43. package/2D/controls/displayGrid.d.ts +5 -53
  44. package/2D/controls/displayGrid.js +7 -201
  45. package/2D/controls/displayGrid.js.map +1 -1
  46. package/2D/controls/displayGrid.pure.d.ts +58 -0
  47. package/2D/controls/displayGrid.pure.js +213 -0
  48. package/2D/controls/displayGrid.pure.js.map +1 -0
  49. package/2D/controls/ellipse.d.ts +5 -25
  50. package/2D/controls/ellipse.js +7 -92
  51. package/2D/controls/ellipse.js.map +1 -1
  52. package/2D/controls/ellipse.pure.d.ts +30 -0
  53. package/2D/controls/ellipse.pure.js +104 -0
  54. package/2D/controls/ellipse.pure.js.map +1 -0
  55. package/2D/controls/focusableButton.d.ts +3 -15
  56. package/2D/controls/focusableButton.js +5 -22
  57. package/2D/controls/focusableButton.js.map +1 -1
  58. package/2D/controls/focusableButton.pure.d.ts +22 -0
  59. package/2D/controls/focusableButton.pure.js +36 -0
  60. package/2D/controls/focusableButton.pure.js.map +1 -0
  61. package/2D/controls/gradient/LinearGradient.d.ts +3 -43
  62. package/2D/controls/gradient/LinearGradient.js +5 -70
  63. package/2D/controls/gradient/LinearGradient.js.map +1 -1
  64. package/2D/controls/gradient/LinearGradient.pure.d.ts +50 -0
  65. package/2D/controls/gradient/LinearGradient.pure.js +84 -0
  66. package/2D/controls/gradient/LinearGradient.pure.js.map +1 -0
  67. package/2D/controls/gradient/RadialGradient.d.ts +3 -51
  68. package/2D/controls/gradient/RadialGradient.js +5 -86
  69. package/2D/controls/gradient/RadialGradient.js.map +1 -1
  70. package/2D/controls/gradient/RadialGradient.pure.d.ts +58 -0
  71. package/2D/controls/gradient/RadialGradient.pure.js +100 -0
  72. package/2D/controls/gradient/RadialGradient.pure.js.map +1 -0
  73. package/2D/controls/gradient/pure.d.ts +3 -0
  74. package/2D/controls/gradient/pure.js +4 -0
  75. package/2D/controls/gradient/pure.js.map +1 -0
  76. package/2D/controls/grid.d.ts +3 -149
  77. package/2D/controls/grid.js +5 -525
  78. package/2D/controls/grid.js.map +1 -1
  79. package/2D/controls/grid.pure.d.ts +156 -0
  80. package/2D/controls/grid.pure.js +539 -0
  81. package/2D/controls/grid.pure.js.map +1 -0
  82. package/2D/controls/image.d.ts +3 -226
  83. package/2D/controls/image.js +5 -913
  84. package/2D/controls/image.js.map +1 -1
  85. package/2D/controls/image.pure.d.ts +233 -0
  86. package/2D/controls/image.pure.js +927 -0
  87. package/2D/controls/image.pure.js.map +1 -0
  88. package/2D/controls/inputPassword.d.ts +3 -7
  89. package/2D/controls/inputPassword.js +5 -19
  90. package/2D/controls/inputPassword.js.map +1 -1
  91. package/2D/controls/inputPassword.pure.d.ts +14 -0
  92. package/2D/controls/inputPassword.pure.js +33 -0
  93. package/2D/controls/inputPassword.pure.js.map +1 -0
  94. package/2D/controls/inputText.d.ts +3 -202
  95. package/2D/controls/inputText.js +5 -1050
  96. package/2D/controls/inputText.js.map +1 -1
  97. package/2D/controls/inputText.pure.d.ts +209 -0
  98. package/2D/controls/inputText.pure.js +1064 -0
  99. package/2D/controls/inputText.pure.js.map +1 -0
  100. package/2D/controls/inputTextArea.d.ts +3 -140
  101. package/2D/controls/inputTextArea.js +5 -1023
  102. package/2D/controls/inputTextArea.js.map +1 -1
  103. package/2D/controls/inputTextArea.pure.d.ts +147 -0
  104. package/2D/controls/inputTextArea.pure.js +1037 -0
  105. package/2D/controls/inputTextArea.pure.js.map +1 -0
  106. package/2D/controls/line.d.ts +5 -74
  107. package/2D/controls/line.js +7 -234
  108. package/2D/controls/line.js.map +1 -1
  109. package/2D/controls/line.pure.d.ts +79 -0
  110. package/2D/controls/line.pure.js +246 -0
  111. package/2D/controls/line.pure.js.map +1 -0
  112. package/2D/controls/multiLine.d.ts +3 -73
  113. package/2D/controls/multiLine.js +5 -234
  114. package/2D/controls/multiLine.js.map +1 -1
  115. package/2D/controls/multiLine.pure.d.ts +80 -0
  116. package/2D/controls/multiLine.pure.js +248 -0
  117. package/2D/controls/multiLine.pure.js.map +1 -0
  118. package/2D/controls/pure.d.ts +38 -0
  119. package/2D/controls/pure.js +39 -0
  120. package/2D/controls/pure.js.map +1 -0
  121. package/2D/controls/radioButton.d.ts +3 -47
  122. package/2D/controls/radioButton.js +5 -182
  123. package/2D/controls/radioButton.js.map +1 -1
  124. package/2D/controls/radioButton.pure.d.ts +54 -0
  125. package/2D/controls/radioButton.pure.js +196 -0
  126. package/2D/controls/radioButton.pure.js.map +1 -0
  127. package/2D/controls/rectangle.d.ts +5 -43
  128. package/2D/controls/rectangle.js +7 -205
  129. package/2D/controls/rectangle.js.map +1 -1
  130. package/2D/controls/rectangle.pure.d.ts +48 -0
  131. package/2D/controls/rectangle.pure.js +217 -0
  132. package/2D/controls/rectangle.pure.js.map +1 -0
  133. package/2D/controls/scrollViewers/pure.d.ts +2 -0
  134. package/2D/controls/scrollViewers/pure.js +3 -0
  135. package/2D/controls/scrollViewers/pure.js.map +1 -0
  136. package/2D/controls/scrollViewers/scrollViewer.d.ts +3 -176
  137. package/2D/controls/scrollViewers/scrollViewer.js +5 -584
  138. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  139. package/2D/controls/scrollViewers/scrollViewer.pure.d.ts +183 -0
  140. package/2D/controls/scrollViewers/scrollViewer.pure.js +598 -0
  141. package/2D/controls/scrollViewers/scrollViewer.pure.js.map +1 -0
  142. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +1 -1
  143. package/2D/controls/scrollViewers/scrollViewerWindow.js +2 -2
  144. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  145. package/2D/controls/selector.d.ts +2 -2
  146. package/2D/controls/selector.js +8 -8
  147. package/2D/controls/selector.js.map +1 -1
  148. package/2D/controls/sliders/baseSlider.d.ts +1 -1
  149. package/2D/controls/sliders/baseSlider.js +1 -1
  150. package/2D/controls/sliders/baseSlider.js.map +1 -1
  151. package/2D/controls/sliders/imageBasedSlider.d.ts +3 -45
  152. package/2D/controls/sliders/imageBasedSlider.js +5 -165
  153. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  154. package/2D/controls/sliders/imageBasedSlider.pure.d.ts +52 -0
  155. package/2D/controls/sliders/imageBasedSlider.pure.js +179 -0
  156. package/2D/controls/sliders/imageBasedSlider.pure.js.map +1 -0
  157. package/2D/controls/sliders/pure.d.ts +4 -0
  158. package/2D/controls/sliders/pure.js +5 -0
  159. package/2D/controls/sliders/pure.js.map +1 -0
  160. package/2D/controls/sliders/scrollBar.d.ts +3 -48
  161. package/2D/controls/sliders/scrollBar.js +5 -170
  162. package/2D/controls/sliders/scrollBar.js.map +1 -1
  163. package/2D/controls/sliders/scrollBar.pure.d.ts +55 -0
  164. package/2D/controls/sliders/scrollBar.pure.js +184 -0
  165. package/2D/controls/sliders/scrollBar.pure.js.map +1 -0
  166. package/2D/controls/sliders/slider.d.ts +3 -44
  167. package/2D/controls/sliders/slider.js +5 -278
  168. package/2D/controls/sliders/slider.js.map +1 -1
  169. package/2D/controls/sliders/slider.pure.d.ts +51 -0
  170. package/2D/controls/sliders/slider.pure.js +292 -0
  171. package/2D/controls/sliders/slider.pure.js.map +1 -0
  172. package/2D/controls/stackPanel.d.ts +3 -62
  173. package/2D/controls/stackPanel.js +5 -243
  174. package/2D/controls/stackPanel.js.map +1 -1
  175. package/2D/controls/stackPanel.pure.d.ts +69 -0
  176. package/2D/controls/stackPanel.pure.js +257 -0
  177. package/2D/controls/stackPanel.pure.js.map +1 -0
  178. package/2D/controls/statics.d.ts +3 -4
  179. package/2D/controls/statics.js +5 -47
  180. package/2D/controls/statics.js.map +1 -1
  181. package/2D/controls/statics.pure.d.ts +11 -0
  182. package/2D/controls/statics.pure.js +61 -0
  183. package/2D/controls/statics.pure.js.map +1 -0
  184. package/2D/controls/textBlock.d.ts +3 -217
  185. package/2D/controls/textBlock.js +5 -676
  186. package/2D/controls/textBlock.js.map +1 -1
  187. package/2D/controls/textBlock.pure.d.ts +224 -0
  188. package/2D/controls/textBlock.pure.js +690 -0
  189. package/2D/controls/textBlock.pure.js.map +1 -0
  190. package/2D/controls/toggleButton.d.ts +3 -91
  191. package/2D/controls/toggleButton.js +5 -226
  192. package/2D/controls/toggleButton.js.map +1 -1
  193. package/2D/controls/toggleButton.pure.d.ts +98 -0
  194. package/2D/controls/toggleButton.pure.js +240 -0
  195. package/2D/controls/toggleButton.pure.js.map +1 -0
  196. package/2D/controls/virtualKeyboard.d.ts +3 -100
  197. package/2D/controls/virtualKeyboard.js +5 -272
  198. package/2D/controls/virtualKeyboard.js.map +1 -1
  199. package/2D/controls/virtualKeyboard.pure.d.ts +107 -0
  200. package/2D/controls/virtualKeyboard.pure.js +286 -0
  201. package/2D/controls/virtualKeyboard.pure.js.map +1 -0
  202. package/2D/math2D.d.ts +1 -1
  203. package/2D/math2D.js +1 -1
  204. package/2D/math2D.js.map +1 -1
  205. package/2D/measure.js +1 -1
  206. package/2D/measure.js.map +1 -1
  207. package/2D/pure.d.ts +13 -0
  208. package/2D/pure.js +15 -0
  209. package/2D/pure.js.map +1 -0
  210. package/3D/controls/MRTK3/touchHolographicButton.d.ts +4 -4
  211. package/3D/controls/MRTK3/touchHolographicButton.js +10 -10
  212. package/3D/controls/MRTK3/touchHolographicButton.js.map +1 -1
  213. package/3D/controls/holographicBackplate.d.ts +1 -1
  214. package/3D/controls/holographicBackplate.js +1 -1
  215. package/3D/controls/holographicBackplate.js.map +1 -1
  216. package/3D/controls/holographicButton.d.ts +1 -1
  217. package/3D/controls/holographicButton.js +4 -4
  218. package/3D/controls/holographicButton.js.map +1 -1
  219. package/3D/controls/holographicSlate.js +4 -4
  220. package/3D/controls/holographicSlate.js.map +1 -1
  221. package/3D/controls/pure.d.ts +23 -0
  222. package/3D/controls/pure.js +24 -0
  223. package/3D/controls/pure.js.map +1 -0
  224. package/3D/controls/slider3D.d.ts +3 -3
  225. package/3D/controls/slider3D.js +3 -3
  226. package/3D/controls/slider3D.js.map +1 -1
  227. package/3D/controls/touchHolographicButton.d.ts +2 -2
  228. package/3D/controls/touchHolographicButton.js +5 -5
  229. package/3D/controls/touchHolographicButton.js.map +1 -1
  230. package/3D/controls/touchHolographicMenu.js +1 -1
  231. package/3D/controls/touchHolographicMenu.js.map +1 -1
  232. package/3D/gizmos/gizmoHandle.d.ts +1 -1
  233. package/3D/gizmos/gizmoHandle.js +1 -1
  234. package/3D/gizmos/gizmoHandle.js.map +1 -1
  235. package/3D/gizmos/pure.d.ts +3 -0
  236. package/3D/gizmos/pure.js +4 -0
  237. package/3D/gizmos/pure.js.map +1 -0
  238. package/3D/materials/fluent/fluentMaterial.d.ts +5 -100
  239. package/3D/materials/fluent/fluentMaterial.js +7 -305
  240. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  241. package/3D/materials/fluent/fluentMaterial.pure.d.ts +105 -0
  242. package/3D/materials/fluent/fluentMaterial.pure.js +320 -0
  243. package/3D/materials/fluent/fluentMaterial.pure.js.map +1 -0
  244. package/3D/materials/fluent/pure.d.ts +2 -0
  245. package/3D/materials/fluent/pure.js +3 -0
  246. package/3D/materials/fluent/pure.js.map +1 -0
  247. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +5 -164
  248. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +7 -488
  249. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  250. package/3D/materials/fluentBackplate/fluentBackplateMaterial.pure.d.ts +169 -0
  251. package/3D/materials/fluentBackplate/fluentBackplateMaterial.pure.js +503 -0
  252. package/3D/materials/fluentBackplate/fluentBackplateMaterial.pure.js.map +1 -0
  253. package/3D/materials/fluentBackplate/pure.d.ts +2 -0
  254. package/3D/materials/fluentBackplate/pure.js +3 -0
  255. package/3D/materials/fluentBackplate/pure.js.map +1 -0
  256. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +5 -200
  257. package/3D/materials/fluentButton/fluentButtonMaterial.js +7 -563
  258. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  259. package/3D/materials/fluentButton/fluentButtonMaterial.pure.d.ts +205 -0
  260. package/3D/materials/fluentButton/fluentButtonMaterial.pure.js +578 -0
  261. package/3D/materials/fluentButton/fluentButtonMaterial.pure.js.map +1 -0
  262. package/3D/materials/fluentButton/pure.d.ts +2 -0
  263. package/3D/materials/fluentButton/pure.js +3 -0
  264. package/3D/materials/fluentButton/pure.js.map +1 -0
  265. package/3D/materials/fluentMaterial.d.ts +1 -1
  266. package/3D/materials/fluentMaterial.js +1 -1
  267. package/3D/materials/fluentMaterial.js.map +1 -1
  268. package/3D/materials/handle/handleMaterial.d.ts +5 -66
  269. package/3D/materials/handle/handleMaterial.js +5 -118
  270. package/3D/materials/handle/handleMaterial.js.map +1 -1
  271. package/3D/materials/handle/handleMaterial.pure.d.ts +66 -0
  272. package/3D/materials/handle/handleMaterial.pure.js +121 -0
  273. package/3D/materials/handle/handleMaterial.pure.js.map +1 -0
  274. package/3D/materials/handle/pure.d.ts +2 -0
  275. package/3D/materials/handle/pure.js +3 -0
  276. package/3D/materials/handle/pure.js.map +1 -0
  277. package/3D/materials/mrdl/mrdlBackglowMaterial.d.ts +5 -85
  278. package/3D/materials/mrdl/mrdlBackglowMaterial.js +7 -299
  279. package/3D/materials/mrdl/mrdlBackglowMaterial.js.map +1 -1
  280. package/3D/materials/mrdl/mrdlBackglowMaterial.pure.d.ts +90 -0
  281. package/3D/materials/mrdl/mrdlBackglowMaterial.pure.js +314 -0
  282. package/3D/materials/mrdl/mrdlBackglowMaterial.pure.js.map +1 -0
  283. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +5 -145
  284. package/3D/materials/mrdl/mrdlBackplateMaterial.js +7 -433
  285. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  286. package/3D/materials/mrdl/mrdlBackplateMaterial.pure.d.ts +157 -0
  287. package/3D/materials/mrdl/mrdlBackplateMaterial.pure.js +455 -0
  288. package/3D/materials/mrdl/mrdlBackplateMaterial.pure.js.map +1 -0
  289. package/3D/materials/mrdl/mrdlFrontplateMaterial.d.ts +5 -183
  290. package/3D/materials/mrdl/mrdlFrontplateMaterial.js +7 -532
  291. package/3D/materials/mrdl/mrdlFrontplateMaterial.js.map +1 -1
  292. package/3D/materials/mrdl/mrdlFrontplateMaterial.pure.d.ts +188 -0
  293. package/3D/materials/mrdl/mrdlFrontplateMaterial.pure.js +547 -0
  294. package/3D/materials/mrdl/mrdlFrontplateMaterial.pure.js.map +1 -0
  295. package/3D/materials/mrdl/mrdlInnerquadMaterial.d.ts +5 -54
  296. package/3D/materials/mrdl/mrdlInnerquadMaterial.js +7 -227
  297. package/3D/materials/mrdl/mrdlInnerquadMaterial.js.map +1 -1
  298. package/3D/materials/mrdl/mrdlInnerquadMaterial.pure.d.ts +59 -0
  299. package/3D/materials/mrdl/mrdlInnerquadMaterial.pure.js +242 -0
  300. package/3D/materials/mrdl/mrdlInnerquadMaterial.pure.js.map +1 -0
  301. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +5 -334
  302. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +7 -855
  303. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  304. package/3D/materials/mrdl/mrdlSliderBarMaterial.pure.d.ts +346 -0
  305. package/3D/materials/mrdl/mrdlSliderBarMaterial.pure.js +877 -0
  306. package/3D/materials/mrdl/mrdlSliderBarMaterial.pure.js.map +1 -0
  307. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +5 -334
  308. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +7 -855
  309. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  310. package/3D/materials/mrdl/mrdlSliderThumbMaterial.pure.d.ts +346 -0
  311. package/3D/materials/mrdl/mrdlSliderThumbMaterial.pure.js +877 -0
  312. package/3D/materials/mrdl/mrdlSliderThumbMaterial.pure.js.map +1 -0
  313. package/3D/materials/mrdl/pure.d.ts +7 -0
  314. package/3D/materials/mrdl/pure.js +8 -0
  315. package/3D/materials/mrdl/pure.js.map +1 -0
  316. package/3D/materials/pure.d.ts +6 -0
  317. package/3D/materials/pure.js +8 -0
  318. package/3D/materials/pure.js.map +1 -0
  319. package/3D/pure.d.ts +6 -0
  320. package/3D/pure.js +8 -0
  321. package/3D/pure.js.map +1 -0
  322. package/package.json +50 -3
  323. package/pure.d.ts +3 -0
  324. package/pure.js +5 -0
  325. package/pure.js.map +1 -0
@@ -1,93 +1,8 @@
1
- import { __decorate } from "@babylonjs/core/tslib.es6.js";
2
- import { Container } from "./container.js";
3
- import { Control } from "./control.js";
4
- import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
5
- import { serialize } from "@babylonjs/core/Misc/decorators.js";
6
- /** Class used to create 2D ellipse containers */
7
- export class Ellipse extends Container {
8
- /** Gets or sets border thickness */
9
- get thickness() {
10
- return this._thickness;
11
- }
12
- set thickness(value) {
13
- if (this._thickness === value) {
14
- return;
15
- }
16
- this._thickness = value;
17
- this._markAsDirty();
18
- }
19
- /** Gets or sets arcing of the ellipse (ratio of the circumference between 0 and 1) */
20
- get arc() {
21
- return this._arc;
22
- }
23
- set arc(value) {
24
- if (this._arc === value) {
25
- return;
26
- }
27
- this._arc = value;
28
- this._markAsDirty();
29
- }
30
- /**
31
- * Creates a new Ellipse
32
- * @param name defines the control name
33
- */
34
- constructor(name) {
35
- super(name);
36
- this.name = name;
37
- this._thickness = 1;
38
- this._arc = 1;
39
- }
40
- _getTypeName() {
41
- return "Ellipse";
42
- }
43
- _localDraw(context) {
44
- context.save();
45
- if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
46
- context.shadowColor = this.shadowColor;
47
- context.shadowBlur = this.shadowBlur;
48
- context.shadowOffsetX = this.shadowOffsetX * this._host.idealRatio;
49
- context.shadowOffsetY = this.shadowOffsetY * this._host.idealRatio;
50
- }
51
- 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, this._arc, context);
52
- if (this._backgroundGradient || this._background) {
53
- context.fillStyle = this._getBackgroundColor(context);
54
- context.fill();
55
- }
56
- if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
57
- context.shadowBlur = 0;
58
- context.shadowOffsetX = 0;
59
- context.shadowOffsetY = 0;
60
- }
61
- if (this._thickness) {
62
- if (this.color) {
63
- context.strokeStyle = this.color;
64
- }
65
- context.lineWidth = this._thickness;
66
- context.stroke();
67
- }
68
- context.restore();
69
- }
70
- _additionalProcessing(parentMeasure, context) {
71
- super._additionalProcessing(parentMeasure, context);
72
- this._measureForChildren.width -= 2 * this._thickness;
73
- this._measureForChildren.height -= 2 * this._thickness;
74
- this._measureForChildren.left += this._thickness;
75
- this._measureForChildren.top += this._thickness;
76
- }
77
- _clipForChildren(context) {
78
- Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, this._currentMeasure.width / 2, this._currentMeasure.height / 2, this._arc, context);
79
- context.clip();
80
- }
81
- _renderHighlightSpecific(context) {
82
- Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, this._currentMeasure.width / 2 - this._highlightLineWidth / 2, this._currentMeasure.height / 2 - this._highlightLineWidth / 2, this._arc, context);
83
- context.stroke();
84
- }
85
- }
86
- __decorate([
87
- serialize()
88
- ], Ellipse.prototype, "thickness", null);
89
- __decorate([
90
- serialize()
91
- ], Ellipse.prototype, "arc", null);
92
- RegisterClass("BABYLON.GUI.Ellipse", Ellipse);
1
+ /**
2
+ * Re-exports the pure implementation and applies the runtime registration side effect.
3
+ * Import "./ellipse.pure" for tree-shakeable, side-effect-free usage.
4
+ */
5
+ export * from "./ellipse.pure.js";
6
+ import { RegisterEllipse } from "./ellipse.pure.js";
7
+ RegisterEllipse();
93
8
  //# sourceMappingURL=ellipse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ellipse.js","sourceRoot":"","sources":["../../../../../dev/gui/src/2D/controls/ellipse.ts"],"names":[],"mappings":"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","sourcesContent":["import { Container } from \"./container\";\r\nimport { Control } from \"./control\";\r\nimport { type Measure } from \"../measure\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { serialize } from \"core/Misc/decorators\";\r\nimport { type ICanvasRenderingContext } from \"core/Engines/ICanvas\";\r\n\r\n/** Class used to create 2D ellipse containers */\r\nexport class Ellipse extends Container {\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 private _arc = 1;\r\n\r\n /** Gets or sets arcing of the ellipse (ratio of the circumference between 0 and 1) */\r\n @serialize()\r\n public get arc(): number {\r\n return this._arc;\r\n }\r\n\r\n public set arc(value: number) {\r\n if (this._arc === value) {\r\n return;\r\n }\r\n\r\n this._arc = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Creates a new Ellipse\r\n * @param name defines the control name\r\n */\r\n constructor(public override name?: string) {\r\n super(name);\r\n }\r\n\r\n protected override _getTypeName(): string {\r\n return \"Ellipse\";\r\n }\r\n\r\n protected override _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 * this._host.idealRatio;\r\n context.shadowOffsetY = this.shadowOffsetY * this._host.idealRatio;\r\n }\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 this._currentMeasure.width / 2 - this._thickness / 2,\r\n this._currentMeasure.height / 2 - this._thickness / 2,\r\n this._arc,\r\n context\r\n );\r\n\r\n if (this._backgroundGradient || this._background) {\r\n context.fillStyle = this._getBackgroundColor(context);\r\n\r\n context.fill();\r\n }\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._thickness) {\r\n if (this.color) {\r\n context.strokeStyle = this.color;\r\n }\r\n context.lineWidth = this._thickness;\r\n\r\n context.stroke();\r\n }\r\n\r\n context.restore();\r\n }\r\n\r\n protected override _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 protected override _clipForChildren(context: ICanvasRenderingContext) {\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,\r\n this._currentMeasure.height / 2,\r\n this._arc,\r\n context\r\n );\r\n\r\n context.clip();\r\n }\r\n\r\n public override _renderHighlightSpecific(context: ICanvasRenderingContext): void {\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._highlightLineWidth / 2,\r\n this._currentMeasure.height / 2 - this._highlightLineWidth / 2,\r\n this._arc,\r\n context\r\n );\r\n context.stroke();\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.Ellipse\", Ellipse);\r\n"]}
1
+ {"version":3,"file":"ellipse.js","sourceRoot":"","sources":["../../../../../dev/gui/src/2D/controls/ellipse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,eAAe,EAAE,CAAC","sourcesContent":["/**\r\n * Re-exports the pure implementation and applies the runtime registration side effect.\r\n * Import \"./ellipse.pure\" for tree-shakeable, side-effect-free usage.\r\n */\r\nexport * from \"./ellipse.pure\";\r\n\r\nimport { RegisterEllipse } from \"./ellipse.pure\";\r\nRegisterEllipse();\r\n"]}
@@ -0,0 +1,30 @@
1
+ import { Container } from "./container.pure.js";
2
+ import { type Measure } from "../measure.js";
3
+ import { type ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
4
+ /** Class used to create 2D ellipse containers */
5
+ export declare class Ellipse extends Container {
6
+ name?: string | undefined;
7
+ private _thickness;
8
+ /** Gets or sets border thickness */
9
+ get thickness(): number;
10
+ set thickness(value: number);
11
+ private _arc;
12
+ /** Gets or sets arcing of the ellipse (ratio of the circumference between 0 and 1) */
13
+ get arc(): number;
14
+ set arc(value: number);
15
+ /**
16
+ * Creates a new Ellipse
17
+ * @param name defines the control name
18
+ */
19
+ constructor(name?: string | undefined);
20
+ protected _getTypeName(): string;
21
+ protected _localDraw(context: ICanvasRenderingContext): void;
22
+ protected _additionalProcessing(parentMeasure: Measure, context: ICanvasRenderingContext): void;
23
+ protected _clipForChildren(context: ICanvasRenderingContext): void;
24
+ _renderHighlightSpecific(context: ICanvasRenderingContext): void;
25
+ }
26
+ /**
27
+ * Registers the Ellipse class with the type store for serialization support.
28
+ * Safe to call multiple times; only the first call has an effect.
29
+ */
30
+ export declare function RegisterEllipse(): void;
@@ -0,0 +1,104 @@
1
+ import { __decorate } from "@babylonjs/core/tslib.es6.js";
2
+ import { Container } from "./container.pure.js";
3
+ import { Control } from "./control.pure.js";
4
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
5
+ import { serialize } from "@babylonjs/core/Misc/decorators.js";
6
+ /** Class used to create 2D ellipse containers */
7
+ export class Ellipse extends Container {
8
+ /** Gets or sets border thickness */
9
+ get thickness() {
10
+ return this._thickness;
11
+ }
12
+ set thickness(value) {
13
+ if (this._thickness === value) {
14
+ return;
15
+ }
16
+ this._thickness = value;
17
+ this._markAsDirty();
18
+ }
19
+ /** Gets or sets arcing of the ellipse (ratio of the circumference between 0 and 1) */
20
+ get arc() {
21
+ return this._arc;
22
+ }
23
+ set arc(value) {
24
+ if (this._arc === value) {
25
+ return;
26
+ }
27
+ this._arc = value;
28
+ this._markAsDirty();
29
+ }
30
+ /**
31
+ * Creates a new Ellipse
32
+ * @param name defines the control name
33
+ */
34
+ constructor(name) {
35
+ super(name);
36
+ this.name = name;
37
+ this._thickness = 1;
38
+ this._arc = 1;
39
+ }
40
+ _getTypeName() {
41
+ return "Ellipse";
42
+ }
43
+ _localDraw(context) {
44
+ context.save();
45
+ if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
46
+ context.shadowColor = this.shadowColor;
47
+ context.shadowBlur = this.shadowBlur;
48
+ context.shadowOffsetX = this.shadowOffsetX * this._host.idealRatio;
49
+ context.shadowOffsetY = this.shadowOffsetY * this._host.idealRatio;
50
+ }
51
+ 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, this._arc, context);
52
+ if (this._backgroundGradient || this._background) {
53
+ context.fillStyle = this._getBackgroundColor(context);
54
+ context.fill();
55
+ }
56
+ if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
57
+ context.shadowBlur = 0;
58
+ context.shadowOffsetX = 0;
59
+ context.shadowOffsetY = 0;
60
+ }
61
+ if (this._thickness) {
62
+ if (this.color) {
63
+ context.strokeStyle = this.color;
64
+ }
65
+ context.lineWidth = this._thickness;
66
+ context.stroke();
67
+ }
68
+ context.restore();
69
+ }
70
+ _additionalProcessing(parentMeasure, context) {
71
+ super._additionalProcessing(parentMeasure, context);
72
+ this._measureForChildren.width -= 2 * this._thickness;
73
+ this._measureForChildren.height -= 2 * this._thickness;
74
+ this._measureForChildren.left += this._thickness;
75
+ this._measureForChildren.top += this._thickness;
76
+ }
77
+ _clipForChildren(context) {
78
+ Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, this._currentMeasure.width / 2, this._currentMeasure.height / 2, this._arc, context);
79
+ context.clip();
80
+ }
81
+ _renderHighlightSpecific(context) {
82
+ Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, this._currentMeasure.width / 2 - this._highlightLineWidth / 2, this._currentMeasure.height / 2 - this._highlightLineWidth / 2, this._arc, context);
83
+ context.stroke();
84
+ }
85
+ }
86
+ __decorate([
87
+ serialize()
88
+ ], Ellipse.prototype, "thickness", null);
89
+ __decorate([
90
+ serialize()
91
+ ], Ellipse.prototype, "arc", null);
92
+ let _Registered = false;
93
+ /**
94
+ * Registers the Ellipse class with the type store for serialization support.
95
+ * Safe to call multiple times; only the first call has an effect.
96
+ */
97
+ export function RegisterEllipse() {
98
+ if (_Registered) {
99
+ return;
100
+ }
101
+ _Registered = true;
102
+ RegisterClass("BABYLON.GUI.Ellipse", Ellipse);
103
+ }
104
+ //# sourceMappingURL=ellipse.pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ellipse.pure.js","sourceRoot":"","sources":["../../../../../dev/gui/src/2D/controls/ellipse.pure.ts"],"names":[],"mappings":"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","sourcesContent":["import { Container } from \"./container.pure\";\r\nimport { Control } from \"./control.pure\";\r\nimport { type Measure } from \"../measure\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { serialize } from \"core/Misc/decorators\";\r\nimport { type ICanvasRenderingContext } from \"core/Engines/ICanvas\";\r\n\r\n/** Class used to create 2D ellipse containers */\r\nexport class Ellipse extends Container {\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 private _arc = 1;\r\n\r\n /** Gets or sets arcing of the ellipse (ratio of the circumference between 0 and 1) */\r\n @serialize()\r\n public get arc(): number {\r\n return this._arc;\r\n }\r\n\r\n public set arc(value: number) {\r\n if (this._arc === value) {\r\n return;\r\n }\r\n\r\n this._arc = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Creates a new Ellipse\r\n * @param name defines the control name\r\n */\r\n constructor(public override name?: string) {\r\n super(name);\r\n }\r\n\r\n protected override _getTypeName(): string {\r\n return \"Ellipse\";\r\n }\r\n\r\n protected override _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 * this._host.idealRatio;\r\n context.shadowOffsetY = this.shadowOffsetY * this._host.idealRatio;\r\n }\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 this._currentMeasure.width / 2 - this._thickness / 2,\r\n this._currentMeasure.height / 2 - this._thickness / 2,\r\n this._arc,\r\n context\r\n );\r\n\r\n if (this._backgroundGradient || this._background) {\r\n context.fillStyle = this._getBackgroundColor(context);\r\n\r\n context.fill();\r\n }\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._thickness) {\r\n if (this.color) {\r\n context.strokeStyle = this.color;\r\n }\r\n context.lineWidth = this._thickness;\r\n\r\n context.stroke();\r\n }\r\n\r\n context.restore();\r\n }\r\n\r\n protected override _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 protected override _clipForChildren(context: ICanvasRenderingContext) {\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,\r\n this._currentMeasure.height / 2,\r\n this._arc,\r\n context\r\n );\r\n\r\n context.clip();\r\n }\r\n\r\n public override _renderHighlightSpecific(context: ICanvasRenderingContext): void {\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._highlightLineWidth / 2,\r\n this._currentMeasure.height / 2 - this._highlightLineWidth / 2,\r\n this._arc,\r\n context\r\n );\r\n context.stroke();\r\n }\r\n}\r\n\r\nlet _Registered = false;\r\n/**\r\n * Registers the Ellipse class with the type store for serialization support.\r\n * Safe to call multiple times; only the first call has an effect.\r\n */\r\nexport function RegisterEllipse(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n RegisterClass(\"BABYLON.GUI.Ellipse\", Ellipse);\r\n}\r\n"]}
@@ -1,17 +1,5 @@
1
- import { type Vector2 } from "@babylonjs/core/Maths/math.vector.js";
2
- import { Button } from "./button.js";
3
- import { type Control } from "./control.js";
4
- import { type PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
5
- import { type IFocusableControl } from "./focusableControl.js";
6
1
  /**
7
- * Class used to create a focusable button that can easily handle keyboard events
8
- * @since 5.0.0
2
+ * Re-exports the pure implementation and applies the runtime registration side effect.
3
+ * Import "./focusableButton.pure" for tree-shakeable, side-effect-free usage.
9
4
  */
10
- export declare class FocusableButton extends Button implements IFocusableControl {
11
- name?: string | undefined;
12
- constructor(name?: string | undefined);
13
- /**
14
- * @internal
15
- */
16
- _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean;
17
- }
5
+ export * from "./focusableButton.pure.js";
@@ -1,25 +1,8 @@
1
- import { Button } from "./button.js";
2
- import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
3
1
  /**
4
- * Class used to create a focusable button that can easily handle keyboard events
5
- * @since 5.0.0
2
+ * Re-exports the pure implementation and applies the runtime registration side effect.
3
+ * Import "./focusableButton.pure" for tree-shakeable, side-effect-free usage.
6
4
  */
7
- export class FocusableButton extends Button {
8
- constructor(name) {
9
- super(name);
10
- this.name = name;
11
- this._unfocusedColor = this.color;
12
- }
13
- /**
14
- * @internal
15
- */
16
- _onPointerDown(target, coordinates, pointerId, buttonIndex, pi) {
17
- if (!this.isReadOnly) {
18
- // Clicking on button should focus
19
- this.focus();
20
- }
21
- return super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi);
22
- }
23
- }
24
- RegisterClass("BABYLON.GUI.FocusableButton", FocusableButton);
5
+ export * from "./focusableButton.pure.js";
6
+ import { RegisterFocusableButton } from "./focusableButton.pure.js";
7
+ RegisterFocusableButton();
25
8
  //# sourceMappingURL=focusableButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"focusableButton.js","sourceRoot":"","sources":["../../../../../dev/gui/src/2D/controls/focusableButton.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,MAAM;IACvC,YAA4B,IAAa;QACrC,KAAK,CAAC,IAAI,CAAC,CAAC;QADY,SAAI,GAAJ,IAAI,CAAS;QAGrC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;IACtC,CAAC;IAED;;OAEG;IACa,cAAc,CAAC,MAAe,EAAE,WAAoB,EAAE,SAAiB,EAAE,WAAmB,EAAE,EAAmB;QAC7H,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,kCAAkC;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QAED,OAAO,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;CACJ;AACD,aAAa,CAAC,6BAA6B,EAAE,eAAe,CAAC,CAAC","sourcesContent":["import { type Vector2 } from \"core/Maths/math.vector\";\r\n\r\nimport { Button } from \"./button\";\r\nimport { type Control } from \"./control\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { type PointerInfoBase } from \"core/Events/pointerEvents\";\r\nimport { type IFocusableControl } from \"./focusableControl\";\r\n\r\n/**\r\n * Class used to create a focusable button that can easily handle keyboard events\r\n * @since 5.0.0\r\n */\r\nexport class FocusableButton extends Button implements IFocusableControl {\r\n constructor(public override name?: string) {\r\n super(name);\r\n\r\n this._unfocusedColor = this.color;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean {\r\n if (!this.isReadOnly) {\r\n // Clicking on button should focus\r\n this.focus();\r\n }\r\n\r\n return super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi);\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.FocusableButton\", FocusableButton);\r\n"]}
1
+ {"version":3,"file":"focusableButton.js","sourceRoot":"","sources":["../../../../../dev/gui/src/2D/controls/focusableButton.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,uBAAuB,EAAE,CAAC","sourcesContent":["/**\r\n * Re-exports the pure implementation and applies the runtime registration side effect.\r\n * Import \"./focusableButton.pure\" for tree-shakeable, side-effect-free usage.\r\n */\r\nexport * from \"./focusableButton.pure\";\r\n\r\nimport { RegisterFocusableButton } from \"./focusableButton.pure\";\r\nRegisterFocusableButton();\r\n"]}
@@ -0,0 +1,22 @@
1
+ import { type Vector2 } from "@babylonjs/core/Maths/math.vector.pure.js";
2
+ import { Button } from "./button.pure.js";
3
+ import { type Control } from "./control.pure.js";
4
+ import { type PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
5
+ import { type IFocusableControl } from "./focusableControl.js";
6
+ /**
7
+ * Class used to create a focusable button that can easily handle keyboard events
8
+ * @since 5.0.0
9
+ */
10
+ export declare class FocusableButton extends Button implements IFocusableControl {
11
+ name?: string | undefined;
12
+ constructor(name?: string | undefined);
13
+ /**
14
+ * @internal
15
+ */
16
+ _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean;
17
+ }
18
+ /**
19
+ * Registers the FocusableButton class with the type store for serialization support.
20
+ * Safe to call multiple times; only the first call has an effect.
21
+ */
22
+ export declare function RegisterFocusableButton(): void;
@@ -0,0 +1,36 @@
1
+ import { Button } from "./button.pure.js";
2
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
3
+ /**
4
+ * Class used to create a focusable button that can easily handle keyboard events
5
+ * @since 5.0.0
6
+ */
7
+ export class FocusableButton extends Button {
8
+ constructor(name) {
9
+ super(name);
10
+ this.name = name;
11
+ this._unfocusedColor = this.color;
12
+ }
13
+ /**
14
+ * @internal
15
+ */
16
+ _onPointerDown(target, coordinates, pointerId, buttonIndex, pi) {
17
+ if (!this.isReadOnly) {
18
+ // Clicking on button should focus
19
+ this.focus();
20
+ }
21
+ return super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi);
22
+ }
23
+ }
24
+ let _Registered = false;
25
+ /**
26
+ * Registers the FocusableButton class with the type store for serialization support.
27
+ * Safe to call multiple times; only the first call has an effect.
28
+ */
29
+ export function RegisterFocusableButton() {
30
+ if (_Registered) {
31
+ return;
32
+ }
33
+ _Registered = true;
34
+ RegisterClass("BABYLON.GUI.FocusableButton", FocusableButton);
35
+ }
36
+ //# sourceMappingURL=focusableButton.pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focusableButton.pure.js","sourceRoot":"","sources":["../../../../../dev/gui/src/2D/controls/focusableButton.pure.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,MAAM;IACvC,YAA4B,IAAa;QACrC,KAAK,CAAC,IAAI,CAAC,CAAC;QADY,SAAI,GAAJ,IAAI,CAAS;QAGrC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;IACtC,CAAC;IAED;;OAEG;IACa,cAAc,CAAC,MAAe,EAAE,WAAoB,EAAE,SAAiB,EAAE,WAAmB,EAAE,EAAmB;QAC7H,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,kCAAkC;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QAED,OAAO,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;CACJ;AAED,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACnC,IAAI,WAAW,EAAE,CAAC;QACd,OAAO;IACX,CAAC;IACD,WAAW,GAAG,IAAI,CAAC;IAEnB,aAAa,CAAC,6BAA6B,EAAE,eAAe,CAAC,CAAC;AAClE,CAAC","sourcesContent":["import { type Vector2 } from \"core/Maths/math.vector.pure\";\r\n\r\nimport { Button } from \"./button.pure\";\r\nimport { type Control } from \"./control.pure\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { type PointerInfoBase } from \"core/Events/pointerEvents\";\r\nimport { type IFocusableControl } from \"./focusableControl\";\r\n\r\n/**\r\n * Class used to create a focusable button that can easily handle keyboard events\r\n * @since 5.0.0\r\n */\r\nexport class FocusableButton extends Button implements IFocusableControl {\r\n constructor(public override name?: string) {\r\n super(name);\r\n\r\n this._unfocusedColor = this.color;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean {\r\n if (!this.isReadOnly) {\r\n // Clicking on button should focus\r\n this.focus();\r\n }\r\n\r\n return super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi);\r\n }\r\n}\r\n\r\nlet _Registered = false;\r\n/**\r\n * Registers the FocusableButton class with the type store for serialization support.\r\n * Safe to call multiple times; only the first call has an effect.\r\n */\r\nexport function RegisterFocusableButton(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n RegisterClass(\"BABYLON.GUI.FocusableButton\", FocusableButton);\r\n}\r\n"]}
@@ -1,45 +1,5 @@
1
- import { type ICanvasGradient, type ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
2
- import { BaseGradient } from "./BaseGradient.js";
3
1
  /**
4
- * Gradient along a line that connects two coordinates.
5
- * These coordinates are relative to the canvas' space, not to any control's space.
6
- * @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createLinearGradient
2
+ * Re-exports the pure implementation and applies the runtime registration side effect.
3
+ * Import "./LinearGradient.pure" for tree-shakeable, side-effect-free usage.
7
4
  */
8
- export declare class LinearGradient extends BaseGradient {
9
- private _x0;
10
- private _y0;
11
- private _x1;
12
- private _y1;
13
- /**
14
- * Creates a new linear gradient
15
- * @param x0
16
- * @param y0
17
- * @param x1
18
- * @param y1
19
- */
20
- constructor(x0?: number, y0?: number, x1?: number, y1?: number);
21
- protected _createCanvasGradient(context: ICanvasRenderingContext): ICanvasGradient;
22
- /** X axis coordinate of the starting point in the line */
23
- get x0(): number;
24
- /** X axis coordinate of the ending point in the line */
25
- get x1(): number;
26
- /** Y axis coordinate of the starting point in the line */
27
- get y0(): number;
28
- /** Y axis coordinate of the ending point in the line */
29
- get y1(): number;
30
- /**
31
- * Class name of the gradient
32
- * @returns the class name of the gradient
33
- */
34
- getClassName(): string;
35
- /**
36
- * Serializes this gradient
37
- * @param serializationObject the object to serialize to
38
- */
39
- serialize(serializationObject: any): void;
40
- /**
41
- * Parses a gradient from a serialization object
42
- * @param serializationObject the object to parse from
43
- */
44
- parse(serializationObject: any): void;
45
- }
5
+ export * from "./LinearGradient.pure.js";
@@ -1,73 +1,8 @@
1
- import { BaseGradient } from "./BaseGradient.js";
2
- import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
3
1
  /**
4
- * Gradient along a line that connects two coordinates.
5
- * These coordinates are relative to the canvas' space, not to any control's space.
6
- * @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createLinearGradient
2
+ * Re-exports the pure implementation and applies the runtime registration side effect.
3
+ * Import "./LinearGradient.pure" for tree-shakeable, side-effect-free usage.
7
4
  */
8
- export class LinearGradient extends BaseGradient {
9
- /**
10
- * Creates a new linear gradient
11
- * @param x0
12
- * @param y0
13
- * @param x1
14
- * @param y1
15
- */
16
- constructor(x0, y0, x1, y1) {
17
- super();
18
- this._x0 = x0 ?? 0;
19
- this._y0 = y0 ?? 0;
20
- this._x1 = x1 ?? 0;
21
- this._y1 = y1 ?? 0;
22
- }
23
- _createCanvasGradient(context) {
24
- return context.createLinearGradient(this._x0, this._y0, this._x1, this._y1);
25
- }
26
- /** X axis coordinate of the starting point in the line */
27
- get x0() {
28
- return this._x0;
29
- }
30
- /** X axis coordinate of the ending point in the line */
31
- get x1() {
32
- return this._x1;
33
- }
34
- /** Y axis coordinate of the starting point in the line */
35
- get y0() {
36
- return this._y0;
37
- }
38
- /** Y axis coordinate of the ending point in the line */
39
- get y1() {
40
- return this._y1;
41
- }
42
- /**
43
- * Class name of the gradient
44
- * @returns the class name of the gradient
45
- */
46
- getClassName() {
47
- return "LinearGradient";
48
- }
49
- /**
50
- * Serializes this gradient
51
- * @param serializationObject the object to serialize to
52
- */
53
- serialize(serializationObject) {
54
- super.serialize(serializationObject);
55
- serializationObject.x0 = this._x0;
56
- serializationObject.y0 = this._y0;
57
- serializationObject.x1 = this._x1;
58
- serializationObject.y1 = this._y1;
59
- }
60
- /**
61
- * Parses a gradient from a serialization object
62
- * @param serializationObject the object to parse from
63
- */
64
- parse(serializationObject) {
65
- super.parse(serializationObject);
66
- this._x0 = serializationObject.x0;
67
- this._y0 = serializationObject.y0;
68
- this._x1 = serializationObject.x1;
69
- this._y1 = serializationObject.y1;
70
- }
71
- }
72
- RegisterClass("BABYLON.GUI.LinearGradient", LinearGradient);
5
+ export * from "./LinearGradient.pure.js";
6
+ import { RegisterLinearGradient } from "./LinearGradient.pure.js";
7
+ RegisterLinearGradient();
73
8
  //# sourceMappingURL=LinearGradient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinearGradient.js","sourceRoot":"","sources":["../../../../../../dev/gui/src/2D/controls/gradient/LinearGradient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAY;IAM5C;;;;;;OAMG;IACH,YAAY,EAAW,EAAE,EAAW,EAAE,EAAW,EAAE,EAAW;QAC1D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;IACvB,CAAC;IAES,qBAAqB,CAAC,OAAgC;QAC5D,OAAO,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAChF,CAAC;IAED,0DAA0D;IAC1D,IAAW,EAAE;QACT,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,wDAAwD;IACxD,IAAW,EAAE;QACT,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,0DAA0D;IAC1D,IAAW,EAAE;QACT,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,wDAAwD;IACxD,IAAW,EAAE;QACT,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED;;;OAGG;IACa,YAAY;QACxB,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACa,SAAS,CAAC,mBAAwB;QAC9C,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACrC,mBAAmB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAClC,mBAAmB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAClC,mBAAmB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAClC,mBAAmB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;IACtC,CAAC;IAED;;;OAGG;IACa,KAAK,CAAC,mBAAwB;QAC1C,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,mBAAmB,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,GAAG,mBAAmB,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,GAAG,mBAAmB,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,GAAG,mBAAmB,CAAC,EAAE,CAAC;IACtC,CAAC;CACJ;AACD,aAAa,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC","sourcesContent":["import { type ICanvasGradient, type ICanvasRenderingContext } from \"core/Engines/ICanvas\";\r\nimport { BaseGradient } from \"./BaseGradient\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\n\r\n/**\r\n * Gradient along a line that connects two coordinates.\r\n * These coordinates are relative to the canvas' space, not to any control's space.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createLinearGradient\r\n */\r\nexport class LinearGradient extends BaseGradient {\r\n private _x0: number;\r\n private _y0: number;\r\n private _x1: number;\r\n private _y1: number;\r\n\r\n /**\r\n * Creates a new linear gradient\r\n * @param x0\r\n * @param y0\r\n * @param x1\r\n * @param y1\r\n */\r\n constructor(x0?: number, y0?: number, x1?: number, y1?: number) {\r\n super();\r\n this._x0 = x0 ?? 0;\r\n this._y0 = y0 ?? 0;\r\n this._x1 = x1 ?? 0;\r\n this._y1 = y1 ?? 0;\r\n }\r\n\r\n protected _createCanvasGradient(context: ICanvasRenderingContext): ICanvasGradient {\r\n return context.createLinearGradient(this._x0, this._y0, this._x1, this._y1);\r\n }\r\n\r\n /** X axis coordinate of the starting point in the line */\r\n public get x0() {\r\n return this._x0;\r\n }\r\n\r\n /** X axis coordinate of the ending point in the line */\r\n public get x1() {\r\n return this._x1;\r\n }\r\n\r\n /** Y axis coordinate of the starting point in the line */\r\n public get y0() {\r\n return this._y0;\r\n }\r\n\r\n /** Y axis coordinate of the ending point in the line */\r\n public get y1() {\r\n return this._y1;\r\n }\r\n\r\n /**\r\n * Class name of the gradient\r\n * @returns the class name of the gradient\r\n */\r\n public override getClassName(): string {\r\n return \"LinearGradient\";\r\n }\r\n\r\n /**\r\n * Serializes this gradient\r\n * @param serializationObject the object to serialize to\r\n */\r\n public override serialize(serializationObject: any): void {\r\n super.serialize(serializationObject);\r\n serializationObject.x0 = this._x0;\r\n serializationObject.y0 = this._y0;\r\n serializationObject.x1 = this._x1;\r\n serializationObject.y1 = this._y1;\r\n }\r\n\r\n /**\r\n * Parses a gradient from a serialization object\r\n * @param serializationObject the object to parse from\r\n */\r\n public override parse(serializationObject: any): void {\r\n super.parse(serializationObject);\r\n this._x0 = serializationObject.x0;\r\n this._y0 = serializationObject.y0;\r\n this._x1 = serializationObject.x1;\r\n this._y1 = serializationObject.y1;\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.LinearGradient\", LinearGradient);\r\n"]}
1
+ {"version":3,"file":"LinearGradient.js","sourceRoot":"","sources":["../../../../../../dev/gui/src/2D/controls/gradient/LinearGradient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,sBAAsB,EAAE,CAAC","sourcesContent":["/**\r\n * Re-exports the pure implementation and applies the runtime registration side effect.\r\n * Import \"./LinearGradient.pure\" for tree-shakeable, side-effect-free usage.\r\n */\r\nexport * from \"./LinearGradient.pure\";\r\n\r\nimport { RegisterLinearGradient } from \"./LinearGradient.pure\";\r\nRegisterLinearGradient();\r\n"]}
@@ -0,0 +1,50 @@
1
+ import { type ICanvasGradient, type ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
2
+ import { BaseGradient } from "./BaseGradient.js";
3
+ /**
4
+ * Gradient along a line that connects two coordinates.
5
+ * These coordinates are relative to the canvas' space, not to any control's space.
6
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createLinearGradient
7
+ */
8
+ export declare class LinearGradient extends BaseGradient {
9
+ private _x0;
10
+ private _y0;
11
+ private _x1;
12
+ private _y1;
13
+ /**
14
+ * Creates a new linear gradient
15
+ * @param x0
16
+ * @param y0
17
+ * @param x1
18
+ * @param y1
19
+ */
20
+ constructor(x0?: number, y0?: number, x1?: number, y1?: number);
21
+ protected _createCanvasGradient(context: ICanvasRenderingContext): ICanvasGradient;
22
+ /** X axis coordinate of the starting point in the line */
23
+ get x0(): number;
24
+ /** X axis coordinate of the ending point in the line */
25
+ get x1(): number;
26
+ /** Y axis coordinate of the starting point in the line */
27
+ get y0(): number;
28
+ /** Y axis coordinate of the ending point in the line */
29
+ get y1(): number;
30
+ /**
31
+ * Class name of the gradient
32
+ * @returns the class name of the gradient
33
+ */
34
+ getClassName(): string;
35
+ /**
36
+ * Serializes this gradient
37
+ * @param serializationObject the object to serialize to
38
+ */
39
+ serialize(serializationObject: any): void;
40
+ /**
41
+ * Parses a gradient from a serialization object
42
+ * @param serializationObject the object to parse from
43
+ */
44
+ parse(serializationObject: any): void;
45
+ }
46
+ /**
47
+ * Registers the LinearGradient class with the type store for serialization support.
48
+ * Safe to call multiple times; only the first call has an effect.
49
+ */
50
+ export declare function RegisterLinearGradient(): void;