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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/2D/adtInstrumentation.d.ts +2 -2
  2. package/2D/adtInstrumentation.js.map +1 -1
  3. package/2D/advancedDynamicTexture.d.ts +43 -20
  4. package/2D/advancedDynamicTexture.js +45 -22
  5. package/2D/advancedDynamicTexture.js.map +1 -1
  6. package/2D/controls/button.d.ts +50 -12
  7. package/2D/controls/button.js +48 -10
  8. package/2D/controls/button.js.map +1 -1
  9. package/2D/controls/checkbox.d.ts +17 -9
  10. package/2D/controls/checkbox.js +17 -7
  11. package/2D/controls/checkbox.js.map +1 -1
  12. package/2D/controls/colorpicker.d.ts +21 -8
  13. package/2D/controls/colorpicker.js +540 -523
  14. package/2D/controls/colorpicker.js.map +1 -1
  15. package/2D/controls/container.d.ts +63 -18
  16. package/2D/controls/container.js +63 -18
  17. package/2D/controls/container.js.map +1 -1
  18. package/2D/controls/control.d.ts +171 -48
  19. package/2D/controls/control.js +165 -41
  20. package/2D/controls/control.js.map +1 -1
  21. package/2D/controls/displayGrid.d.ts +2 -4
  22. package/2D/controls/displayGrid.js +3 -3
  23. package/2D/controls/displayGrid.js.map +1 -1
  24. package/2D/controls/ellipse.d.ts +1 -1
  25. package/2D/controls/ellipse.js +2 -2
  26. package/2D/controls/ellipse.js.map +1 -1
  27. package/2D/controls/focusableButton.d.ts +13 -6
  28. package/2D/controls/focusableButton.js +10 -3
  29. package/2D/controls/focusableButton.js.map +1 -1
  30. package/2D/controls/focusableControl.d.ts +11 -11
  31. package/2D/controls/focusableControl.js.map +1 -1
  32. package/2D/controls/grid.d.ts +7 -3
  33. package/2D/controls/grid.js +9 -5
  34. package/2D/controls/grid.js.map +1 -1
  35. package/2D/controls/image.d.ts +15 -8
  36. package/2D/controls/image.js +29 -21
  37. package/2D/controls/image.js.map +1 -1
  38. package/2D/controls/index.js.map +1 -1
  39. package/2D/controls/inputPassword.d.ts +1 -1
  40. package/2D/controls/inputPassword.js +2 -2
  41. package/2D/controls/inputPassword.js.map +1 -1
  42. package/2D/controls/inputText.d.ts +34 -15
  43. package/2D/controls/inputText.js +47 -24
  44. package/2D/controls/inputText.js.map +1 -1
  45. package/2D/controls/line.d.ts +4 -4
  46. package/2D/controls/line.js +5 -5
  47. package/2D/controls/line.js.map +1 -1
  48. package/2D/controls/multiLine.d.ts +9 -11
  49. package/2D/controls/multiLine.js +8 -8
  50. package/2D/controls/multiLine.js.map +1 -1
  51. package/2D/controls/radioButton.d.ts +4 -4
  52. package/2D/controls/radioButton.js +2 -2
  53. package/2D/controls/radioButton.js.map +1 -1
  54. package/2D/controls/rectangle.d.ts +1 -1
  55. package/2D/controls/rectangle.js +2 -2
  56. package/2D/controls/rectangle.js.map +1 -1
  57. package/2D/controls/scrollViewers/scrollViewer.d.ts +14 -7
  58. package/2D/controls/scrollViewers/scrollViewer.js +14 -13
  59. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  60. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +20 -8
  61. package/2D/controls/scrollViewers/scrollViewerWindow.js +25 -10
  62. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  63. package/2D/controls/selector.d.ts +79 -25
  64. package/2D/controls/selector.js +93 -30
  65. package/2D/controls/selector.js.map +1 -1
  66. package/2D/controls/sliders/baseSlider.d.ts +9 -5
  67. package/2D/controls/sliders/baseSlider.js +11 -7
  68. package/2D/controls/sliders/baseSlider.js.map +1 -1
  69. package/2D/controls/sliders/imageBasedSlider.d.ts +10 -8
  70. package/2D/controls/sliders/imageBasedSlider.js +10 -6
  71. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  72. package/2D/controls/sliders/imageScrollBar.d.ts +8 -4
  73. package/2D/controls/sliders/imageScrollBar.js +10 -3
  74. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  75. package/2D/controls/sliders/scrollBar.d.ts +8 -4
  76. package/2D/controls/sliders/scrollBar.js +10 -3
  77. package/2D/controls/sliders/scrollBar.js.map +1 -1
  78. package/2D/controls/sliders/slider.d.ts +2 -4
  79. package/2D/controls/sliders/slider.js +6 -6
  80. package/2D/controls/sliders/slider.js.map +1 -1
  81. package/2D/controls/stackPanel.d.ts +11 -3
  82. package/2D/controls/stackPanel.js +16 -6
  83. package/2D/controls/stackPanel.js.map +1 -1
  84. package/2D/controls/statics.js +2 -0
  85. package/2D/controls/statics.js.map +1 -1
  86. package/2D/controls/textBlock.d.ts +9 -6
  87. package/2D/controls/textBlock.js +11 -6
  88. package/2D/controls/textBlock.js.map +1 -1
  89. package/2D/controls/textWrapper.js.map +1 -1
  90. package/2D/controls/toggleButton.d.ts +43 -9
  91. package/2D/controls/toggleButton.js +40 -6
  92. package/2D/controls/toggleButton.js.map +1 -1
  93. package/2D/controls/virtualKeyboard.d.ts +2 -2
  94. package/2D/controls/virtualKeyboard.js +6 -6
  95. package/2D/controls/virtualKeyboard.js.map +1 -1
  96. package/2D/index.js.map +1 -1
  97. package/2D/math2D.d.ts +2 -2
  98. package/2D/math2D.js +2 -2
  99. package/2D/math2D.js.map +1 -1
  100. package/2D/measure.d.ts +4 -4
  101. package/2D/measure.js +6 -16
  102. package/2D/measure.js.map +1 -1
  103. package/2D/multiLinePoint.d.ts +3 -3
  104. package/2D/multiLinePoint.js +3 -3
  105. package/2D/multiLinePoint.js.map +1 -1
  106. package/2D/style.d.ts +2 -2
  107. package/2D/style.js.map +1 -1
  108. package/2D/valueAndUnit.d.ts +1 -1
  109. package/2D/valueAndUnit.js +8 -4
  110. package/2D/valueAndUnit.js.map +1 -1
  111. package/2D/xmlLoader.d.ts +10 -10
  112. package/2D/xmlLoader.js +17 -17
  113. package/2D/xmlLoader.js.map +1 -1
  114. package/3D/behaviors/defaultBehavior.d.ts +7 -7
  115. package/3D/behaviors/defaultBehavior.js.map +1 -1
  116. package/3D/controls/abstractButton3D.d.ts +2 -2
  117. package/3D/controls/abstractButton3D.js +1 -1
  118. package/3D/controls/abstractButton3D.js.map +1 -1
  119. package/3D/controls/button3D.d.ts +4 -4
  120. package/3D/controls/button3D.js.map +1 -1
  121. package/3D/controls/container3D.d.ts +3 -3
  122. package/3D/controls/container3D.js +1 -2
  123. package/3D/controls/container3D.js.map +1 -1
  124. package/3D/controls/contentDisplay3D.js +1 -0
  125. package/3D/controls/contentDisplay3D.js.map +1 -1
  126. package/3D/controls/control3D.d.ts +53 -17
  127. package/3D/controls/control3D.js +48 -11
  128. package/3D/controls/control3D.js.map +1 -1
  129. package/3D/controls/cylinderPanel.d.ts +2 -2
  130. package/3D/controls/cylinderPanel.js +2 -2
  131. package/3D/controls/cylinderPanel.js.map +1 -1
  132. package/3D/controls/handMenu.d.ts +5 -5
  133. package/3D/controls/handMenu.js.map +1 -1
  134. package/3D/controls/holographicBackplate.d.ts +4 -3
  135. package/3D/controls/holographicBackplate.js +4 -4
  136. package/3D/controls/holographicBackplate.js.map +1 -1
  137. package/3D/controls/holographicButton.d.ts +6 -5
  138. package/3D/controls/holographicButton.js +1 -0
  139. package/3D/controls/holographicButton.js.map +1 -1
  140. package/3D/controls/holographicSlate.d.ts +10 -7
  141. package/3D/controls/holographicSlate.js +17 -14
  142. package/3D/controls/holographicSlate.js.map +1 -1
  143. package/3D/controls/index.js.map +1 -1
  144. package/3D/controls/meshButton3D.d.ts +4 -4
  145. package/3D/controls/meshButton3D.js +3 -2
  146. package/3D/controls/meshButton3D.js.map +1 -1
  147. package/3D/controls/nearMenu.d.ts +5 -5
  148. package/3D/controls/nearMenu.js +6 -4
  149. package/3D/controls/nearMenu.js.map +1 -1
  150. package/3D/controls/planePanel.d.ts +1 -1
  151. package/3D/controls/planePanel.js.map +1 -1
  152. package/3D/controls/scatterPanel.d.ts +2 -2
  153. package/3D/controls/scatterPanel.js +1 -1
  154. package/3D/controls/scatterPanel.js.map +1 -1
  155. package/3D/controls/slider3D.d.ts +5 -5
  156. package/3D/controls/slider3D.js +8 -9
  157. package/3D/controls/slider3D.js.map +1 -1
  158. package/3D/controls/spherePanel.d.ts +2 -2
  159. package/3D/controls/spherePanel.js +2 -2
  160. package/3D/controls/spherePanel.js.map +1 -1
  161. package/3D/controls/stackPanel3D.js +3 -3
  162. package/3D/controls/stackPanel3D.js.map +1 -1
  163. package/3D/controls/touchButton3D.d.ts +12 -7
  164. package/3D/controls/touchButton3D.js +11 -5
  165. package/3D/controls/touchButton3D.js.map +1 -1
  166. package/3D/controls/touchHolographicButton.d.ts +7 -6
  167. package/3D/controls/touchHolographicButton.js +7 -7
  168. package/3D/controls/touchHolographicButton.js.map +1 -1
  169. package/3D/controls/touchHolographicMenu.d.ts +6 -6
  170. package/3D/controls/touchHolographicMenu.js +1 -0
  171. package/3D/controls/touchHolographicMenu.js.map +1 -1
  172. package/3D/controls/touchMeshButton3D.d.ts +4 -5
  173. package/3D/controls/touchMeshButton3D.js +3 -3
  174. package/3D/controls/touchMeshButton3D.js.map +1 -1
  175. package/3D/controls/volumeBasedPanel.d.ts +10 -9
  176. package/3D/controls/volumeBasedPanel.js +13 -13
  177. package/3D/controls/volumeBasedPanel.js.map +1 -1
  178. package/3D/gizmos/gizmoHandle.d.ts +5 -5
  179. package/3D/gizmos/gizmoHandle.js.map +1 -1
  180. package/3D/gizmos/index.js.map +1 -1
  181. package/3D/gizmos/slateGizmo.d.ts +4 -4
  182. package/3D/gizmos/slateGizmo.js.map +1 -1
  183. package/3D/gui3DManager.d.ts +7 -7
  184. package/3D/gui3DManager.js +3 -3
  185. package/3D/gui3DManager.js.map +1 -1
  186. package/3D/index.js.map +1 -1
  187. package/3D/materials/fluent/fluentMaterial.d.ts +12 -12
  188. package/3D/materials/fluent/fluentMaterial.js +17 -6
  189. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  190. package/3D/materials/fluent/index.js.map +1 -1
  191. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +1 -1
  192. package/3D/materials/fluent/shaders/fluent.fragment.js +4 -2
  193. package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -1
  194. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +1 -1
  195. package/3D/materials/fluent/shaders/fluent.vertex.js +4 -2
  196. package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -1
  197. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +12 -12
  198. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +48 -13
  199. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  200. package/3D/materials/fluentBackplate/index.js.map +1 -1
  201. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +1 -1
  202. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +4 -2
  203. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -1
  204. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +1 -1
  205. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +4 -2
  206. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -1
  207. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +12 -12
  208. package/3D/materials/fluentButton/fluentButtonMaterial.js +8 -6
  209. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  210. package/3D/materials/fluentButton/index.js.map +1 -1
  211. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +1 -1
  212. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +4 -2
  213. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -1
  214. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +1 -1
  215. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +4 -2
  216. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -1
  217. package/3D/materials/fluentMaterial.d.ts +1 -1
  218. package/3D/materials/fluentMaterial.js +1 -1
  219. package/3D/materials/fluentMaterial.js.map +1 -1
  220. package/3D/materials/handle/handleMaterial.d.ts +4 -4
  221. package/3D/materials/handle/handleMaterial.js.map +1 -1
  222. package/3D/materials/handle/index.js.map +1 -1
  223. package/3D/materials/handle/shaders/handle.fragment.d.ts +1 -1
  224. package/3D/materials/handle/shaders/handle.fragment.js +3 -1
  225. package/3D/materials/handle/shaders/handle.fragment.js.map +1 -1
  226. package/3D/materials/handle/shaders/handle.vertex.d.ts +1 -1
  227. package/3D/materials/handle/shaders/handle.vertex.js +4 -2
  228. package/3D/materials/handle/shaders/handle.vertex.js.map +1 -1
  229. package/3D/materials/index.js.map +1 -1
  230. package/3D/materials/mrdl/index.js.map +1 -1
  231. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +15 -15
  232. package/3D/materials/mrdl/mrdlBackplateMaterial.js +42 -15
  233. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  234. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +16 -16
  235. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +88 -23
  236. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  237. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +17 -17
  238. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +89 -24
  239. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  240. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +1 -1
  241. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +4 -2
  242. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -1
  243. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +1 -1
  244. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +4 -2
  245. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -1
  246. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +1 -1
  247. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +4 -2
  248. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -1
  249. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +1 -1
  250. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +4 -2
  251. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -1
  252. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +1 -1
  253. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +4 -2
  254. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -1
  255. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +1 -1
  256. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +4 -2
  257. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -1
  258. package/3D/vector3WithInfo.d.ts +1 -1
  259. package/3D/vector3WithInfo.js.map +1 -1
  260. package/index.js.map +1 -1
  261. package/legacy/legacy.d.ts +1 -1
  262. package/legacy/legacy.js +3 -3
  263. package/legacy/legacy.js.map +1 -1
  264. package/package.json +21 -328
  265. package/readme.md +2 -2
