@babylonjs/gui 5.0.0-rc.7 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/2D/adtInstrumentation.d.ts +52 -52
  2. package/2D/adtInstrumentation.js +126 -126
  3. package/2D/adtInstrumentation.js.map +1 -1
  4. package/2D/advancedDynamicTexture.d.ts +449 -448
  5. package/2D/advancedDynamicTexture.js +1318 -1318
  6. package/2D/advancedDynamicTexture.js.map +1 -1
  7. package/2D/controls/button.d.ts +135 -135
  8. package/2D/controls/button.js +276 -276
  9. package/2D/controls/button.js.map +1 -1
  10. package/2D/controls/checkbox.d.ts +59 -59
  11. package/2D/controls/checkbox.js +188 -188
  12. package/2D/controls/checkbox.js.map +1 -1
  13. package/2D/controls/colorpicker.d.ts +103 -103
  14. package/2D/controls/colorpicker.js +1417 -1417
  15. package/2D/controls/colorpicker.js.map +1 -1
  16. package/2D/controls/container.d.ts +175 -175
  17. package/2D/controls/container.js +570 -570
  18. package/2D/controls/container.js.map +1 -1
  19. package/2D/controls/control.d.ts +866 -866
  20. package/2D/controls/control.js +2433 -2433
  21. package/2D/controls/control.js.map +1 -1
  22. package/2D/controls/displayGrid.d.ts +53 -53
  23. package/2D/controls/displayGrid.js +245 -245
  24. package/2D/controls/displayGrid.js.map +1 -1
  25. package/2D/controls/ellipse.d.ts +21 -21
  26. package/2D/controls/ellipse.js +85 -85
  27. package/2D/controls/ellipse.js.map +1 -1
  28. package/2D/controls/focusableButton.d.ts +59 -59
  29. package/2D/controls/focusableButton.js +99 -99
  30. package/2D/controls/focusableButton.js.map +1 -1
  31. package/2D/controls/focusableControl.d.ts +34 -34
  32. package/2D/controls/focusableControl.js +1 -1
  33. package/2D/controls/focusableControl.js.map +1 -1
  34. package/2D/controls/grid.d.ts +139 -139
  35. package/2D/controls/grid.js +529 -529
  36. package/2D/controls/grid.js.map +1 -1
  37. package/2D/controls/image.d.ts +204 -204
  38. package/2D/controls/image.js +887 -887
  39. package/2D/controls/image.js.map +1 -1
  40. package/2D/controls/index.d.ts +29 -29
  41. package/2D/controls/index.js +29 -29
  42. package/2D/controls/inputPassword.d.ts +9 -8
  43. package/2D/controls/inputPassword.js +28 -25
  44. package/2D/controls/inputPassword.js.map +1 -1
  45. package/2D/controls/inputText.d.ts +201 -201
  46. package/2D/controls/inputText.js +1119 -1119
  47. package/2D/controls/inputText.js.map +1 -1
  48. package/2D/controls/line.d.ts +66 -66
  49. package/2D/controls/line.js +271 -271
  50. package/2D/controls/line.js.map +1 -1
  51. package/2D/controls/multiLine.d.ts +75 -75
  52. package/2D/controls/multiLine.js +262 -262
  53. package/2D/controls/multiLine.js.map +1 -1
  54. package/2D/controls/radioButton.d.ts +49 -49
  55. package/2D/controls/radioButton.js +205 -205
  56. package/2D/controls/radioButton.js.map +1 -1
  57. package/2D/controls/rectangle.d.ts +29 -29
  58. package/2D/controls/rectangle.js +150 -150
  59. package/2D/controls/rectangle.js.map +1 -1
  60. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -182
  61. package/2D/controls/scrollViewers/scrollViewer.js +677 -677
  62. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  63. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -57
  64. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -278
  65. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  66. package/2D/controls/selector.d.ts +263 -263
  67. package/2D/controls/selector.js +692 -692
  68. package/2D/controls/sliders/baseSlider.d.ts +82 -82
  69. package/2D/controls/sliders/baseSlider.js +347 -347
  70. package/2D/controls/sliders/baseSlider.js.map +1 -1
  71. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -49
  72. package/2D/controls/sliders/imageBasedSlider.js +192 -192
  73. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  74. package/2D/controls/sliders/imageScrollBar.d.ts +65 -65
  75. package/2D/controls/sliders/imageScrollBar.js +263 -263
  76. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  77. package/2D/controls/sliders/scrollBar.d.ts +38 -38
  78. package/2D/controls/sliders/scrollBar.js +143 -143
  79. package/2D/controls/sliders/scrollBar.js.map +1 -1
  80. package/2D/controls/sliders/slider.d.ts +35 -35
  81. package/2D/controls/sliders/slider.js +271 -271
  82. package/2D/controls/sliders/slider.js.map +1 -1
  83. package/2D/controls/stackPanel.d.ts +64 -64
  84. package/2D/controls/stackPanel.js +246 -246
  85. package/2D/controls/stackPanel.js.map +1 -1
  86. package/2D/controls/statics.d.ts +6 -6
  87. package/2D/controls/statics.js +49 -49
  88. package/2D/controls/textBlock.d.ts +175 -175
  89. package/2D/controls/textBlock.js +603 -603
  90. package/2D/controls/textBlock.js.map +1 -1
  91. package/2D/controls/textWrapper.d.ts +13 -13
  92. package/2D/controls/textWrapper.js +101 -101
  93. package/2D/controls/toggleButton.d.ts +117 -117
  94. package/2D/controls/toggleButton.js +268 -268
  95. package/2D/controls/toggleButton.js.map +1 -1
  96. package/2D/controls/virtualKeyboard.d.ts +96 -96
  97. package/2D/controls/virtualKeyboard.js +256 -256
  98. package/2D/controls/virtualKeyboard.js.map +1 -1
  99. package/2D/index.d.ts +9 -9
  100. package/2D/index.js +10 -9
  101. package/2D/index.js.map +1 -1
  102. package/2D/math2D.d.ts +117 -117
  103. package/2D/math2D.js +221 -221
  104. package/2D/math2D.js.map +1 -1
  105. package/2D/measure.d.ts +77 -77
  106. package/2D/measure.js +139 -139
  107. package/2D/measure.js.map +1 -1
  108. package/2D/multiLinePoint.d.ts +47 -47
  109. package/2D/multiLinePoint.js +127 -127
  110. package/2D/multiLinePoint.js.map +1 -1
  111. package/2D/style.d.ts +46 -46
  112. package/2D/style.js +97 -97
  113. package/2D/style.js.map +1 -1
  114. package/2D/valueAndUnit.d.ts +89 -89
  115. package/2D/valueAndUnit.js +226 -226
  116. package/2D/valueAndUnit.js.map +1 -1
  117. package/2D/xmlLoader.d.ts +60 -60
  118. package/2D/xmlLoader.js +348 -348
  119. package/2D/xmlLoader.js.map +1 -1
  120. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  121. package/3D/behaviors/defaultBehavior.js +121 -121
  122. package/3D/behaviors/defaultBehavior.js.map +1 -1
  123. package/3D/controls/abstractButton3D.d.ts +15 -15
  124. package/3D/controls/abstractButton3D.js +25 -25
  125. package/3D/controls/abstractButton3D.js.map +1 -1
  126. package/3D/controls/button3D.d.ts +30 -30
  127. package/3D/controls/button3D.js +93 -93
  128. package/3D/controls/button3D.js.map +1 -1
  129. package/3D/controls/container3D.d.ts +72 -72
  130. package/3D/controls/container3D.js +139 -139
  131. package/3D/controls/container3D.js.map +1 -1
  132. package/3D/controls/contentDisplay3D.d.ts +30 -30
  133. package/3D/controls/contentDisplay3D.js +79 -79
  134. package/3D/controls/contentDisplay3D.js.map +1 -1
  135. package/3D/controls/control3D.d.ts +201 -201
  136. package/3D/controls/control3D.js +445 -445
  137. package/3D/controls/control3D.js.map +1 -1
  138. package/3D/controls/cylinderPanel.d.ts +17 -17
  139. package/3D/controls/cylinderPanel.js +66 -66
  140. package/3D/controls/cylinderPanel.js.map +1 -1
  141. package/3D/controls/handMenu.d.ts +28 -28
  142. package/3D/controls/handMenu.js +47 -47
  143. package/3D/controls/handMenu.js.map +1 -1
  144. package/3D/controls/holographicBackplate.d.ts +49 -49
  145. package/3D/controls/holographicBackplate.js +120 -120
  146. package/3D/controls/holographicBackplate.js.map +1 -1
  147. package/3D/controls/holographicButton.d.ts +84 -84
  148. package/3D/controls/holographicButton.js +339 -339
  149. package/3D/controls/holographicButton.js.map +1 -1
  150. package/3D/controls/holographicSlate.d.ts +131 -131
  151. package/3D/controls/holographicSlate.js +431 -431
  152. package/3D/controls/holographicSlate.js.map +1 -1
  153. package/3D/controls/index.d.ts +21 -21
  154. package/3D/controls/index.js +21 -21
  155. package/3D/controls/meshButton3D.d.ts +21 -21
  156. package/3D/controls/meshButton3D.js +62 -62
  157. package/3D/controls/meshButton3D.js.map +1 -1
  158. package/3D/controls/nearMenu.d.ts +44 -44
  159. package/3D/controls/nearMenu.js +114 -114
  160. package/3D/controls/nearMenu.js.map +1 -1
  161. package/3D/controls/planePanel.d.ts +9 -9
  162. package/3D/controls/planePanel.js +36 -36
  163. package/3D/controls/planePanel.js.map +1 -1
  164. package/3D/controls/scatterPanel.d.ts +18 -18
  165. package/3D/controls/scatterPanel.js +108 -108
  166. package/3D/controls/scatterPanel.js.map +1 -1
  167. package/3D/controls/slider3D.d.ts +81 -81
  168. package/3D/controls/slider3D.js +268 -268
  169. package/3D/controls/slider3D.js.map +1 -1
  170. package/3D/controls/spherePanel.d.ts +17 -17
  171. package/3D/controls/spherePanel.js +67 -67
  172. package/3D/controls/spherePanel.js.map +1 -1
  173. package/3D/controls/stackPanel3D.d.ts +22 -22
  174. package/3D/controls/stackPanel3D.js +107 -107
  175. package/3D/controls/touchButton3D.d.ts +80 -80
  176. package/3D/controls/touchButton3D.js +233 -233
  177. package/3D/controls/touchButton3D.js.map +1 -1
  178. package/3D/controls/touchHolographicButton.d.ts +110 -110
  179. package/3D/controls/touchHolographicButton.js +445 -445
  180. package/3D/controls/touchHolographicButton.js.map +1 -1
  181. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  182. package/3D/controls/touchHolographicMenu.js +149 -149
  183. package/3D/controls/touchHolographicMenu.js.map +1 -1
  184. package/3D/controls/touchMeshButton3D.d.ts +21 -21
  185. package/3D/controls/touchMeshButton3D.js +62 -62
  186. package/3D/controls/touchMeshButton3D.js.map +1 -1
  187. package/3D/controls/volumeBasedPanel.d.ts +53 -53
  188. package/3D/controls/volumeBasedPanel.js +174 -174
  189. package/3D/controls/volumeBasedPanel.js.map +1 -1
  190. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  191. package/3D/gizmos/gizmoHandle.js +209 -209
  192. package/3D/gizmos/gizmoHandle.js.map +1 -1
  193. package/3D/gizmos/index.d.ts +2 -2
  194. package/3D/gizmos/index.js +2 -2
  195. package/3D/gizmos/slateGizmo.d.ts +57 -57
  196. package/3D/gizmos/slateGizmo.js +369 -369
  197. package/3D/gizmos/slateGizmo.js.map +1 -1
  198. package/3D/gui3DManager.d.ts +94 -94
  199. package/3D/gui3DManager.js +257 -257
  200. package/3D/gui3DManager.js.map +1 -1
  201. package/3D/index.d.ts +5 -5
  202. package/3D/index.js +6 -5
  203. package/3D/index.js.map +1 -1
  204. package/3D/materials/fluent/fluentMaterial.d.ts +91 -90
  205. package/3D/materials/fluent/fluentMaterial.js +292 -292
  206. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  207. package/3D/materials/fluent/index.d.ts +1 -1
  208. package/3D/materials/fluent/index.js +1 -1
  209. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  210. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -8
  211. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  212. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -8
  213. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +155 -154
  214. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -469
  215. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  216. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  217. package/3D/materials/fluentBackplate/index.js +1 -1
  218. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  219. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -8
  220. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  221. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -8
  222. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +190 -189
  223. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -539
  224. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  225. package/3D/materials/fluentButton/index.d.ts +1 -1
  226. package/3D/materials/fluentButton/index.js +1 -1
  227. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  228. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -8
  229. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  230. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -8
  231. package/3D/materials/fluentMaterial.d.ts +4 -4
  232. package/3D/materials/fluentMaterial.js +4 -4
  233. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  234. package/3D/materials/handle/handleMaterial.js +126 -126
  235. package/3D/materials/handle/handleMaterial.js.map +1 -1
  236. package/3D/materials/handle/index.d.ts +1 -1
  237. package/3D/materials/handle/index.js +1 -1
  238. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  239. package/3D/materials/handle/shaders/handle.fragment.js +8 -8
  240. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  241. package/3D/materials/handle/shaders/handle.vertex.js +8 -8
  242. package/3D/materials/index.d.ts +5 -5
  243. package/3D/materials/index.js +6 -5
  244. package/3D/materials/index.js.map +1 -1
  245. package/3D/materials/mrdl/index.d.ts +3 -3
  246. package/3D/materials/mrdl/index.js +3 -3
  247. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +148 -147
  248. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -436
  249. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  250. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +334 -333
  251. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -851
  252. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  253. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +334 -333
  254. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -851
  255. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  256. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  257. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -8
  258. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  259. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -8
  260. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  261. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -8
  262. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  263. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -8
  264. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  265. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -8
  266. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  267. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -8
  268. package/3D/vector3WithInfo.d.ts +16 -16
  269. package/3D/vector3WithInfo.js +23 -23
  270. package/index.d.ts +2 -2
  271. package/index.js +3 -2
  272. package/index.js.map +1 -1
  273. package/legacy/legacy.d.ts +1 -1
  274. package/legacy/legacy.js +14 -13
  275. package/legacy/legacy.js.map +1 -1
  276. package/license.md +71 -0
  277. package/package.json +24 -5
@@ -1,293 +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 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);
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 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);
293
293
  //# sourceMappingURL=fluentMaterial.js.map