@babylonjs/gui 5.0.0-rc.0 → 5.0.0-rc.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/2D/adtInstrumentation.d.ts +52 -52
  2. package/2D/adtInstrumentation.js +126 -126
  3. package/2D/adtInstrumentation.js.map +1 -1
  4. package/2D/advancedDynamicTexture.d.ts +449 -423
  5. package/2D/advancedDynamicTexture.js +1318 -1286
  6. package/2D/advancedDynamicTexture.js.map +1 -1
  7. package/2D/controls/button.d.ts +135 -97
  8. package/2D/controls/button.js +276 -238
  9. package/2D/controls/button.js.map +1 -1
  10. package/2D/controls/checkbox.d.ts +59 -51
  11. package/2D/controls/checkbox.js +188 -178
  12. package/2D/controls/checkbox.js.map +1 -1
  13. package/2D/controls/colorpicker.d.ts +103 -90
  14. package/2D/controls/colorpicker.js +1417 -1400
  15. package/2D/controls/colorpicker.js.map +1 -1
  16. package/2D/controls/container.d.ts +175 -130
  17. package/2D/controls/container.js +570 -525
  18. package/2D/controls/container.js.map +1 -1
  19. package/2D/controls/control.d.ts +866 -743
  20. package/2D/controls/control.js +2433 -2308
  21. package/2D/controls/control.js.map +1 -1
  22. package/2D/controls/displayGrid.d.ts +53 -55
  23. package/2D/controls/displayGrid.js +245 -245
  24. package/2D/controls/displayGrid.js.map +1 -1
  25. package/2D/controls/ellipse.d.ts +21 -21
  26. package/2D/controls/ellipse.js +85 -85
  27. package/2D/controls/ellipse.js.map +1 -1
  28. package/2D/controls/focusableButton.d.ts +59 -52
  29. package/2D/controls/focusableButton.js +99 -92
  30. package/2D/controls/focusableButton.js.map +1 -1
  31. package/2D/controls/focusableControl.d.ts +34 -34
  32. package/2D/controls/focusableControl.js +1 -1
  33. package/2D/controls/focusableControl.js.map +1 -1
  34. package/2D/controls/grid.d.ts +139 -135
  35. package/2D/controls/grid.js +529 -525
  36. package/2D/controls/grid.js.map +1 -1
  37. package/2D/controls/image.d.ts +204 -197
  38. package/2D/controls/image.js +887 -879
  39. package/2D/controls/image.js.map +1 -1
  40. package/2D/controls/index.d.ts +29 -29
  41. package/2D/controls/index.js +29 -29
  42. package/2D/controls/index.js.map +1 -1
  43. package/2D/controls/inputPassword.d.ts +9 -8
  44. package/2D/controls/inputPassword.js +28 -25
  45. package/2D/controls/inputPassword.js.map +1 -1
  46. package/2D/controls/inputText.d.ts +201 -182
  47. package/2D/controls/inputText.js +1119 -1096
  48. package/2D/controls/inputText.js.map +1 -1
  49. package/2D/controls/line.d.ts +66 -66
  50. package/2D/controls/line.js +271 -271
  51. package/2D/controls/line.js.map +1 -1
  52. package/2D/controls/multiLine.d.ts +75 -77
  53. package/2D/controls/multiLine.js +262 -262
  54. package/2D/controls/multiLine.js.map +1 -1
  55. package/2D/controls/radioButton.d.ts +49 -49
  56. package/2D/controls/radioButton.js +205 -205
  57. package/2D/controls/radioButton.js.map +1 -1
  58. package/2D/controls/rectangle.d.ts +29 -29
  59. package/2D/controls/rectangle.js +150 -150
  60. package/2D/controls/rectangle.js.map +1 -1
  61. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -175
  62. package/2D/controls/scrollViewers/scrollViewer.js +677 -676
  63. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  64. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -45
  65. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -263
  66. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  67. package/2D/controls/selector.d.ts +263 -209
  68. package/2D/controls/selector.js +692 -629
  69. package/2D/controls/selector.js.map +1 -1
  70. package/2D/controls/sliders/baseSlider.d.ts +82 -78
  71. package/2D/controls/sliders/baseSlider.js +347 -343
  72. package/2D/controls/sliders/baseSlider.js.map +1 -1
  73. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -47
  74. package/2D/controls/sliders/imageBasedSlider.js +192 -188
  75. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  76. package/2D/controls/sliders/imageScrollBar.d.ts +65 -61
  77. package/2D/controls/sliders/imageScrollBar.js +263 -256
  78. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  79. package/2D/controls/sliders/scrollBar.d.ts +38 -34
  80. package/2D/controls/sliders/scrollBar.js +143 -136
  81. package/2D/controls/sliders/scrollBar.js.map +1 -1
  82. package/2D/controls/sliders/slider.d.ts +35 -37
  83. package/2D/controls/sliders/slider.js +271 -271
  84. package/2D/controls/sliders/slider.js.map +1 -1
  85. package/2D/controls/stackPanel.d.ts +64 -56
  86. package/2D/controls/stackPanel.js +246 -236
  87. package/2D/controls/stackPanel.js.map +1 -1
  88. package/2D/controls/statics.d.ts +6 -6
  89. package/2D/controls/statics.js +49 -47
  90. package/2D/controls/statics.js.map +1 -1
  91. package/2D/controls/textBlock.d.ts +175 -172
  92. package/2D/controls/textBlock.js +603 -598
  93. package/2D/controls/textBlock.js.map +1 -1
  94. package/2D/controls/textWrapper.d.ts +13 -13
  95. package/2D/controls/textWrapper.js +101 -101
  96. package/2D/controls/textWrapper.js.map +1 -1
  97. package/2D/controls/toggleButton.d.ts +117 -83
  98. package/2D/controls/toggleButton.js +268 -234
  99. package/2D/controls/toggleButton.js.map +1 -1
  100. package/2D/controls/virtualKeyboard.d.ts +96 -96
  101. package/2D/controls/virtualKeyboard.js +256 -256
  102. package/2D/controls/virtualKeyboard.js.map +1 -1
  103. package/2D/index.d.ts +9 -9
  104. package/2D/index.js +10 -9
  105. package/2D/index.js.map +1 -1
  106. package/2D/math2D.d.ts +117 -117
  107. package/2D/math2D.js +221 -221
  108. package/2D/math2D.js.map +1 -1
  109. package/2D/measure.d.ts +77 -77
  110. package/2D/measure.js +139 -149
  111. package/2D/measure.js.map +1 -1
  112. package/2D/multiLinePoint.d.ts +47 -47
  113. package/2D/multiLinePoint.js +127 -127
  114. package/2D/multiLinePoint.js.map +1 -1
  115. package/2D/style.d.ts +46 -46
  116. package/2D/style.js +97 -97
  117. package/2D/style.js.map +1 -1
  118. package/2D/valueAndUnit.d.ts +89 -89
  119. package/2D/valueAndUnit.js +226 -222
  120. package/2D/valueAndUnit.js.map +1 -1
  121. package/2D/xmlLoader.d.ts +60 -60
  122. package/2D/xmlLoader.js +348 -348
  123. package/2D/xmlLoader.js.map +1 -1
  124. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  125. package/3D/behaviors/defaultBehavior.js +121 -121
  126. package/3D/behaviors/defaultBehavior.js.map +1 -1
  127. package/3D/controls/abstractButton3D.d.ts +15 -15
  128. package/3D/controls/abstractButton3D.js +25 -25
  129. package/3D/controls/abstractButton3D.js.map +1 -1
  130. package/3D/controls/button3D.d.ts +30 -30
  131. package/3D/controls/button3D.js +93 -93
  132. package/3D/controls/button3D.js.map +1 -1
  133. package/3D/controls/container3D.d.ts +72 -72
  134. package/3D/controls/container3D.js +139 -140
  135. package/3D/controls/container3D.js.map +1 -1
  136. package/3D/controls/contentDisplay3D.d.ts +30 -30
  137. package/3D/controls/contentDisplay3D.js +79 -78
  138. package/3D/controls/contentDisplay3D.js.map +1 -1
  139. package/3D/controls/control3D.d.ts +201 -165
  140. package/3D/controls/control3D.js +445 -408
  141. package/3D/controls/control3D.js.map +1 -1
  142. package/3D/controls/cylinderPanel.d.ts +17 -17
  143. package/3D/controls/cylinderPanel.js +66 -66
  144. package/3D/controls/cylinderPanel.js.map +1 -1
  145. package/3D/controls/handMenu.d.ts +28 -28
  146. package/3D/controls/handMenu.js +47 -47
  147. package/3D/controls/handMenu.js.map +1 -1
  148. package/3D/controls/holographicBackplate.d.ts +49 -48
  149. package/3D/controls/holographicBackplate.js +120 -120
  150. package/3D/controls/holographicBackplate.js.map +1 -1
  151. package/3D/controls/holographicButton.d.ts +84 -83
  152. package/3D/controls/holographicButton.js +339 -338
  153. package/3D/controls/holographicButton.js.map +1 -1
  154. package/3D/controls/holographicSlate.d.ts +131 -128
  155. package/3D/controls/holographicSlate.js +431 -428
  156. package/3D/controls/holographicSlate.js.map +1 -1
  157. package/3D/controls/index.d.ts +21 -21
  158. package/3D/controls/index.js +21 -21
  159. package/3D/controls/index.js.map +1 -1
  160. package/3D/controls/meshButton3D.d.ts +21 -21
  161. package/3D/controls/meshButton3D.js +62 -61
  162. package/3D/controls/meshButton3D.js.map +1 -1
  163. package/3D/controls/nearMenu.d.ts +44 -44
  164. package/3D/controls/nearMenu.js +114 -112
  165. package/3D/controls/nearMenu.js.map +1 -1
  166. package/3D/controls/planePanel.d.ts +9 -9
  167. package/3D/controls/planePanel.js +36 -36
  168. package/3D/controls/planePanel.js.map +1 -1
  169. package/3D/controls/scatterPanel.d.ts +18 -18
  170. package/3D/controls/scatterPanel.js +108 -108
  171. package/3D/controls/scatterPanel.js.map +1 -1
  172. package/3D/controls/slider3D.d.ts +81 -80
  173. package/3D/controls/slider3D.js +268 -267
  174. package/3D/controls/slider3D.js.map +1 -1
  175. package/3D/controls/spherePanel.d.ts +17 -17
  176. package/3D/controls/spherePanel.js +67 -67
  177. package/3D/controls/spherePanel.js.map +1 -1
  178. package/3D/controls/stackPanel3D.d.ts +22 -22
  179. package/3D/controls/stackPanel3D.js +107 -107
  180. package/3D/controls/stackPanel3D.js.map +1 -1
  181. package/3D/controls/touchButton3D.d.ts +80 -75
  182. package/3D/controls/touchButton3D.js +233 -227
  183. package/3D/controls/touchButton3D.js.map +1 -1
  184. package/3D/controls/touchHolographicButton.d.ts +110 -109
  185. package/3D/controls/touchHolographicButton.js +445 -445
  186. package/3D/controls/touchHolographicButton.js.map +1 -1
  187. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  188. package/3D/controls/touchHolographicMenu.js +149 -148
  189. package/3D/controls/touchHolographicMenu.js.map +1 -1
  190. package/3D/controls/touchMeshButton3D.d.ts +21 -22
  191. package/3D/controls/touchMeshButton3D.js +62 -62
  192. package/3D/controls/touchMeshButton3D.js.map +1 -1
  193. package/3D/controls/volumeBasedPanel.d.ts +53 -52
  194. package/3D/controls/volumeBasedPanel.js +174 -174
  195. package/3D/controls/volumeBasedPanel.js.map +1 -1
  196. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  197. package/3D/gizmos/gizmoHandle.js +209 -209
  198. package/3D/gizmos/gizmoHandle.js.map +1 -1
  199. package/3D/gizmos/index.d.ts +2 -2
  200. package/3D/gizmos/index.js +2 -2
  201. package/3D/gizmos/index.js.map +1 -1
  202. package/3D/gizmos/slateGizmo.d.ts +57 -57
  203. package/3D/gizmos/slateGizmo.js +369 -369
  204. package/3D/gizmos/slateGizmo.js.map +1 -1
  205. package/3D/gui3DManager.d.ts +94 -94
  206. package/3D/gui3DManager.js +257 -257
  207. package/3D/gui3DManager.js.map +1 -1
  208. package/3D/index.d.ts +5 -5
  209. package/3D/index.js +6 -5
  210. package/3D/index.js.map +1 -1
  211. package/3D/materials/fluent/fluentMaterial.d.ts +91 -90
  212. package/3D/materials/fluent/fluentMaterial.js +292 -281
  213. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  214. package/3D/materials/fluent/index.d.ts +1 -1
  215. package/3D/materials/fluent/index.js +1 -1
  216. package/3D/materials/fluent/index.js.map +1 -1
  217. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  218. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -6
  219. package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -1
  220. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  221. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -6
  222. package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -1
  223. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +155 -154
  224. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -434
  225. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  226. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  227. package/3D/materials/fluentBackplate/index.js +1 -1
  228. package/3D/materials/fluentBackplate/index.js.map +1 -1
  229. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  230. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -6
  231. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -1
  232. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  233. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -6
  234. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -1
  235. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +190 -189
  236. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -537
  237. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  238. package/3D/materials/fluentButton/index.d.ts +1 -1
  239. package/3D/materials/fluentButton/index.js +1 -1
  240. package/3D/materials/fluentButton/index.js.map +1 -1
  241. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  242. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -6
  243. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -1
  244. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  245. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -6
  246. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -1
  247. package/3D/materials/fluentMaterial.d.ts +4 -4
  248. package/3D/materials/fluentMaterial.js +4 -4
  249. package/3D/materials/fluentMaterial.js.map +1 -1
  250. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  251. package/3D/materials/handle/handleMaterial.js +126 -126
  252. package/3D/materials/handle/handleMaterial.js.map +1 -1
  253. package/3D/materials/handle/index.d.ts +1 -1
  254. package/3D/materials/handle/index.js +1 -1
  255. package/3D/materials/handle/index.js.map +1 -1
  256. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  257. package/3D/materials/handle/shaders/handle.fragment.js +8 -6
  258. package/3D/materials/handle/shaders/handle.fragment.js.map +1 -1
  259. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  260. package/3D/materials/handle/shaders/handle.vertex.js +8 -6
  261. package/3D/materials/handle/shaders/handle.vertex.js.map +1 -1
  262. package/3D/materials/index.d.ts +5 -5
  263. package/3D/materials/index.js +6 -5
  264. package/3D/materials/index.js.map +1 -1
  265. package/3D/materials/mrdl/index.d.ts +3 -3
  266. package/3D/materials/mrdl/index.js +3 -3
  267. package/3D/materials/mrdl/index.js.map +1 -1
  268. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +148 -147
  269. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -409
  270. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  271. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +334 -333
  272. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -786
  273. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  274. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +334 -333
  275. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -786
  276. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  277. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  278. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -6
  279. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -1
  280. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  281. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -6
  282. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -1
  283. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  284. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -6
  285. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -1
  286. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  287. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -6
  288. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -1
  289. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  290. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -6
  291. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -1
  292. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  293. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -6
  294. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -1
  295. package/3D/vector3WithInfo.d.ts +16 -16
  296. package/3D/vector3WithInfo.js +23 -23
  297. package/3D/vector3WithInfo.js.map +1 -1
  298. package/index.d.ts +2 -2
  299. package/index.js +3 -2
  300. package/index.js.map +1 -1
  301. package/legacy/legacy.d.ts +1 -1
  302. package/legacy/legacy.js +14 -13
  303. package/legacy/legacy.js.map +1 -1
  304. package/package.json +21 -328
  305. package/readme.md +2 -2