@@ -3,7 +3,7 @@ import { Rectangle } from "./rectangle.js";
3
3
  import { Control } from "./control.js";
4
4
  import { TextBlock } from "./textBlock.js";
5
5
  import { Image } from "./image.js";
6
- import { RegisterClass } from '@babylonjs/core/Misc/typeStore.js';
6
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
7
7
  /**
8
8
  * Class used to create 2D buttons
9
9
  */
@@ -66,7 +66,17 @@ var Button = /** @class */ (function (_super) {
66
66
  return "Button";
67
67
  };
68
68
  // While being a container, the button behaves like a control.
69
- /** @hidden */
69
+ /**
70
+ * @param x
71
+ * @param y
72
+ * @param pi
73
+ * @param type
74
+ * @param pointerId
75
+ * @param buttonIndex
76
+ * @param deltaX
77
+ * @param deltaY
78
+ * @hidden
79
+ */
70
80
  Button.prototype._processPicking = function (x, y, pi, type, pointerId, buttonIndex, deltaX, deltaY) {
71
81
  if (!this._isEnabled || !this.isHitTestVisible || !this.isVisible || this.notRenderable) {
72
82
  return false;
@@ -90,7 +100,11 @@ var Button = /** @class */ (function (_super) {
90
100
  this._processObservables(type, x, y, pi, pointerId, buttonIndex, deltaX, deltaY);
91
101
  return true;
92
102
  };
93
- /** @hidden */
103
+ /**
104
+ * @param target
105
+ * @param pi
106
+ * @hidden
107
+ */
94
108
  Button.prototype._onPointerEnter = function (target, pi) {
95
109
  if (!_super.prototype._onPointerEnter.call(this, target, pi)) {
96
110
  return false;
@@ -100,7 +114,12 @@ var Button = /** @class */ (function (_super) {
100
114
  }
101
115
  return true;
102
116
  };
103
- /** @hidden */
117
+ /**
118
+ * @param target
119
+ * @param pi
120
+ * @param force
121
+ * @hidden
122
+ */
104
123
  Button.prototype._onPointerOut = function (target, pi, force) {
105
124
  if (force === void 0) { force = false; }
106
125
  if (!this.isReadOnly && this.pointerOutAnimation) {
@@ -108,7 +127,14 @@ var Button = /** @class */ (function (_super) {
108
127
  }
109
128
  _super.prototype._onPointerOut.call(this, target, pi, force);
110
129
  };
111
- /** @hidden */
130
+ /**
131
+ * @param target
132
+ * @param coordinates
133
+ * @param pointerId
134
+ * @param buttonIndex
135
+ * @param pi
136
+ * @hidden
137
+ */
112
138
  Button.prototype._onPointerDown = function (target, coordinates, pointerId, buttonIndex, pi) {
113
139
  if (!_super.prototype._onPointerDown.call(this, target, coordinates, pointerId, buttonIndex, pi)) {
114
140
  return false;
@@ -118,7 +144,15 @@ var Button = /** @class */ (function (_super) {
118
144
  }
119
145
  return true;
120
146
  };
121
- /** @hidden */
147
+ /**
148
+ * @param target
149
+ * @param coordinates
150
+ * @param pointerId
151
+ * @param buttonIndex
152
+ * @param notifyClick
153
+ * @param pi
154
+ * @hidden
155
+ */
122
156
  Button.prototype._onPointerUp = function (target, coordinates, pointerId, buttonIndex, notifyClick, pi) {
123
157
  if (!this.isReadOnly && this.pointerUpAnimation) {
124
158
  this.pointerUpAnimation();
@@ -126,9 +160,9 @@ var Button = /** @class */ (function (_super) {
126
160
  _super.prototype._onPointerUp.call(this, target, coordinates, pointerId, buttonIndex, notifyClick, pi);
127
161
  };
128
162
  /**
129
- * Serializes the current button
130
- * @param serializationObject defines the JSON serialized object
131
- */
163
+ * Serializes the current button
164
+ * @param serializationObject defines the JSON serialized object
165
+ */
132
166
  Button.prototype.serialize = function (serializationObject) {
133
167
  _super.prototype.serialize.call(this, serializationObject);
134
168
  if (this._textBlock) {
@@ -138,7 +172,11 @@ var Button = /** @class */ (function (_super) {
138
172
  serializationObject.imageName = this._image.name;
139
173
  }
140
174
  };
141
- /** @hidden */
175
+ /**
176
+ * @param serializedObject
177
+ * @param host
178
+ * @hidden
179
+ */
142
180
  Button.prototype._parseFromContent = function (serializedObject, host) {
143
181
  _super.prototype._parseFromContent.call(this, serializedObject, host);
144
182
  if (serializedObject.textBlockName) {
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/2D/controls/button.ts"],"names":[],"mappings":"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","sourcesContent":["import { Nullable } from \"@babylonjs/core/types\";\r\nimport { Vector2 } from \"@babylonjs/core/Maths/math.vector\";\r\n\r\nimport { Rectangle } from \"./rectangle\";\r\nimport { Control } from \"./control\";\r\nimport { TextBlock } from \"./textBlock\";\r\nimport { Image } from \"./image\";\r\nimport { RegisterClass } from '@babylonjs/core/Misc/typeStore';\r\nimport { PointerInfoBase } from '@babylonjs/core/Events/pointerEvents';\r\nimport { AdvancedDynamicTexture } from \"../advancedDynamicTexture\";\r\n\r\n/**\r\n * Class used to create 2D buttons\r\n */\r\nexport class Button extends Rectangle {\r\n /**\r\n * Function called to generate a pointer enter animation\r\n */\r\n public pointerEnterAnimation: () => void;\r\n /**\r\n * Function called to generate a pointer out animation\r\n */\r\n public pointerOutAnimation: () => void;\r\n /**\r\n * Function called to generate a pointer down animation\r\n */\r\n public pointerDownAnimation: () => void;\r\n /**\r\n * Function called to generate a pointer up animation\r\n */\r\n public pointerUpAnimation: () => void;\r\n\r\n /**\r\n * Gets or sets a boolean indicating that the button will let internal controls handle picking instead of doing it directly using its bounding info\r\n */\r\n public delegatePickingToChildren = false;\r\n\r\n private _image: Nullable<Image>;\r\n /**\r\n * Returns the image part of the button (if any)\r\n */\r\n public get image(): Nullable<Image> {\r\n return this._image;\r\n }\r\n\r\n private _textBlock: Nullable<TextBlock>;\r\n /**\r\n * Returns the image part of the button (if any)\r\n */\r\n public get textBlock(): Nullable<TextBlock> {\r\n return this._textBlock;\r\n }\r\n\r\n /**\r\n * Creates a new Button\r\n * @param name defines the name of the button\r\n */\r\n constructor(public name?: string) {\r\n super(name);\r\n\r\n this.thickness = 1;\r\n this.isPointerBlocker = true;\r\n\r\n let alphaStore: Nullable<number> = null;\r\n\r\n this.pointerEnterAnimation = () => {\r\n alphaStore = this.alpha;\r\n this.alpha -= 0.1;\r\n };\r\n\r\n this.pointerOutAnimation = () => {\r\n if (alphaStore !== null) {\r\n this.alpha = alphaStore;\r\n }\r\n };\r\n\r\n this.pointerDownAnimation = () => {\r\n this.scaleX -= 0.05;\r\n this.scaleY -= 0.05;\r\n };\r\n\r\n this.pointerUpAnimation = () => {\r\n this.scaleX += 0.05;\r\n this.scaleY += 0.05;\r\n };\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"Button\";\r\n }\r\n\r\n // While being a container, the button behaves like a control.\r\n /** @hidden */\r\n public _processPicking(x: number, y: number, pi: PointerInfoBase, type: number, pointerId: number, buttonIndex: number, deltaX?: number, deltaY?: number): boolean {\r\n if (!this._isEnabled || !this.isHitTestVisible || !this.isVisible || this.notRenderable) {\r\n return false;\r\n }\r\n\r\n if (!super.contains(x, y)) {\r\n return false;\r\n }\r\n\r\n if (this.delegatePickingToChildren) {\r\n let contains = false;\r\n for (var index = this._children.length - 1; index >= 0; index--) {\r\n var child = this._children[index];\r\n if (child.isEnabled && child.isHitTestVisible && child.isVisible && !child.notRenderable && child.contains(x, y)) {\r\n contains = true;\r\n break;\r\n }\r\n }\r\n\r\n if (!contains) {\r\n return false;\r\n }\r\n }\r\n\r\n this._processObservables(type, x, y, pi, pointerId, buttonIndex, deltaX, deltaY);\r\n\r\n return true;\r\n }\r\n\r\n /** @hidden */\r\n public _onPointerEnter(target: Control, pi: PointerInfoBase): boolean {\r\n if (!super._onPointerEnter(target, pi)) {\r\n return false;\r\n }\r\n\r\n if (!this.isReadOnly && this.pointerEnterAnimation) {\r\n this.pointerEnterAnimation();\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /** @hidden */\r\n public _onPointerOut(target: Control, pi: PointerInfoBase, force = false): void {\r\n if (!this.isReadOnly && this.pointerOutAnimation) {\r\n this.pointerOutAnimation();\r\n }\r\n\r\n super._onPointerOut(target, pi, force);\r\n }\r\n\r\n /** @hidden */\r\n public _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean {\r\n if (!super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi)) {\r\n return false;\r\n }\r\n\r\n if (!this.isReadOnly && this.pointerDownAnimation) {\r\n this.pointerDownAnimation();\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /** @hidden */\r\n public _onPointerUp(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, notifyClick: boolean, pi: PointerInfoBase): void {\r\n if (!this.isReadOnly && this.pointerUpAnimation) {\r\n this.pointerUpAnimation();\r\n }\r\n\r\n super._onPointerUp(target, coordinates, pointerId, buttonIndex, notifyClick, pi);\r\n }\r\n\r\n /**\r\n * Serializes the current button\r\n * @param serializationObject defines the JSON serialized object\r\n */\r\n public serialize(serializationObject: any) {\r\n super.serialize(serializationObject);\r\n\r\n if (this._textBlock) {\r\n serializationObject.textBlockName = this._textBlock.name;\r\n }\r\n if (this._image) {\r\n serializationObject.imageName = this._image.name;\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _parseFromContent(serializedObject: any, host: AdvancedDynamicTexture) {\r\n super._parseFromContent(serializedObject, host);\r\n\r\n if (serializedObject.textBlockName) {\r\n this._textBlock = this.getChildByName(serializedObject.textBlockName) as Nullable<TextBlock>;\r\n }\r\n\r\n if (serializedObject.imageName) {\r\n this._image = this.getChildByName(serializedObject.imageName) as Nullable<Image>;\r\n }\r\n }\r\n\r\n // Statics\r\n /**\r\n * Creates a new button made with an image and a text\r\n * @param name defines the name of the button\r\n * @param text defines the text of the button\r\n * @param imageUrl defines the url of the image\r\n * @returns a new Button\r\n */\r\n public static CreateImageButton(name: string, text: string, imageUrl: string): Button {\r\n var result = new this(name);\r\n\r\n // Adding text\r\n var textBlock = new TextBlock(name + \"_button\", text);\r\n textBlock.textWrapping = true;\r\n textBlock.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_CENTER;\r\n textBlock.paddingLeft = \"20%\";\r\n result.addControl(textBlock);\r\n\r\n // Adding image\r\n var iconImage = new Image(name + \"_icon\", imageUrl);\r\n iconImage.width = \"20%\";\r\n iconImage.stretch = Image.STRETCH_UNIFORM;\r\n iconImage.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n result.addControl(iconImage);\r\n\r\n // Store\r\n result._image = iconImage;\r\n result._textBlock = textBlock;\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new button made with an image\r\n * @param name defines the name of the button\r\n * @param imageUrl defines the url of the image\r\n * @returns a new Button\r\n */\r\n public static CreateImageOnlyButton(name: string, imageUrl: string): Button {\r\n var result = new this(name);\r\n\r\n // Adding image\r\n var iconImage = new Image(name + \"_icon\", imageUrl);\r\n iconImage.stretch = Image.STRETCH_FILL;\r\n iconImage.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n result.addControl(iconImage);\r\n\r\n // Store\r\n result._image = iconImage;\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new button made with a text\r\n * @param name defines the name of the button\r\n * @param text defines the text of the button\r\n * @returns a new Button\r\n */\r\n public static CreateSimpleButton(name: string, text: string): Button {\r\n var result = new this(name);\r\n\r\n // Adding text\r\n var textBlock = new TextBlock(name + \"_button\", text);\r\n textBlock.textWrapping = true;\r\n textBlock.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_CENTER;\r\n result.addControl(textBlock);\r\n\r\n // Store\r\n result._textBlock = textBlock;\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new button made with an image and a centered text\r\n * @param name defines the name of the button\r\n * @param text defines the text of the button\r\n * @param imageUrl defines the url of the image\r\n * @returns a new Button\r\n */\r\n public static CreateImageWithCenterTextButton(name: string, text: string, imageUrl: string): Button {\r\n var result = new this(name);\r\n\r\n // Adding image\r\n var iconImage = new Image(name + \"_icon\", imageUrl);\r\n iconImage.stretch = Image.STRETCH_FILL;\r\n result.addControl(iconImage);\r\n\r\n // Adding text\r\n var textBlock = new TextBlock(name + \"_button\", text);\r\n textBlock.textWrapping = true;\r\n textBlock.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_CENTER;\r\n result.addControl(textBlock);\r\n\r\n // Store\r\n result._image = iconImage;\r\n result._textBlock = textBlock;\r\n\r\n return result;\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.Button\", Button);"]}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/2D/controls/button.ts"],"names":[],"mappings":"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","sourcesContent":["import { Nullable } from \"core/types\";\r\nimport { Vector2 } from \"core/Maths/math.vector\";\r\n\r\nimport { Rectangle } from \"./rectangle\";\r\nimport { Control } from \"./control\";\r\nimport { TextBlock } from \"./textBlock\";\r\nimport { Image } from \"./image\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { PointerInfoBase } from \"core/Events/pointerEvents\";\r\nimport { AdvancedDynamicTexture } from \"../advancedDynamicTexture\";\r\n\r\n/**\r\n * Class used to create 2D buttons\r\n */\r\nexport class Button extends Rectangle {\r\n /**\r\n * Function called to generate a pointer enter animation\r\n */\r\n public pointerEnterAnimation: () => void;\r\n /**\r\n * Function called to generate a pointer out animation\r\n */\r\n public pointerOutAnimation: () => void;\r\n /**\r\n * Function called to generate a pointer down animation\r\n */\r\n public pointerDownAnimation: () => void;\r\n /**\r\n * Function called to generate a pointer up animation\r\n */\r\n public pointerUpAnimation: () => void;\r\n\r\n /**\r\n * Gets or sets a boolean indicating that the button will let internal controls handle picking instead of doing it directly using its bounding info\r\n */\r\n public delegatePickingToChildren = false;\r\n\r\n private _image: Nullable<Image>;\r\n /**\r\n * Returns the image part of the button (if any)\r\n */\r\n public get image(): Nullable<Image> {\r\n return this._image;\r\n }\r\n\r\n private _textBlock: Nullable<TextBlock>;\r\n /**\r\n * Returns the image part of the button (if any)\r\n */\r\n public get textBlock(): Nullable<TextBlock> {\r\n return this._textBlock;\r\n }\r\n\r\n /**\r\n * Creates a new Button\r\n * @param name defines the name of the button\r\n */\r\n constructor(public name?: string) {\r\n super(name);\r\n\r\n this.thickness = 1;\r\n this.isPointerBlocker = true;\r\n\r\n let alphaStore: Nullable<number> = null;\r\n\r\n this.pointerEnterAnimation = () => {\r\n alphaStore = this.alpha;\r\n this.alpha -= 0.1;\r\n };\r\n\r\n this.pointerOutAnimation = () => {\r\n if (alphaStore !== null) {\r\n this.alpha = alphaStore;\r\n }\r\n };\r\n\r\n this.pointerDownAnimation = () => {\r\n this.scaleX -= 0.05;\r\n this.scaleY -= 0.05;\r\n };\r\n\r\n this.pointerUpAnimation = () => {\r\n this.scaleX += 0.05;\r\n this.scaleY += 0.05;\r\n };\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"Button\";\r\n }\r\n\r\n // While being a container, the button behaves like a control.\r\n /**\r\n * @param x\r\n * @param y\r\n * @param pi\r\n * @param type\r\n * @param pointerId\r\n * @param buttonIndex\r\n * @param deltaX\r\n * @param deltaY\r\n * @hidden\r\n */\r\n public _processPicking(x: number, y: number, pi: PointerInfoBase, type: number, pointerId: number, buttonIndex: number, deltaX?: number, deltaY?: number): boolean {\r\n if (!this._isEnabled || !this.isHitTestVisible || !this.isVisible || this.notRenderable) {\r\n return false;\r\n }\r\n\r\n if (!super.contains(x, y)) {\r\n return false;\r\n }\r\n\r\n if (this.delegatePickingToChildren) {\r\n let contains = false;\r\n for (let index = this._children.length - 1; index >= 0; index--) {\r\n const child = this._children[index];\r\n if (child.isEnabled && child.isHitTestVisible && child.isVisible && !child.notRenderable && child.contains(x, y)) {\r\n contains = true;\r\n break;\r\n }\r\n }\r\n\r\n if (!contains) {\r\n return false;\r\n }\r\n }\r\n\r\n this._processObservables(type, x, y, pi, pointerId, buttonIndex, deltaX, deltaY);\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * @param target\r\n * @param pi\r\n * @hidden\r\n */\r\n public _onPointerEnter(target: Control, pi: PointerInfoBase): boolean {\r\n if (!super._onPointerEnter(target, pi)) {\r\n return false;\r\n }\r\n\r\n if (!this.isReadOnly && this.pointerEnterAnimation) {\r\n this.pointerEnterAnimation();\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * @param target\r\n * @param pi\r\n * @param force\r\n * @hidden\r\n */\r\n public _onPointerOut(target: Control, pi: PointerInfoBase, force = false): void {\r\n if (!this.isReadOnly && this.pointerOutAnimation) {\r\n this.pointerOutAnimation();\r\n }\r\n\r\n super._onPointerOut(target, pi, force);\r\n }\r\n\r\n /**\r\n * @param target\r\n * @param coordinates\r\n * @param pointerId\r\n * @param buttonIndex\r\n * @param pi\r\n * @hidden\r\n */\r\n public _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean {\r\n if (!super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi)) {\r\n return false;\r\n }\r\n\r\n if (!this.isReadOnly && this.pointerDownAnimation) {\r\n this.pointerDownAnimation();\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * @param target\r\n * @param coordinates\r\n * @param pointerId\r\n * @param buttonIndex\r\n * @param notifyClick\r\n * @param pi\r\n * @hidden\r\n */\r\n public _onPointerUp(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, notifyClick: boolean, pi: PointerInfoBase): void {\r\n if (!this.isReadOnly && this.pointerUpAnimation) {\r\n this.pointerUpAnimation();\r\n }\r\n\r\n super._onPointerUp(target, coordinates, pointerId, buttonIndex, notifyClick, pi);\r\n }\r\n\r\n /**\r\n * Serializes the current button\r\n * @param serializationObject defines the JSON serialized object\r\n */\r\n public serialize(serializationObject: any) {\r\n super.serialize(serializationObject);\r\n\r\n if (this._textBlock) {\r\n serializationObject.textBlockName = this._textBlock.name;\r\n }\r\n if (this._image) {\r\n serializationObject.imageName = this._image.name;\r\n }\r\n }\r\n\r\n /**\r\n * @param serializedObject\r\n * @param host\r\n * @hidden\r\n */\r\n public _parseFromContent(serializedObject: any, host: AdvancedDynamicTexture) {\r\n super._parseFromContent(serializedObject, host);\r\n\r\n if (serializedObject.textBlockName) {\r\n this._textBlock = this.getChildByName(serializedObject.textBlockName) as Nullable<TextBlock>;\r\n }\r\n\r\n if (serializedObject.imageName) {\r\n this._image = this.getChildByName(serializedObject.imageName) as Nullable<Image>;\r\n }\r\n }\r\n\r\n // Statics\r\n /**\r\n * Creates a new button made with an image and a text\r\n * @param name defines the name of the button\r\n * @param text defines the text of the button\r\n * @param imageUrl defines the url of the image\r\n * @returns a new Button\r\n */\r\n public static CreateImageButton(name: string, text: string, imageUrl: string): Button {\r\n const result = new this(name);\r\n\r\n // Adding text\r\n const textBlock = new TextBlock(name + \"_button\", text);\r\n textBlock.textWrapping = true;\r\n textBlock.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_CENTER;\r\n textBlock.paddingLeft = \"20%\";\r\n result.addControl(textBlock);\r\n\r\n // Adding image\r\n const iconImage = new Image(name + \"_icon\", imageUrl);\r\n iconImage.width = \"20%\";\r\n iconImage.stretch = Image.STRETCH_UNIFORM;\r\n iconImage.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n result.addControl(iconImage);\r\n\r\n // Store\r\n result._image = iconImage;\r\n result._textBlock = textBlock;\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new button made with an image\r\n * @param name defines the name of the button\r\n * @param imageUrl defines the url of the image\r\n * @returns a new Button\r\n */\r\n public static CreateImageOnlyButton(name: string, imageUrl: string): Button {\r\n const result = new this(name);\r\n\r\n // Adding image\r\n const iconImage = new Image(name + \"_icon\", imageUrl);\r\n iconImage.stretch = Image.STRETCH_FILL;\r\n iconImage.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n result.addControl(iconImage);\r\n\r\n // Store\r\n result._image = iconImage;\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new button made with a text\r\n * @param name defines the name of the button\r\n * @param text defines the text of the button\r\n * @returns a new Button\r\n */\r\n public static CreateSimpleButton(name: string, text: string): Button {\r\n const result = new this(name);\r\n\r\n // Adding text\r\n const textBlock = new TextBlock(name + \"_button\", text);\r\n textBlock.textWrapping = true;\r\n textBlock.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_CENTER;\r\n result.addControl(textBlock);\r\n\r\n // Store\r\n result._textBlock = textBlock;\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new button made with an image and a centered text\r\n * @param name defines the name of the button\r\n * @param text defines the text of the button\r\n * @param imageUrl defines the url of the image\r\n * @returns a new Button\r\n */\r\n public static CreateImageWithCenterTextButton(name: string, text: string, imageUrl: string): Button {\r\n const result = new this(name);\r\n\r\n // Adding image\r\n const iconImage = new Image(name + \"_icon\", imageUrl);\r\n iconImage.stretch = Image.STRETCH_FILL;\r\n result.addControl(iconImage);\r\n\r\n // Adding text\r\n const textBlock = new TextBlock(name + \"_button\", text);\r\n textBlock.textWrapping = true;\r\n textBlock.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_CENTER;\r\n result.addControl(textBlock);\r\n\r\n // Store\r\n result._image = iconImage;\r\n result._textBlock = textBlock;\r\n\r\n return result;\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.Button\", Button);\r\n"]}
@@ -1,11 +1,9 @@
1
- import { Observable } from "@babylonjs/core/Misc/observable";
2
- import { Vector2 } from "@babylonjs/core/Maths/math.vector";
1
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
2
+ import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
3
3
  import { Control } from "./control";
4
4
  import { StackPanel } from "./stackPanel";
5
- import { Nullable } from '@babylonjs/core/types';
6
- import { Measure } from '../measure';
7
- import { PointerInfoBase } from '@babylonjs/core/Events/pointerEvents';
8
- import { ICanvasRenderingContext } from '@babylonjs/core/Engines/ICanvas';
5
+ import { PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
6
+ import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
9
7
  /**
10
8
  * Class used to represent a 2D checkbox
11
9
  */
@@ -37,9 +35,19 @@ export declare class Checkbox extends Control {
37
35
  */
38
36
  constructor(name?: string | undefined);
39
37
  protected _getTypeName(): string;
40
- /** @hidden */
41
- _draw(context: ICanvasRenderingContext, invalidatedRectangle?: Nullable<Measure>): void;
42
- /** @hidden */
38
+ /**
39
+ * @param context
40
+ * @hidden
41
+ */
42
+ _draw(context: ICanvasRenderingContext): void;
43
+ /**
44
+ * @param target
45
+ * @param coordinates
46
+ * @param pointerId
47
+ * @param buttonIndex
48
+ * @param pi
49
+ * @hidden
50
+ */
43
51
  _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean;
44
52
  /**
45
53
  * Utility function to easily create a checkbox with a header
@@ -3,8 +3,8 @@ import { Observable } from "@babylonjs/core/Misc/observable.js";
3
3
  import { Control } from "./control.js";
4
4
  import { StackPanel } from "./stackPanel.js";
5
5
  import { TextBlock } from "./textBlock.js";
6
- import { RegisterClass } from '@babylonjs/core/Misc/typeStore.js';
7
- import { serialize } from '@babylonjs/core/Misc/decorators.js';
6
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
7
+ import { serialize } from "@babylonjs/core/Misc/decorators.js";
8
8
  /**
9
9
  * Class used to represent a 2D checkbox
10
10
  */
@@ -93,8 +93,11 @@ var Checkbox = /** @class */ (function (_super) {
93
93
  Checkbox.prototype._getTypeName = function () {
94
94
  return "Checkbox";
95
95
  };
96
- /** @hidden */
97
- Checkbox.prototype._draw = function (context, invalidatedRectangle) {
96
+ /**
97
+ * @param context
98
+ * @hidden
99
+ */
100
+ Checkbox.prototype._draw = function (context) {
98
101
  context.save();
99
102
  this._applyStates(context);
100
103
  var actualWidth = this._currentMeasure.width - this._thickness;
@@ -115,8 +118,8 @@ var Checkbox = /** @class */ (function (_super) {
115
118
  if (this._isChecked) {
116
119
  context.fillStyle = this._isEnabled ? this.color : this._disabledColorItem;
117
120
  var offsetWidth = actualWidth * this._checkSizeRatio;
118
- var offseHeight = actualHeight * this._checkSizeRatio;
119
- context.fillRect(this._currentMeasure.left + this._thickness / 2 + (actualWidth - offsetWidth) / 2, this._currentMeasure.top + this._thickness / 2 + (actualHeight - offseHeight) / 2, offsetWidth, offseHeight);
121
+ var offsetHeight = actualHeight * this._checkSizeRatio;
122
+ context.fillRect(this._currentMeasure.left + this._thickness / 2 + (actualWidth - offsetWidth) / 2, this._currentMeasure.top + this._thickness / 2 + (actualHeight - offsetHeight) / 2, offsetWidth, offsetHeight);
120
123
  }
121
124
  context.strokeStyle = this.color;
122
125
  context.lineWidth = this._thickness;
@@ -124,7 +127,14 @@ var Checkbox = /** @class */ (function (_super) {
124
127
  context.restore();
125
128
  };
126
129
  // Events
127
- /** @hidden */
130
+ /**
131
+ * @param target
132
+ * @param coordinates
133
+ * @param pointerId
134
+ * @param buttonIndex
135
+ * @param pi
136
+ * @hidden
137
+ */
128
138
  Checkbox.prototype._onPointerDown = function (target, coordinates, pointerId, buttonIndex, pi) {
129
139
  if (!_super.prototype._onPointerDown.call(this, target, coordinates, pointerId, buttonIndex, pi)) {
130
140
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/2D/controls/checkbox.ts"],"names":[],"mappings":"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","sourcesContent":["import { Observable } from \"@babylonjs/core/Misc/observable\";\r\nimport { Vector2 } from \"@babylonjs/core/Maths/math.vector\";\r\n\r\nimport { Control } from \"./control\";\r\nimport { StackPanel } from \"./stackPanel\";\r\nimport { TextBlock } from \"./textBlock\";\r\nimport { RegisterClass } from '@babylonjs/core/Misc/typeStore';\r\nimport { Nullable } from '@babylonjs/core/types';\r\nimport { Measure } from '../measure';\r\nimport { PointerInfoBase } from '@babylonjs/core/Events/pointerEvents';\r\nimport { serialize } from '@babylonjs/core/Misc/decorators';\r\nimport { ICanvasRenderingContext } from '@babylonjs/core/Engines/ICanvas';\r\n\r\n/**\r\n * Class used to represent a 2D checkbox\r\n */\r\nexport class Checkbox extends Control {\r\n private _isChecked = false;\r\n private _background = \"black\";\r\n private _checkSizeRatio = 0.8;\r\n private _thickness = 1;\r\n\r\n /** Gets or sets border thickness */\r\n @serialize()\r\n public get thickness(): number {\r\n return this._thickness;\r\n }\r\n\r\n public set thickness(value: number) {\r\n if (this._thickness === value) {\r\n return;\r\n }\r\n\r\n this._thickness = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Observable raised when isChecked property changes\r\n */\r\n public onIsCheckedChangedObservable = new Observable<boolean>();\r\n\r\n /** Gets or sets a value indicating the ratio between overall size and check size */\r\n @serialize()\r\n public get checkSizeRatio(): number {\r\n return this._checkSizeRatio;\r\n }\r\n\r\n public set checkSizeRatio(value: number) {\r\n value = Math.max(Math.min(1, value), 0);\r\n\r\n if (this._checkSizeRatio === value) {\r\n return;\r\n }\r\n\r\n this._checkSizeRatio = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets background color */\r\n @serialize()\r\n public get background(): string {\r\n return this._background;\r\n }\r\n\r\n public set background(value: string) {\r\n if (this._background === value) {\r\n return;\r\n }\r\n\r\n this._background = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets a boolean indicating if the checkbox is checked or not */\r\n @serialize()\r\n public get isChecked(): boolean {\r\n return this._isChecked;\r\n }\r\n\r\n public set isChecked(value: boolean) {\r\n if (this._isChecked === value) {\r\n return;\r\n }\r\n\r\n this._isChecked = value;\r\n this._markAsDirty();\r\n\r\n this.onIsCheckedChangedObservable.notifyObservers(value);\r\n }\r\n\r\n /**\r\n * Creates a new CheckBox\r\n * @param name defines the control name\r\n */\r\n constructor(public name?: string) {\r\n super(name);\r\n this.isPointerBlocker = true;\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"Checkbox\";\r\n }\r\n\r\n /** @hidden */\r\n public _draw(context: ICanvasRenderingContext, invalidatedRectangle?: Nullable<Measure>): void {\r\n context.save();\r\n\r\n this._applyStates(context);\r\n let actualWidth = this._currentMeasure.width - this._thickness;\r\n let actualHeight = this._currentMeasure.height - this._thickness;\r\n\r\n if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {\r\n context.shadowColor = this.shadowColor;\r\n context.shadowBlur = this.shadowBlur;\r\n context.shadowOffsetX = this.shadowOffsetX;\r\n context.shadowOffsetY = this.shadowOffsetY;\r\n }\r\n\r\n context.fillStyle = this._isEnabled ? this._background : this._disabledColor;\r\n context.fillRect(this._currentMeasure.left + this._thickness / 2, this._currentMeasure.top + this._thickness / 2, actualWidth, actualHeight);\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._isChecked) {\r\n context.fillStyle = this._isEnabled ? this.color : this._disabledColorItem;\r\n let offsetWidth = actualWidth * this._checkSizeRatio;\r\n let offseHeight = actualHeight * this._checkSizeRatio;\r\n\r\n context.fillRect(this._currentMeasure.left + this._thickness / 2 + (actualWidth - offsetWidth) / 2, this._currentMeasure.top + this._thickness / 2 + (actualHeight - offseHeight) / 2, offsetWidth, offseHeight);\r\n }\r\n\r\n context.strokeStyle = this.color;\r\n context.lineWidth = this._thickness;\r\n\r\n context.strokeRect(this._currentMeasure.left + this._thickness / 2, this._currentMeasure.top + this._thickness / 2, actualWidth, actualHeight);\r\n\r\n context.restore();\r\n }\r\n\r\n // Events\r\n\r\n /** @hidden */\r\n public _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean {\r\n if (!super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi)) {\r\n return false;\r\n }\r\n\r\n if (!this.isReadOnly) {\r\n this.isChecked = !this.isChecked;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Utility function to easily create a checkbox with a header\r\n * @param title defines the label to use for the header\r\n * @param onValueChanged defines the callback to call when value changes\r\n * @returns a StackPanel containing the checkbox and a textBlock\r\n */\r\n public static AddCheckBoxWithHeader(title: string, onValueChanged: (value: boolean) => void): StackPanel {\r\n var panel = new StackPanel();\r\n panel.isVertical = false;\r\n panel.height = \"30px\";\r\n\r\n var checkbox = new Checkbox();\r\n checkbox.width = \"20px\";\r\n checkbox.height = \"20px\";\r\n checkbox.isChecked = true;\r\n checkbox.color = \"green\";\r\n checkbox.onIsCheckedChangedObservable.add(onValueChanged);\r\n panel.addControl(checkbox);\r\n\r\n var header = new TextBlock();\r\n header.text = title;\r\n header.width = \"180px\";\r\n header.paddingLeft = \"5px\";\r\n header.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n header.color = \"white\";\r\n panel.addControl(header);\r\n\r\n return panel;\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.Checkbox\", Checkbox);\r\n"]}
1
+ {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/2D/controls/checkbox.ts"],"names":[],"mappings":"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","sourcesContent":["import { Observable } from \"core/Misc/observable\";\r\nimport { Vector2 } from \"core/Maths/math.vector\";\r\n\r\nimport { Control } from \"./control\";\r\nimport { StackPanel } from \"./stackPanel\";\r\nimport { TextBlock } from \"./textBlock\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { PointerInfoBase } from \"core/Events/pointerEvents\";\r\nimport { serialize } from \"core/Misc/decorators\";\r\nimport { ICanvasRenderingContext } from \"core/Engines/ICanvas\";\r\n\r\n/**\r\n * Class used to represent a 2D checkbox\r\n */\r\nexport class Checkbox extends Control {\r\n private _isChecked = false;\r\n private _background = \"black\";\r\n private _checkSizeRatio = 0.8;\r\n private _thickness = 1;\r\n\r\n /** Gets or sets border thickness */\r\n @serialize()\r\n public get thickness(): number {\r\n return this._thickness;\r\n }\r\n\r\n public set thickness(value: number) {\r\n if (this._thickness === value) {\r\n return;\r\n }\r\n\r\n this._thickness = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Observable raised when isChecked property changes\r\n */\r\n public onIsCheckedChangedObservable = new Observable<boolean>();\r\n\r\n /** Gets or sets a value indicating the ratio between overall size and check size */\r\n @serialize()\r\n public get checkSizeRatio(): number {\r\n return this._checkSizeRatio;\r\n }\r\n\r\n public set checkSizeRatio(value: number) {\r\n value = Math.max(Math.min(1, value), 0);\r\n\r\n if (this._checkSizeRatio === value) {\r\n return;\r\n }\r\n\r\n this._checkSizeRatio = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets background color */\r\n @serialize()\r\n public get background(): string {\r\n return this._background;\r\n }\r\n\r\n public set background(value: string) {\r\n if (this._background === value) {\r\n return;\r\n }\r\n\r\n this._background = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets a boolean indicating if the checkbox is checked or not */\r\n @serialize()\r\n public get isChecked(): boolean {\r\n return this._isChecked;\r\n }\r\n\r\n public set isChecked(value: boolean) {\r\n if (this._isChecked === value) {\r\n return;\r\n }\r\n\r\n this._isChecked = value;\r\n this._markAsDirty();\r\n\r\n this.onIsCheckedChangedObservable.notifyObservers(value);\r\n }\r\n\r\n /**\r\n * Creates a new CheckBox\r\n * @param name defines the control name\r\n */\r\n constructor(public name?: string) {\r\n super(name);\r\n this.isPointerBlocker = true;\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"Checkbox\";\r\n }\r\n\r\n /**\r\n * @param context\r\n * @hidden\r\n */\r\n public _draw(context: ICanvasRenderingContext): void {\r\n context.save();\r\n\r\n this._applyStates(context);\r\n const actualWidth = this._currentMeasure.width - this._thickness;\r\n const actualHeight = this._currentMeasure.height - this._thickness;\r\n\r\n if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {\r\n context.shadowColor = this.shadowColor;\r\n context.shadowBlur = this.shadowBlur;\r\n context.shadowOffsetX = this.shadowOffsetX;\r\n context.shadowOffsetY = this.shadowOffsetY;\r\n }\r\n\r\n context.fillStyle = this._isEnabled ? this._background : this._disabledColor;\r\n context.fillRect(this._currentMeasure.left + this._thickness / 2, this._currentMeasure.top + this._thickness / 2, actualWidth, actualHeight);\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._isChecked) {\r\n context.fillStyle = this._isEnabled ? this.color : this._disabledColorItem;\r\n const offsetWidth = actualWidth * this._checkSizeRatio;\r\n const offsetHeight = actualHeight * this._checkSizeRatio;\r\n\r\n context.fillRect(\r\n this._currentMeasure.left + this._thickness / 2 + (actualWidth - offsetWidth) / 2,\r\n this._currentMeasure.top + this._thickness / 2 + (actualHeight - offsetHeight) / 2,\r\n offsetWidth,\r\n offsetHeight\r\n );\r\n }\r\n\r\n context.strokeStyle = this.color;\r\n context.lineWidth = this._thickness;\r\n\r\n context.strokeRect(this._currentMeasure.left + this._thickness / 2, this._currentMeasure.top + this._thickness / 2, actualWidth, actualHeight);\r\n\r\n context.restore();\r\n }\r\n\r\n // Events\r\n\r\n /**\r\n * @param target\r\n * @param coordinates\r\n * @param pointerId\r\n * @param buttonIndex\r\n * @param pi\r\n * @hidden\r\n */\r\n public _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean {\r\n if (!super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi)) {\r\n return false;\r\n }\r\n\r\n if (!this.isReadOnly) {\r\n this.isChecked = !this.isChecked;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Utility function to easily create a checkbox with a header\r\n * @param title defines the label to use for the header\r\n * @param onValueChanged defines the callback to call when value changes\r\n * @returns a StackPanel containing the checkbox and a textBlock\r\n */\r\n public static AddCheckBoxWithHeader(title: string, onValueChanged: (value: boolean) => void): StackPanel {\r\n const panel = new StackPanel();\r\n panel.isVertical = false;\r\n panel.height = \"30px\";\r\n\r\n const checkbox = new Checkbox();\r\n checkbox.width = \"20px\";\r\n checkbox.height = \"20px\";\r\n checkbox.isChecked = true;\r\n checkbox.color = \"green\";\r\n checkbox.onIsCheckedChangedObservable.add(onValueChanged);\r\n panel.addControl(checkbox);\r\n\r\n const header = new TextBlock();\r\n header.text = title;\r\n header.width = \"180px\";\r\n header.paddingLeft = \"5px\";\r\n header.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n header.color = \"white\";\r\n panel.addControl(header);\r\n\r\n return panel;\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.Checkbox\", Checkbox);\r\n"]}
@@ -1,11 +1,11 @@
1
- import { Observable } from "@babylonjs/core/Misc/observable";
2
- import { Vector2 } from "@babylonjs/core/Maths/math.vector";
1
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
2
+ import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
3
3
  import { Control } from "./control";
4
4
  import { Measure } from "../measure";
5
5
  import { AdvancedDynamicTexture } from "../advancedDynamicTexture";
6
- import { Color3 } from '@babylonjs/core/Maths/math.color';
7
- import { PointerInfoBase } from '@babylonjs/core/Events/pointerEvents';
8
- import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas";
6
+ import { Color3 } from "@babylonjs/core/Maths/math.color.js";
7
+ import { PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
8
+ import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
9
9
  /** Class used to create color pickers */
10
10
  export declare class ColorPicker extends Control {
11
11
  name?: string | undefined;
@@ -51,13 +51,19 @@ export declare class ColorPicker extends Control {
51
51
  */
52
52
  constructor(name?: string | undefined);
53
53
  protected _getTypeName(): string;
54
- /** @hidden */
55
- protected _preMeasure(parentMeasure: Measure, context: ICanvasRenderingContext): void;
54
+ /**
55
+ * @param parentMeasure
56
+ * @hidden
57
+ */
58
+ protected _preMeasure(parentMeasure: Measure): void;
56
59
  private _updateSquareProps;
57
60
  private _drawGradientSquare;
58
61
  private _drawCircle;
59
62
  private _createColorWheelCanvas;
60
- /** @hidden */
63
+ /**
64
+ * @param context
65
+ * @hidden
66
+ */
61
67
  _draw(context: ICanvasRenderingContext): void;
62
68
  private _pointerIsDown;
63
69
  private _updateValueFromPointer;
@@ -73,6 +79,13 @@ export declare class ColorPicker extends Control {
73
79
  * subsequent launches of the dialogue.
74
80
  * @param advancedTexture defines the AdvancedDynamicTexture the dialog is assigned to
75
81
  * @param options defines size for dialog and options for saved colors. Also accepts last color picked as hex string and saved colors array as hex strings.
82
+ * @param options.pickerWidth
83
+ * @param options.pickerHeight
84
+ * @param options.headerHeight
85
+ * @param options.lastColor
86
+ * @param options.swatchLimit
87
+ * @param options.numSwatchesPerLine
88
+ * @param options.savedColors
76
89
  * @returns picked color as a hex string and the saved colors array as hex strings.
77
90
  */
78
91
  static ShowPickerDialogAsync(advancedTexture: AdvancedDynamicTexture, options: {