@@ -1,282 +1,293 @@
1
- import { __decorate, __extends } from "tslib";
2
- import { serializeAsColor4, serializeAsVector3, serializeAsTexture, serialize, expandToProperty, serializeAsColor3, SerializationHelper } from "@babylonjs/core/Misc/decorators.js";
3
- import { Vector3, TmpVectors } from "@babylonjs/core/Maths/math.vector.js";
4
- import { MaterialDefines } from "@babylonjs/core/Materials/materialDefines.js";
5
- import { MaterialHelper } from "@babylonjs/core/Materials/materialHelper.js";
6
- import { PushMaterial } from "@babylonjs/core/Materials/pushMaterial.js";
7
- import { VertexBuffer } from "@babylonjs/core/Buffers/buffer.js";
8
- import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
9
- import { Color3, Color4 } from "@babylonjs/core/Maths/math.color.js";
10
- import "./shaders/fluent.vertex.js";
11
- import "./shaders/fluent.fragment.js";
12
- /** @hidden */
13
- var FluentMaterialDefines = /** @class */ (function (_super) {
14
- __extends(FluentMaterialDefines, _super);
15
- function FluentMaterialDefines() {
16
- var _this = _super.call(this) || this;
17
- _this.INNERGLOW = false;
18
- _this.BORDER = false;
19
- _this.HOVERLIGHT = false;
20
- _this.TEXTURE = false;
21
- _this.rebuild();
22
- return _this;
23
- }
24
- return FluentMaterialDefines;
25
- }(MaterialDefines));
26
- export { FluentMaterialDefines };
27
- /**
28
- * Class used to render controls with fluent desgin
29
- */
30
- var FluentMaterial = /** @class */ (function (_super) {
31
- __extends(FluentMaterial, _super);
32
- /**
33
- * Creates a new Fluent material
34
- * @param name defines the name of the material
35
- * @param scene defines the hosting scene
36
- */
37
- function FluentMaterial(name, scene) {
38
- var _this = _super.call(this, name, scene) || this;
39
- /**
40
- * Gets or sets inner glow intensity. A value of 0 means no glow (default is 0.5)
41
- */
42
- _this.innerGlowColorIntensity = 0.5;
43
- /**
44
- * Gets or sets the inner glow color (white by default)
45
- */
46
- _this.innerGlowColor = new Color3(1.0, 1.0, 1.0);
47
- /**
48
- * Gets or sets the albedo color (Default is Color3(0.3, 0.35, 0.4))
49
- */
50
- _this.albedoColor = new Color3(0.3, 0.35, 0.4);
51
- /**
52
- * Gets or sets a boolean indicating if borders must be rendered (default is false)
53
- */
54
- _this.renderBorders = false;
55
- /**
56
- * Gets or sets border width (default is 0.5)
57
- */
58
- _this.borderWidth = 0.5;
59
- /**
60
- * Gets or sets a value indicating the smoothing value applied to border edges (0.02 by default)
61
- */
62
- _this.edgeSmoothingValue = 0.02;
63
- /**
64
- * Gets or sets the minimum value that can be applied to border width (default is 0.1)
65
- */
66
- _this.borderMinValue = 0.1;
67
- /**
68
- * Gets or sets a boolean indicating if hover light must be rendered (default is false)
69
- */
70
- _this.renderHoverLight = false;
71
- /**
72
- * Gets or sets the radius used to render the hover light (default is 1.0)
73
- */
74
- _this.hoverRadius = 0.01;
75
- /**
76
- * Gets or sets the color used to render the hover light (default is Color4(0.3, 0.3, 0.3, 1.0))
77
- */
78
- _this.hoverColor = new Color4(0.3, 0.3, 0.3, 1.0);
79
- /**
80
- * Gets or sets the hover light position in world space (default is Vector3.Zero())
81
- */
82
- _this.hoverPosition = Vector3.Zero();
83
- return _this;
84
- }
85
- FluentMaterial.prototype.needAlphaBlending = function () {
86
- return this.alpha !== 1.0;
87
- };
88
- FluentMaterial.prototype.needAlphaTesting = function () {
89
- return false;
90
- };
91
- FluentMaterial.prototype.getAlphaTestTexture = function () {
92
- return null;
93
- };
94
- FluentMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) {
95
- if (this.isFrozen) {
96
- if (subMesh.effect && subMesh.effect._wasPreviouslyReady) {
97
- return true;
98
- }
99
- }
100
- if (!subMesh.materialDefines) {
101
- subMesh.materialDefines = new FluentMaterialDefines();
102
- }
103
- var scene = this.getScene();
104
- var defines = subMesh.materialDefines;
105
- if (!this.checkReadyOnEveryCall && subMesh.effect) {
106
- if (defines._renderId === scene.getRenderId()) {
107
- return true;
108
- }
109
- }
110
- if (defines._areTexturesDirty) {
111
- defines.INNERGLOW = this.innerGlowColorIntensity > 0;
112
- defines.BORDER = this.renderBorders;
113
- defines.HOVERLIGHT = this.renderHoverLight;
114
- if (this._albedoTexture) {
115
- if (!this._albedoTexture.isReadyOrNotBlocking()) {
116
- return false;
117
- }
118
- else {
119
- defines.TEXTURE = true;
120
- }
121
- }
122
- else {
123
- defines.TEXTURE = false;
124
- }
125
- }
126
- var engine = scene.getEngine();
127
- // Get correct effect
128
- if (defines.isDirty) {
129
- defines.markAsProcessed();
130
- scene.resetCachedMaterial();
131
- //Attributes
132
- var attribs = [VertexBuffer.PositionKind];
133
- attribs.push(VertexBuffer.NormalKind);
134
- attribs.push(VertexBuffer.UVKind);
135
- var shaderName = "fluent";
136
- var uniforms = ["world", "viewProjection", "innerGlowColor", "albedoColor", "borderWidth", "edgeSmoothingValue", "scaleFactor", "borderMinValue",
137
- "hoverColor", "hoverPosition", "hoverRadius", "textureMatrix"
138
- ];
139
- var samplers = ["albedoSampler"];
140
- var uniformBuffers = new Array();
141
- MaterialHelper.PrepareUniformsAndSamplersList({
142
- uniformsNames: uniforms,
143
- uniformBuffersNames: uniformBuffers,
144
- samplers: samplers,
145
- defines: defines,
146
- maxSimultaneousLights: 4
147
- });
148
- var join = defines.toString();
149
- subMesh.setEffect(scene.getEngine().createEffect(shaderName, {
150
- attributes: attribs,
151
- uniformsNames: uniforms,
152
- uniformBuffersNames: uniformBuffers,
153
- samplers: samplers,
154
- defines: join,
155
- fallbacks: null,
156
- onCompiled: this.onCompiled,
157
- onError: this.onError,
158
- indexParameters: { maxSimultaneousLights: 4 }
159
- }, engine), defines, this._materialContext);
160
- }
161
- if (!subMesh.effect || !subMesh.effect.isReady()) {
162
- return false;
163
- }
164
- defines._renderId = scene.getRenderId();
165
- subMesh.effect._wasPreviouslyReady = true;
166
- return true;
167
- };
168
- FluentMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) {
169
- var scene = this.getScene();
170
- var defines = subMesh.materialDefines;
171
- if (!defines) {
172
- return;
173
- }
174
- var effect = subMesh.effect;
175
- if (!effect) {
176
- return;
177
- }
178
- this._activeEffect = effect;
179
- // Matrices
180
- this.bindOnlyWorldMatrix(world);
181
- this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix());
182
- if (this._mustRebind(scene, effect)) {
183
- this._activeEffect.setColor4("albedoColor", this.albedoColor, this.alpha);
184
- if (defines.INNERGLOW) {
185
- this._activeEffect.setColor4("innerGlowColor", this.innerGlowColor, this.innerGlowColorIntensity);
186
- }
187
- if (defines.BORDER) {
188
- this._activeEffect.setFloat("borderWidth", this.borderWidth);
189
- this._activeEffect.setFloat("edgeSmoothingValue", this.edgeSmoothingValue);
190
- this._activeEffect.setFloat("borderMinValue", this.borderMinValue);
191
- mesh.getBoundingInfo().boundingBox.extendSize.multiplyToRef(mesh.scaling, TmpVectors.Vector3[0]);
192
- this._activeEffect.setVector3("scaleFactor", TmpVectors.Vector3[0]);
193
- }
194
- if (defines.HOVERLIGHT) {
195
- this._activeEffect.setDirectColor4("hoverColor", this.hoverColor);
196
- this._activeEffect.setFloat("hoverRadius", this.hoverRadius);
197
- this._activeEffect.setVector3("hoverPosition", this.hoverPosition);
198
- }
199
- if (defines.TEXTURE && this._albedoTexture) {
200
- this._activeEffect.setTexture("albedoSampler", this._albedoTexture);
201
- var matrix = this._albedoTexture.getTextureMatrix();
202
- this._activeEffect.setMatrix("textureMatrix", matrix);
203
- }
204
- }
205
- this._afterBind(mesh, this._activeEffect);
206
- };
207
- FluentMaterial.prototype.getActiveTextures = function () {
208
- var activeTextures = _super.prototype.getActiveTextures.call(this);
209
- return activeTextures;
210
- };
211
- FluentMaterial.prototype.hasTexture = function (texture) {
212
- if (_super.prototype.hasTexture.call(this, texture)) {
213
- return true;
214
- }
215
- return false;
216
- };
217
- FluentMaterial.prototype.dispose = function (forceDisposeEffect) {
218
- _super.prototype.dispose.call(this, forceDisposeEffect);
219
- };
220
- FluentMaterial.prototype.clone = function (name) {
221
- var _this = this;
222
- return SerializationHelper.Clone(function () { return new FluentMaterial(name, _this.getScene()); }, this);
223
- };
224
- FluentMaterial.prototype.serialize = function () {
225
- var serializationObject = _super.prototype.serialize.call(this);
226
- serializationObject.customType = "BABYLON.GUI.FluentMaterial";
227
- return serializationObject;
228
- };
229
- FluentMaterial.prototype.getClassName = function () {
230
- return "FluentMaterial";
231
- };
232
- // Statics
233
- FluentMaterial.Parse = function (source, scene, rootUrl) {
234
- return SerializationHelper.Parse(function () { return new FluentMaterial(source.name, scene); }, source, scene, rootUrl);
235
- };
236
- __decorate([
237
- serialize(),
238
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
239
- ], FluentMaterial.prototype, "innerGlowColorIntensity", void 0);
240
- __decorate([
241
- serializeAsColor3()
242
- ], FluentMaterial.prototype, "innerGlowColor", void 0);
243
- __decorate([
244
- serializeAsColor3()
245
- ], FluentMaterial.prototype, "albedoColor", void 0);
246
- __decorate([
247
- serialize(),
248
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
249
- ], FluentMaterial.prototype, "renderBorders", void 0);
250
- __decorate([
251
- serialize()
252
- ], FluentMaterial.prototype, "borderWidth", void 0);
253
- __decorate([
254
- serialize()
255
- ], FluentMaterial.prototype, "edgeSmoothingValue", void 0);
256
- __decorate([
257
- serialize()
258
- ], FluentMaterial.prototype, "borderMinValue", void 0);
259
- __decorate([
260
- serialize(),
261
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
262
- ], FluentMaterial.prototype, "renderHoverLight", void 0);
263
- __decorate([
264
- serialize()
265
- ], FluentMaterial.prototype, "hoverRadius", void 0);
266
- __decorate([
267
- serializeAsColor4()
268
- ], FluentMaterial.prototype, "hoverColor", void 0);
269
- __decorate([
270
- serializeAsVector3()
271
- ], FluentMaterial.prototype, "hoverPosition", void 0);
272
- __decorate([
273
- serializeAsTexture("albedoTexture")
274
- ], FluentMaterial.prototype, "_albedoTexture", void 0);
275
- __decorate([
276
- expandToProperty("_markAllSubMeshesAsTexturesAndMiscDirty")
277
- ], FluentMaterial.prototype, "albedoTexture", void 0);
278
- return FluentMaterial;
279
- }(PushMaterial));
280
- export { FluentMaterial };
281
- RegisterClass("BABYLON.GUI.FluentMaterial", FluentMaterial);
1
+ import { __decorate, __extends } from "tslib";
2
+ import { serializeAsColor4, serializeAsVector3, serializeAsTexture, serialize, expandToProperty, serializeAsColor3, SerializationHelper } from "@babylonjs/core/Misc/decorators.js";
3
+ import { Vector3, TmpVectors } from "@babylonjs/core/Maths/math.vector.js";
4
+ import { MaterialDefines } from "@babylonjs/core/Materials/materialDefines.js";
5
+ import { MaterialHelper } from "@babylonjs/core/Materials/materialHelper.js";
6
+ import { PushMaterial } from "@babylonjs/core/Materials/pushMaterial.js";
7
+ import { VertexBuffer } from "@babylonjs/core/Buffers/buffer.js";
8
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
9
+ import { Color3, Color4 } from "@babylonjs/core/Maths/math.color.js";
10
+ import "./shaders/fluent.vertex";
11
+ import "./shaders/fluent.fragment";
12
+ /** @hidden */
13
+ var FluentMaterialDefines = /** @class */ (function (_super) {
14
+ __extends(FluentMaterialDefines, _super);
15
+ function FluentMaterialDefines() {
16
+ var _this = _super.call(this) || this;
17
+ _this.INNERGLOW = false;
18
+ _this.BORDER = false;
19
+ _this.HOVERLIGHT = false;
20
+ _this.TEXTURE = false;
21
+ _this.rebuild();
22
+ return _this;
23
+ }
24
+ return FluentMaterialDefines;
25
+ }(MaterialDefines));
26
+ export { FluentMaterialDefines };
27
+ /**
28
+ * Class used to render controls with fluent design
29
+ */
30
+ var FluentMaterial = /** @class */ (function (_super) {
31
+ __extends(FluentMaterial, _super);
32
+ /**
33
+ * Creates a new Fluent material
34
+ * @param name defines the name of the material
35
+ * @param scene defines the hosting scene
36
+ */
37
+ function FluentMaterial(name, scene) {
38
+ var _this = _super.call(this, name, scene) || this;
39
+ /**
40
+ * Gets or sets inner glow intensity. A value of 0 means no glow (default is 0.5)
41
+ */
42
+ _this.innerGlowColorIntensity = 0.5;
43
+ /**
44
+ * Gets or sets the inner glow color (white by default)
45
+ */
46
+ _this.innerGlowColor = new Color3(1.0, 1.0, 1.0);
47
+ /**
48
+ * Gets or sets the albedo color (Default is Color3(0.3, 0.35, 0.4))
49
+ */
50
+ _this.albedoColor = new Color3(0.3, 0.35, 0.4);
51
+ /**
52
+ * Gets or sets a boolean indicating if borders must be rendered (default is false)
53
+ */
54
+ _this.renderBorders = false;
55
+ /**
56
+ * Gets or sets border width (default is 0.5)
57
+ */
58
+ _this.borderWidth = 0.5;
59
+ /**
60
+ * Gets or sets a value indicating the smoothing value applied to border edges (0.02 by default)
61
+ */
62
+ _this.edgeSmoothingValue = 0.02;
63
+ /**
64
+ * Gets or sets the minimum value that can be applied to border width (default is 0.1)
65
+ */
66
+ _this.borderMinValue = 0.1;
67
+ /**
68
+ * Gets or sets a boolean indicating if hover light must be rendered (default is false)
69
+ */
70
+ _this.renderHoverLight = false;
71
+ /**
72
+ * Gets or sets the radius used to render the hover light (default is 1.0)
73
+ */
74
+ _this.hoverRadius = 0.01;
75
+ /**
76
+ * Gets or sets the color used to render the hover light (default is Color4(0.3, 0.3, 0.3, 1.0))
77
+ */
78
+ _this.hoverColor = new Color4(0.3, 0.3, 0.3, 1.0);
79
+ /**
80
+ * Gets or sets the hover light position in world space (default is Vector3.Zero())
81
+ */
82
+ _this.hoverPosition = Vector3.Zero();
83
+ return _this;
84
+ }
85
+ FluentMaterial.prototype.needAlphaBlending = function () {
86
+ return this.alpha !== 1.0;
87
+ };
88
+ FluentMaterial.prototype.needAlphaTesting = function () {
89
+ return false;
90
+ };
91
+ FluentMaterial.prototype.getAlphaTestTexture = function () {
92
+ return null;
93
+ };
94
+ FluentMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh) {
95
+ if (this.isFrozen) {
96
+ if (subMesh.effect && subMesh.effect._wasPreviouslyReady) {
97
+ return true;
98
+ }
99
+ }
100
+ if (!subMesh.materialDefines) {
101
+ subMesh.materialDefines = new FluentMaterialDefines();
102
+ }
103
+ var scene = this.getScene();
104
+ var defines = subMesh.materialDefines;
105
+ if (!this.checkReadyOnEveryCall && subMesh.effect) {
106
+ if (defines._renderId === scene.getRenderId()) {
107
+ return true;
108
+ }
109
+ }
110
+ if (defines._areTexturesDirty) {
111
+ defines.INNERGLOW = this.innerGlowColorIntensity > 0;
112
+ defines.BORDER = this.renderBorders;
113
+ defines.HOVERLIGHT = this.renderHoverLight;
114
+ if (this._albedoTexture) {
115
+ if (!this._albedoTexture.isReadyOrNotBlocking()) {
116
+ return false;
117
+ }
118
+ else {
119
+ defines.TEXTURE = true;
120
+ }
121
+ }
122
+ else {
123
+ defines.TEXTURE = false;
124
+ }
125
+ }
126
+ var engine = scene.getEngine();
127
+ // Get correct effect
128
+ if (defines.isDirty) {
129
+ defines.markAsProcessed();
130
+ scene.resetCachedMaterial();
131
+ //Attributes
132
+ var attribs = [VertexBuffer.PositionKind];
133
+ attribs.push(VertexBuffer.NormalKind);
134
+ attribs.push(VertexBuffer.UVKind);
135
+ var shaderName = "fluent";
136
+ var uniforms = [
137
+ "world",
138
+ "viewProjection",
139
+ "innerGlowColor",
140
+ "albedoColor",
141
+ "borderWidth",
142
+ "edgeSmoothingValue",
143
+ "scaleFactor",
144
+ "borderMinValue",
145
+ "hoverColor",
146
+ "hoverPosition",
147
+ "hoverRadius",
148
+ "textureMatrix",
149
+ ];
150
+ var samplers = ["albedoSampler"];
151
+ var uniformBuffers = new Array();
152
+ MaterialHelper.PrepareUniformsAndSamplersList({
153
+ uniformsNames: uniforms,
154
+ uniformBuffersNames: uniformBuffers,
155
+ samplers: samplers,
156
+ defines: defines,
157
+ maxSimultaneousLights: 4,
158
+ });
159
+ var join = defines.toString();
160
+ subMesh.setEffect(scene.getEngine().createEffect(shaderName, {
161
+ attributes: attribs,
162
+ uniformsNames: uniforms,
163
+ uniformBuffersNames: uniformBuffers,
164
+ samplers: samplers,
165
+ defines: join,
166
+ fallbacks: null,
167
+ onCompiled: this.onCompiled,
168
+ onError: this.onError,
169
+ indexParameters: { maxSimultaneousLights: 4 },
170
+ }, engine), defines, this._materialContext);
171
+ }
172
+ if (!subMesh.effect || !subMesh.effect.isReady()) {
173
+ return false;
174
+ }
175
+ defines._renderId = scene.getRenderId();
176
+ subMesh.effect._wasPreviouslyReady = true;
177
+ return true;
178
+ };
179
+ FluentMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) {
180
+ var scene = this.getScene();
181
+ var defines = subMesh.materialDefines;
182
+ if (!defines) {
183
+ return;
184
+ }
185
+ var effect = subMesh.effect;
186
+ if (!effect) {
187
+ return;
188
+ }
189
+ this._activeEffect = effect;
190
+ // Matrices
191
+ this.bindOnlyWorldMatrix(world);
192
+ this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix());
193
+ if (this._mustRebind(scene, effect)) {
194
+ this._activeEffect.setColor4("albedoColor", this.albedoColor, this.alpha);
195
+ if (defines.INNERGLOW) {
196
+ this._activeEffect.setColor4("innerGlowColor", this.innerGlowColor, this.innerGlowColorIntensity);
197
+ }
198
+ if (defines.BORDER) {
199
+ this._activeEffect.setFloat("borderWidth", this.borderWidth);
200
+ this._activeEffect.setFloat("edgeSmoothingValue", this.edgeSmoothingValue);
201
+ this._activeEffect.setFloat("borderMinValue", this.borderMinValue);
202
+ mesh.getBoundingInfo().boundingBox.extendSize.multiplyToRef(mesh.scaling, TmpVectors.Vector3[0]);
203
+ this._activeEffect.setVector3("scaleFactor", TmpVectors.Vector3[0]);
204
+ }
205
+ if (defines.HOVERLIGHT) {
206
+ this._activeEffect.setDirectColor4("hoverColor", this.hoverColor);
207
+ this._activeEffect.setFloat("hoverRadius", this.hoverRadius);
208
+ this._activeEffect.setVector3("hoverPosition", this.hoverPosition);
209
+ }
210
+ if (defines.TEXTURE && this._albedoTexture) {
211
+ this._activeEffect.setTexture("albedoSampler", this._albedoTexture);
212
+ var matrix = this._albedoTexture.getTextureMatrix();
213
+ this._activeEffect.setMatrix("textureMatrix", matrix);
214
+ }
215
+ }
216
+ this._afterBind(mesh, this._activeEffect);
217
+ };
218
+ FluentMaterial.prototype.getActiveTextures = function () {
219
+ var activeTextures = _super.prototype.getActiveTextures.call(this);
220
+ return activeTextures;
221
+ };
222
+ FluentMaterial.prototype.hasTexture = function (texture) {
223
+ if (_super.prototype.hasTexture.call(this, texture)) {
224
+ return true;
225
+ }
226
+ return false;
227
+ };
228
+ FluentMaterial.prototype.dispose = function (forceDisposeEffect) {
229
+ _super.prototype.dispose.call(this, forceDisposeEffect);
230
+ };
231
+ FluentMaterial.prototype.clone = function (name) {
232
+ var _this = this;
233
+ return SerializationHelper.Clone(function () { return new FluentMaterial(name, _this.getScene()); }, this);
234
+ };
235
+ FluentMaterial.prototype.serialize = function () {
236
+ var serializationObject = _super.prototype.serialize.call(this);
237
+ serializationObject.customType = "BABYLON.GUI.FluentMaterial";
238
+ return serializationObject;
239
+ };
240
+ FluentMaterial.prototype.getClassName = function () {
241
+ return "FluentMaterial";
242
+ };
243
+ // Statics
244
+ FluentMaterial.Parse = function (source, scene, rootUrl) {
245
+ return SerializationHelper.Parse(function () { return new FluentMaterial(source.name, scene); }, source, scene, rootUrl);
246
+ };
247
+ __decorate([
248
+ serialize(),
249
+ expandToProperty("_markAllSubMeshesAsTexturesDirty")
250
+ ], FluentMaterial.prototype, "innerGlowColorIntensity", void 0);
251
+ __decorate([
252
+ serializeAsColor3()
253
+ ], FluentMaterial.prototype, "innerGlowColor", void 0);
254
+ __decorate([
255
+ serializeAsColor3()
256
+ ], FluentMaterial.prototype, "albedoColor", void 0);
257
+ __decorate([
258
+ serialize(),
259
+ expandToProperty("_markAllSubMeshesAsTexturesDirty")
260
+ ], FluentMaterial.prototype, "renderBorders", void 0);
261
+ __decorate([
262
+ serialize()
263
+ ], FluentMaterial.prototype, "borderWidth", void 0);
264
+ __decorate([
265
+ serialize()
266
+ ], FluentMaterial.prototype, "edgeSmoothingValue", void 0);
267
+ __decorate([
268
+ serialize()
269
+ ], FluentMaterial.prototype, "borderMinValue", void 0);
270
+ __decorate([
271
+ serialize(),
272
+ expandToProperty("_markAllSubMeshesAsTexturesDirty")
273
+ ], FluentMaterial.prototype, "renderHoverLight", void 0);
274
+ __decorate([
275
+ serialize()
276
+ ], FluentMaterial.prototype, "hoverRadius", void 0);
277
+ __decorate([
278
+ serializeAsColor4()
279
+ ], FluentMaterial.prototype, "hoverColor", void 0);
280
+ __decorate([
281
+ serializeAsVector3()
282
+ ], FluentMaterial.prototype, "hoverPosition", void 0);
283
+ __decorate([
284
+ serializeAsTexture("albedoTexture")
285
+ ], FluentMaterial.prototype, "_albedoTexture", void 0);
286
+ __decorate([
287
+ expandToProperty("_markAllSubMeshesAsTexturesAndMiscDirty")
288
+ ], FluentMaterial.prototype, "albedoTexture", void 0);
289
+ return FluentMaterial;
290
+ }(PushMaterial));
291
+ export { FluentMaterial };
292
+ RegisterClass("BABYLON.GUI.FluentMaterial", FluentMaterial);
282
293
  //# sourceMappingURL=fluentMaterial.js.map