@babylonjs/gui 5.0.0-rc.1 → 5.0.0-rc.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/2D/adtInstrumentation.d.ts +52 -52
  2. package/2D/adtInstrumentation.js +126 -126
  3. package/2D/adtInstrumentation.js.map +1 -1
  4. package/2D/advancedDynamicTexture.d.ts +449 -423
  5. package/2D/advancedDynamicTexture.js +1318 -1286
  6. package/2D/advancedDynamicTexture.js.map +1 -1
  7. package/2D/controls/button.d.ts +135 -97
  8. package/2D/controls/button.js +276 -238
  9. package/2D/controls/button.js.map +1 -1
  10. package/2D/controls/checkbox.d.ts +59 -51
  11. package/2D/controls/checkbox.js +188 -178
  12. package/2D/controls/checkbox.js.map +1 -1
  13. package/2D/controls/colorpicker.d.ts +103 -90
  14. package/2D/controls/colorpicker.js +1417 -1400
  15. package/2D/controls/colorpicker.js.map +1 -1
  16. package/2D/controls/container.d.ts +175 -130
  17. package/2D/controls/container.js +570 -525
  18. package/2D/controls/container.js.map +1 -1
  19. package/2D/controls/control.d.ts +866 -743
  20. package/2D/controls/control.js +2433 -2308
  21. package/2D/controls/control.js.map +1 -1
  22. package/2D/controls/displayGrid.d.ts +53 -55
  23. package/2D/controls/displayGrid.js +245 -245
  24. package/2D/controls/displayGrid.js.map +1 -1
  25. package/2D/controls/ellipse.d.ts +21 -21
  26. package/2D/controls/ellipse.js +85 -85
  27. package/2D/controls/ellipse.js.map +1 -1
  28. package/2D/controls/focusableButton.d.ts +59 -52
  29. package/2D/controls/focusableButton.js +99 -92
  30. package/2D/controls/focusableButton.js.map +1 -1
  31. package/2D/controls/focusableControl.d.ts +34 -34
  32. package/2D/controls/focusableControl.js +1 -1
  33. package/2D/controls/focusableControl.js.map +1 -1
  34. package/2D/controls/grid.d.ts +139 -135
  35. package/2D/controls/grid.js +529 -525
  36. package/2D/controls/grid.js.map +1 -1
  37. package/2D/controls/image.d.ts +204 -197
  38. package/2D/controls/image.js +887 -879
  39. package/2D/controls/image.js.map +1 -1
  40. package/2D/controls/index.d.ts +29 -29
  41. package/2D/controls/index.js +29 -29
  42. package/2D/controls/index.js.map +1 -1
  43. package/2D/controls/inputPassword.d.ts +9 -8
  44. package/2D/controls/inputPassword.js +28 -25
  45. package/2D/controls/inputPassword.js.map +1 -1
  46. package/2D/controls/inputText.d.ts +201 -182
  47. package/2D/controls/inputText.js +1119 -1096
  48. package/2D/controls/inputText.js.map +1 -1
  49. package/2D/controls/line.d.ts +66 -66
  50. package/2D/controls/line.js +271 -271
  51. package/2D/controls/line.js.map +1 -1
  52. package/2D/controls/multiLine.d.ts +75 -77
  53. package/2D/controls/multiLine.js +262 -262
  54. package/2D/controls/multiLine.js.map +1 -1
  55. package/2D/controls/radioButton.d.ts +49 -49
  56. package/2D/controls/radioButton.js +205 -205
  57. package/2D/controls/radioButton.js.map +1 -1
  58. package/2D/controls/rectangle.d.ts +29 -29
  59. package/2D/controls/rectangle.js +150 -150
  60. package/2D/controls/rectangle.js.map +1 -1
  61. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -175
  62. package/2D/controls/scrollViewers/scrollViewer.js +677 -676
  63. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  64. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -45
  65. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -263
  66. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  67. package/2D/controls/selector.d.ts +263 -209
  68. package/2D/controls/selector.js +692 -629
  69. package/2D/controls/selector.js.map +1 -1
  70. package/2D/controls/sliders/baseSlider.d.ts +82 -78
  71. package/2D/controls/sliders/baseSlider.js +347 -343
  72. package/2D/controls/sliders/baseSlider.js.map +1 -1
  73. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -47
  74. package/2D/controls/sliders/imageBasedSlider.js +192 -188
  75. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  76. package/2D/controls/sliders/imageScrollBar.d.ts +65 -61
  77. package/2D/controls/sliders/imageScrollBar.js +263 -256
  78. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  79. package/2D/controls/sliders/scrollBar.d.ts +38 -34
  80. package/2D/controls/sliders/scrollBar.js +143 -136
  81. package/2D/controls/sliders/scrollBar.js.map +1 -1
  82. package/2D/controls/sliders/slider.d.ts +35 -37
  83. package/2D/controls/sliders/slider.js +271 -271
  84. package/2D/controls/sliders/slider.js.map +1 -1
  85. package/2D/controls/stackPanel.d.ts +64 -56
  86. package/2D/controls/stackPanel.js +246 -236
  87. package/2D/controls/stackPanel.js.map +1 -1
  88. package/2D/controls/statics.d.ts +6 -6
  89. package/2D/controls/statics.js +49 -47
  90. package/2D/controls/statics.js.map +1 -1
  91. package/2D/controls/textBlock.d.ts +175 -172
  92. package/2D/controls/textBlock.js +603 -598
  93. package/2D/controls/textBlock.js.map +1 -1
  94. package/2D/controls/textWrapper.d.ts +13 -13
  95. package/2D/controls/textWrapper.js +101 -101
  96. package/2D/controls/textWrapper.js.map +1 -1
  97. package/2D/controls/toggleButton.d.ts +117 -83
  98. package/2D/controls/toggleButton.js +268 -234
  99. package/2D/controls/toggleButton.js.map +1 -1
  100. package/2D/controls/virtualKeyboard.d.ts +96 -96
  101. package/2D/controls/virtualKeyboard.js +256 -256
  102. package/2D/controls/virtualKeyboard.js.map +1 -1
  103. package/2D/index.d.ts +9 -9
  104. package/2D/index.js +10 -9
  105. package/2D/index.js.map +1 -1
  106. package/2D/math2D.d.ts +117 -117
  107. package/2D/math2D.js +221 -221
  108. package/2D/math2D.js.map +1 -1
  109. package/2D/measure.d.ts +77 -77
  110. package/2D/measure.js +139 -149
  111. package/2D/measure.js.map +1 -1
  112. package/2D/multiLinePoint.d.ts +47 -47
  113. package/2D/multiLinePoint.js +127 -127
  114. package/2D/multiLinePoint.js.map +1 -1
  115. package/2D/style.d.ts +46 -46
  116. package/2D/style.js +97 -97
  117. package/2D/style.js.map +1 -1
  118. package/2D/valueAndUnit.d.ts +89 -89
  119. package/2D/valueAndUnit.js +226 -222
  120. package/2D/valueAndUnit.js.map +1 -1
  121. package/2D/xmlLoader.d.ts +60 -60
  122. package/2D/xmlLoader.js +348 -348
  123. package/2D/xmlLoader.js.map +1 -1
  124. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  125. package/3D/behaviors/defaultBehavior.js +121 -121
  126. package/3D/behaviors/defaultBehavior.js.map +1 -1
  127. package/3D/controls/abstractButton3D.d.ts +15 -15
  128. package/3D/controls/abstractButton3D.js +25 -25
  129. package/3D/controls/abstractButton3D.js.map +1 -1
  130. package/3D/controls/button3D.d.ts +30 -30
  131. package/3D/controls/button3D.js +93 -93
  132. package/3D/controls/button3D.js.map +1 -1
  133. package/3D/controls/container3D.d.ts +72 -72
  134. package/3D/controls/container3D.js +139 -140
  135. package/3D/controls/container3D.js.map +1 -1
  136. package/3D/controls/contentDisplay3D.d.ts +30 -30
  137. package/3D/controls/contentDisplay3D.js +79 -78
  138. package/3D/controls/contentDisplay3D.js.map +1 -1
  139. package/3D/controls/control3D.d.ts +201 -165
  140. package/3D/controls/control3D.js +445 -408
  141. package/3D/controls/control3D.js.map +1 -1
  142. package/3D/controls/cylinderPanel.d.ts +17 -17
  143. package/3D/controls/cylinderPanel.js +66 -66
  144. package/3D/controls/cylinderPanel.js.map +1 -1
  145. package/3D/controls/handMenu.d.ts +28 -28
  146. package/3D/controls/handMenu.js +47 -47
  147. package/3D/controls/handMenu.js.map +1 -1
  148. package/3D/controls/holographicBackplate.d.ts +49 -48
  149. package/3D/controls/holographicBackplate.js +120 -120
  150. package/3D/controls/holographicBackplate.js.map +1 -1
  151. package/3D/controls/holographicButton.d.ts +84 -83
  152. package/3D/controls/holographicButton.js +339 -338
  153. package/3D/controls/holographicButton.js.map +1 -1
  154. package/3D/controls/holographicSlate.d.ts +131 -128
  155. package/3D/controls/holographicSlate.js +431 -428
  156. package/3D/controls/holographicSlate.js.map +1 -1
  157. package/3D/controls/index.d.ts +21 -21
  158. package/3D/controls/index.js +21 -21
  159. package/3D/controls/index.js.map +1 -1
  160. package/3D/controls/meshButton3D.d.ts +21 -21
  161. package/3D/controls/meshButton3D.js +62 -61
  162. package/3D/controls/meshButton3D.js.map +1 -1
  163. package/3D/controls/nearMenu.d.ts +44 -44
  164. package/3D/controls/nearMenu.js +114 -112
  165. package/3D/controls/nearMenu.js.map +1 -1
  166. package/3D/controls/planePanel.d.ts +9 -9
  167. package/3D/controls/planePanel.js +36 -36
  168. package/3D/controls/planePanel.js.map +1 -1
  169. package/3D/controls/scatterPanel.d.ts +18 -18
  170. package/3D/controls/scatterPanel.js +108 -108
  171. package/3D/controls/scatterPanel.js.map +1 -1
  172. package/3D/controls/slider3D.d.ts +81 -81
  173. package/3D/controls/slider3D.js +268 -267
  174. package/3D/controls/slider3D.js.map +1 -1
  175. package/3D/controls/spherePanel.d.ts +17 -17
  176. package/3D/controls/spherePanel.js +67 -67
  177. package/3D/controls/spherePanel.js.map +1 -1
  178. package/3D/controls/stackPanel3D.d.ts +22 -22
  179. package/3D/controls/stackPanel3D.js +107 -107
  180. package/3D/controls/stackPanel3D.js.map +1 -1
  181. package/3D/controls/touchButton3D.d.ts +80 -75
  182. package/3D/controls/touchButton3D.js +233 -227
  183. package/3D/controls/touchButton3D.js.map +1 -1
  184. package/3D/controls/touchHolographicButton.d.ts +110 -109
  185. package/3D/controls/touchHolographicButton.js +445 -445
  186. package/3D/controls/touchHolographicButton.js.map +1 -1
  187. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  188. package/3D/controls/touchHolographicMenu.js +149 -148
  189. package/3D/controls/touchHolographicMenu.js.map +1 -1
  190. package/3D/controls/touchMeshButton3D.d.ts +21 -22
  191. package/3D/controls/touchMeshButton3D.js +62 -62
  192. package/3D/controls/touchMeshButton3D.js.map +1 -1
  193. package/3D/controls/volumeBasedPanel.d.ts +53 -52
  194. package/3D/controls/volumeBasedPanel.js +174 -174
  195. package/3D/controls/volumeBasedPanel.js.map +1 -1
  196. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  197. package/3D/gizmos/gizmoHandle.js +209 -209
  198. package/3D/gizmos/gizmoHandle.js.map +1 -1
  199. package/3D/gizmos/index.d.ts +2 -2
  200. package/3D/gizmos/index.js +2 -2
  201. package/3D/gizmos/index.js.map +1 -1
  202. package/3D/gizmos/slateGizmo.d.ts +57 -57
  203. package/3D/gizmos/slateGizmo.js +369 -369
  204. package/3D/gizmos/slateGizmo.js.map +1 -1
  205. package/3D/gui3DManager.d.ts +94 -94
  206. package/3D/gui3DManager.js +257 -257
  207. package/3D/gui3DManager.js.map +1 -1
  208. package/3D/index.d.ts +5 -5
  209. package/3D/index.js +6 -5
  210. package/3D/index.js.map +1 -1
  211. package/3D/materials/fluent/fluentMaterial.d.ts +91 -90
  212. package/3D/materials/fluent/fluentMaterial.js +292 -281
  213. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  214. package/3D/materials/fluent/index.d.ts +1 -1
  215. package/3D/materials/fluent/index.js +1 -1
  216. package/3D/materials/fluent/index.js.map +1 -1
  217. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  218. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -6
  219. package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -1
  220. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  221. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -6
  222. package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -1
  223. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +155 -154
  224. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -434
  225. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  226. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  227. package/3D/materials/fluentBackplate/index.js +1 -1
  228. package/3D/materials/fluentBackplate/index.js.map +1 -1
  229. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  230. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -6
  231. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -1
  232. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  233. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -6
  234. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -1
  235. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +190 -189
  236. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -537
  237. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  238. package/3D/materials/fluentButton/index.d.ts +1 -1
  239. package/3D/materials/fluentButton/index.js +1 -1
  240. package/3D/materials/fluentButton/index.js.map +1 -1
  241. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  242. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -6
  243. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -1
  244. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  245. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -6
  246. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -1
  247. package/3D/materials/fluentMaterial.d.ts +4 -4
  248. package/3D/materials/fluentMaterial.js +4 -4
  249. package/3D/materials/fluentMaterial.js.map +1 -1
  250. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  251. package/3D/materials/handle/handleMaterial.js +126 -126
  252. package/3D/materials/handle/handleMaterial.js.map +1 -1
  253. package/3D/materials/handle/index.d.ts +1 -1
  254. package/3D/materials/handle/index.js +1 -1
  255. package/3D/materials/handle/index.js.map +1 -1
  256. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  257. package/3D/materials/handle/shaders/handle.fragment.js +8 -6
  258. package/3D/materials/handle/shaders/handle.fragment.js.map +1 -1
  259. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  260. package/3D/materials/handle/shaders/handle.vertex.js +8 -6
  261. package/3D/materials/handle/shaders/handle.vertex.js.map +1 -1
  262. package/3D/materials/index.d.ts +5 -5
  263. package/3D/materials/index.js +6 -5
  264. package/3D/materials/index.js.map +1 -1
  265. package/3D/materials/mrdl/index.d.ts +3 -3
  266. package/3D/materials/mrdl/index.js +3 -3
  267. package/3D/materials/mrdl/index.js.map +1 -1
  268. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +148 -147
  269. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -409
  270. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  271. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +334 -333
  272. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -786
  273. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  274. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +334 -333
  275. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -786
  276. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  277. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  278. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -6
  279. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -1
  280. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  281. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -6
  282. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -1
  283. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  284. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -6
  285. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -1
  286. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  287. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -6
  288. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -1
  289. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  290. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -6
  291. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -1
  292. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  293. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -6
  294. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -1
  295. package/3D/vector3WithInfo.d.ts +16 -16
  296. package/3D/vector3WithInfo.js +23 -23
  297. package/3D/vector3WithInfo.js.map +1 -1
  298. package/index.d.ts +2 -2
  299. package/index.js +3 -2
  300. package/index.js.map +1 -1
  301. package/legacy/legacy.d.ts +1 -1
  302. package/legacy/legacy.js +14 -13
  303. package/legacy/legacy.js.map +1 -1
  304. package/package.json +21 -328
  305. package/readme.md +2 -2
@@ -1,264 +1,279 @@
1
- import { __extends } from "tslib";
2
- import { Measure } from "../../measure.js";
3
- import { Container } from "../container.js";
4
- import { ValueAndUnit } from "../../valueAndUnit.js";
5
- import { Control } from "../control.js";
6
- /**
7
- * Class used to hold a the container for ScrollViewer
8
- * @hidden
9
- */
10
- var _ScrollViewerWindow = /** @class */ (function (_super) {
11
- __extends(_ScrollViewerWindow, _super);
12
- /**
13
- * Creates a new ScrollViewerWindow
14
- * @param name of ScrollViewerWindow
15
- */
16
- function _ScrollViewerWindow(name) {
17
- var _this = _super.call(this, name) || this;
18
- _this._freezeControls = false;
19
- _this._bucketWidth = 0;
20
- _this._bucketHeight = 0;
21
- _this._buckets = {};
22
- return _this;
23
- }
24
- Object.defineProperty(_ScrollViewerWindow.prototype, "freezeControls", {
25
- get: function () {
26
- return this._freezeControls;
27
- },
28
- set: function (value) {
29
- if (this._freezeControls === value) {
30
- return;
31
- }
32
- if (!value) {
33
- this._restoreMeasures();
34
- }
35
- // trigger a full normal layout calculation to be sure all children have their measures up to date
36
- this._freezeControls = false;
37
- var textureSize = this.host.getSize();
38
- var renderWidth = textureSize.width;
39
- var renderHeight = textureSize.height;
40
- var context = this.host.getContext();
41
- var measure = new Measure(0, 0, renderWidth, renderHeight);
42
- this.host._numLayoutCalls = 0;
43
- this.host._rootContainer._layout(measure, context);
44
- // in freeze mode, prepare children measures accordingly
45
- if (value) {
46
- this._updateMeasures();
47
- if (this._useBuckets()) {
48
- this._makeBuckets();
49
- }
50
- }
51
- this._freezeControls = value;
52
- this.host.markAsDirty(); // redraw with the (new) current settings
53
- },
54
- enumerable: false,
55
- configurable: true
56
- });
57
- Object.defineProperty(_ScrollViewerWindow.prototype, "bucketWidth", {
58
- get: function () {
59
- return this._bucketWidth;
60
- },
61
- enumerable: false,
62
- configurable: true
63
- });
64
- Object.defineProperty(_ScrollViewerWindow.prototype, "bucketHeight", {
65
- get: function () {
66
- return this._bucketHeight;
67
- },
68
- enumerable: false,
69
- configurable: true
70
- });
71
- _ScrollViewerWindow.prototype.setBucketSizes = function (width, height) {
72
- this._bucketWidth = width;
73
- this._bucketHeight = height;
74
- if (this._useBuckets()) {
75
- if (this._freezeControls) {
76
- this._makeBuckets();
77
- }
78
- }
79
- else {
80
- this._buckets = {};
81
- }
82
- };
83
- _ScrollViewerWindow.prototype._useBuckets = function () {
84
- return this._bucketWidth > 0 && this._bucketHeight > 0;
85
- };
86
- _ScrollViewerWindow.prototype._makeBuckets = function () {
87
- this._buckets = {};
88
- this._bucketLen = Math.ceil(this.widthInPixels / this._bucketWidth);
89
- this._dispatchInBuckets(this._children);
90
- this._oldLeft = null;
91
- this._oldTop = null;
92
- };
93
- _ScrollViewerWindow.prototype._dispatchInBuckets = function (children) {
94
- for (var i = 0; i < children.length; ++i) {
95
- var child = children[i];
96
- var bStartX = Math.max(0, Math.floor((child._customData._origLeft - this._customData.origLeft) / this._bucketWidth)), bEndX = Math.floor((child._customData._origLeft - this._customData.origLeft + child._currentMeasure.width - 1) / this._bucketWidth), bStartY = Math.max(0, Math.floor((child._customData._origTop - this._customData.origTop) / this._bucketHeight)), bEndY = Math.floor((child._customData._origTop - this._customData.origTop + child._currentMeasure.height - 1) / this._bucketHeight);
97
- while (bStartY <= bEndY) {
98
- for (var x = bStartX; x <= bEndX; ++x) {
99
- var bucket = bStartY * this._bucketLen + x, lstc = this._buckets[bucket];
100
- if (!lstc) {
101
- lstc = [];
102
- this._buckets[bucket] = lstc;
103
- }
104
- lstc.push(child);
105
- }
106
- bStartY++;
107
- }
108
- if (child instanceof Container && child._children.length > 0) {
109
- this._dispatchInBuckets(child._children);
110
- }
111
- }
112
- };
113
- // reset left and top measures for the window and all its children
114
- _ScrollViewerWindow.prototype._updateMeasures = function () {
115
- var left = this.leftInPixels | 0, top = this.topInPixels | 0;
116
- this._measureForChildren.left -= left;
117
- this._measureForChildren.top -= top;
118
- this._currentMeasure.left -= left;
119
- this._currentMeasure.top -= top;
120
- this._customData.origLeftForChildren = this._measureForChildren.left;
121
- this._customData.origTopForChildren = this._measureForChildren.top;
122
- this._customData.origLeft = this._currentMeasure.left;
123
- this._customData.origTop = this._currentMeasure.top;
124
- this._updateChildrenMeasures(this._children, left, top);
125
- };
126
- _ScrollViewerWindow.prototype._updateChildrenMeasures = function (children, left, top) {
127
- for (var i = 0; i < children.length; ++i) {
128
- var child = children[i];
129
- child._currentMeasure.left -= left;
130
- child._currentMeasure.top -= top;
131
- child._customData._origLeft = child._currentMeasure.left; // save the original left and top values for each child
132
- child._customData._origTop = child._currentMeasure.top;
133
- if (child instanceof Container && child._children.length > 0) {
134
- this._updateChildrenMeasures(child._children, left, top);
135
- }
136
- }
137
- };
138
- _ScrollViewerWindow.prototype._restoreMeasures = function () {
139
- var left = this.leftInPixels | 0, top = this.topInPixels | 0;
140
- this._measureForChildren.left = this._customData.origLeftForChildren + left;
141
- this._measureForChildren.top = this._customData.origTopForChildren + top;
142
- this._currentMeasure.left = this._customData.origLeft + left;
143
- this._currentMeasure.top = this._customData.origTop + top;
144
- };
145
- _ScrollViewerWindow.prototype._getTypeName = function () {
146
- return "ScrollViewerWindow";
147
- };
148
- /** @hidden */
149
- _ScrollViewerWindow.prototype._additionalProcessing = function (parentMeasure, context) {
150
- _super.prototype._additionalProcessing.call(this, parentMeasure, context);
151
- this._parentMeasure = parentMeasure;
152
- this._measureForChildren.left = this._currentMeasure.left;
153
- this._measureForChildren.top = this._currentMeasure.top;
154
- this._measureForChildren.width = parentMeasure.width;
155
- this._measureForChildren.height = parentMeasure.height;
156
- };
157
- /** @hidden */
158
- _ScrollViewerWindow.prototype._layout = function (parentMeasure, context) {
159
- if (this._freezeControls) {
160
- this.invalidateRect(); // will trigger a redraw of the window
161
- return false;
162
- }
163
- return _super.prototype._layout.call(this, parentMeasure, context);
164
- };
165
- _ScrollViewerWindow.prototype._scrollChildren = function (children, left, top) {
166
- for (var i = 0; i < children.length; ++i) {
167
- var child = children[i];
168
- child._currentMeasure.left = child._customData._origLeft + left;
169
- child._currentMeasure.top = child._customData._origTop + top;
170
- child._isClipped = false; // clipping will be handled by _draw and the call to _intersectsRect()
171
- if (child instanceof Container && child._children.length > 0) {
172
- this._scrollChildren(child._children, left, top);
173
- }
174
- }
175
- };
176
- _ScrollViewerWindow.prototype._scrollChildrenWithBuckets = function (left, top, scrollLeft, scrollTop) {
177
- var bStartX = Math.max(0, Math.floor(-left / this._bucketWidth)), bEndX = Math.floor((-left + this._parentMeasure.width - 1) / this._bucketWidth), bStartY = Math.max(0, Math.floor(-top / this._bucketHeight)), bEndY = Math.floor((-top + this._parentMeasure.height - 1) / this._bucketHeight);
178
- while (bStartY <= bEndY) {
179
- for (var x = bStartX; x <= bEndX; ++x) {
180
- var bucket = bStartY * this._bucketLen + x, lstc = this._buckets[bucket];
181
- if (lstc) {
182
- for (var i = 0; i < lstc.length; ++i) {
183
- var child = lstc[i];
184
- child._currentMeasure.left = child._customData._origLeft + scrollLeft;
185
- child._currentMeasure.top = child._customData._origTop + scrollTop;
186
- child._isClipped = false; // clipping will be handled by _draw and the call to _intersectsRect()
187
- }
188
- }
189
- }
190
- bStartY++;
191
- }
192
- };
193
- /** @hidden */
194
- _ScrollViewerWindow.prototype._draw = function (context, invalidatedRectangle) {
195
- if (!this._freezeControls) {
196
- _super.prototype._draw.call(this, context, invalidatedRectangle);
197
- return;
198
- }
199
- this._localDraw(context);
200
- if (this.clipChildren) {
201
- this._clipForChildren(context);
202
- }
203
- var left = this.leftInPixels | 0, top = this.topInPixels | 0;
204
- if (this._useBuckets()) {
205
- if (this._oldLeft !== null && this._oldTop !== null) {
206
- this._scrollChildrenWithBuckets(this._oldLeft, this._oldTop, left, top);
207
- this._scrollChildrenWithBuckets(left, top, left, top);
208
- }
209
- else {
210
- this._scrollChildren(this._children, left, top);
211
- }
212
- }
213
- else {
214
- this._scrollChildren(this._children, left, top);
215
- }
216
- this._oldLeft = left;
217
- this._oldTop = top;
218
- for (var _i = 0, _a = this._children; _i < _a.length; _i++) {
219
- var child = _a[_i];
220
- if (!child._intersectsRect(this._parentMeasure)) {
221
- continue;
222
- }
223
- child._render(context, this._parentMeasure);
224
- }
225
- };
226
- _ScrollViewerWindow.prototype._postMeasure = function () {
227
- if (this._freezeControls) {
228
- _super.prototype._postMeasure.call(this);
229
- return;
230
- }
231
- var maxWidth = this.parentClientWidth;
232
- var maxHeight = this.parentClientHeight;
233
- for (var _i = 0, _a = this.children; _i < _a.length; _i++) {
234
- var child = _a[_i];
235
- if (!child.isVisible || child.notRenderable) {
236
- continue;
237
- }
238
- if (child.horizontalAlignment === Control.HORIZONTAL_ALIGNMENT_CENTER) {
239
- child._offsetLeft(this._currentMeasure.left - child._currentMeasure.left);
240
- }
241
- if (child.verticalAlignment === Control.VERTICAL_ALIGNMENT_CENTER) {
242
- child._offsetTop(this._currentMeasure.top - child._currentMeasure.top);
243
- }
244
- maxWidth = Math.max(maxWidth, child._currentMeasure.left - this._currentMeasure.left + child._currentMeasure.width + child.paddingRightInPixels);
245
- maxHeight = Math.max(maxHeight, child._currentMeasure.top - this._currentMeasure.top + child._currentMeasure.height + child.paddingBottomInPixels);
246
- }
247
- if (this._currentMeasure.width !== maxWidth) {
248
- this._width.updateInPlace(maxWidth, ValueAndUnit.UNITMODE_PIXEL);
249
- this._currentMeasure.width = maxWidth;
250
- this._rebuildLayout = true;
251
- this._isDirty = true;
252
- }
253
- if (this._currentMeasure.height !== maxHeight) {
254
- this._height.updateInPlace(maxHeight, ValueAndUnit.UNITMODE_PIXEL);
255
- this._currentMeasure.height = maxHeight;
256
- this._rebuildLayout = true;
257
- this._isDirty = true;
258
- }
259
- _super.prototype._postMeasure.call(this);
260
- };
261
- return _ScrollViewerWindow;
262
- }(Container));
263
- export { _ScrollViewerWindow };
1
+ import { __extends } from "tslib";
2
+ import { Measure } from "../../measure";
3
+ import { Container } from "../container";
4
+ import { ValueAndUnit } from "../../valueAndUnit";
5
+ import { Control } from "../control";
6
+ /**
7
+ * Class used to hold a the container for ScrollViewer
8
+ * @hidden
9
+ */
10
+ var _ScrollViewerWindow = /** @class */ (function (_super) {
11
+ __extends(_ScrollViewerWindow, _super);
12
+ /**
13
+ * Creates a new ScrollViewerWindow
14
+ * @param name of ScrollViewerWindow
15
+ */
16
+ function _ScrollViewerWindow(name) {
17
+ var _this = _super.call(this, name) || this;
18
+ _this._freezeControls = false;
19
+ _this._bucketWidth = 0;
20
+ _this._bucketHeight = 0;
21
+ _this._buckets = {};
22
+ return _this;
23
+ }
24
+ Object.defineProperty(_ScrollViewerWindow.prototype, "freezeControls", {
25
+ get: function () {
26
+ return this._freezeControls;
27
+ },
28
+ set: function (value) {
29
+ if (this._freezeControls === value) {
30
+ return;
31
+ }
32
+ if (!value) {
33
+ this._restoreMeasures();
34
+ }
35
+ // trigger a full normal layout calculation to be sure all children have their measures up to date
36
+ this._freezeControls = false;
37
+ var textureSize = this.host.getSize();
38
+ var renderWidth = textureSize.width;
39
+ var renderHeight = textureSize.height;
40
+ var context = this.host.getContext();
41
+ var measure = new Measure(0, 0, renderWidth, renderHeight);
42
+ this.host._numLayoutCalls = 0;
43
+ this.host._rootContainer._layout(measure, context);
44
+ // in freeze mode, prepare children measures accordingly
45
+ if (value) {
46
+ this._updateMeasures();
47
+ if (this._useBuckets()) {
48
+ this._makeBuckets();
49
+ }
50
+ }
51
+ this._freezeControls = value;
52
+ this.host.markAsDirty(); // redraw with the (new) current settings
53
+ },
54
+ enumerable: false,
55
+ configurable: true
56
+ });
57
+ Object.defineProperty(_ScrollViewerWindow.prototype, "bucketWidth", {
58
+ get: function () {
59
+ return this._bucketWidth;
60
+ },
61
+ enumerable: false,
62
+ configurable: true
63
+ });
64
+ Object.defineProperty(_ScrollViewerWindow.prototype, "bucketHeight", {
65
+ get: function () {
66
+ return this._bucketHeight;
67
+ },
68
+ enumerable: false,
69
+ configurable: true
70
+ });
71
+ _ScrollViewerWindow.prototype.setBucketSizes = function (width, height) {
72
+ this._bucketWidth = width;
73
+ this._bucketHeight = height;
74
+ if (this._useBuckets()) {
75
+ if (this._freezeControls) {
76
+ this._makeBuckets();
77
+ }
78
+ }
79
+ else {
80
+ this._buckets = {};
81
+ }
82
+ };
83
+ _ScrollViewerWindow.prototype._useBuckets = function () {
84
+ return this._bucketWidth > 0 && this._bucketHeight > 0;
85
+ };
86
+ _ScrollViewerWindow.prototype._makeBuckets = function () {
87
+ this._buckets = {};
88
+ this._bucketLen = Math.ceil(this.widthInPixels / this._bucketWidth);
89
+ this._dispatchInBuckets(this._children);
90
+ this._oldLeft = null;
91
+ this._oldTop = null;
92
+ };
93
+ _ScrollViewerWindow.prototype._dispatchInBuckets = function (children) {
94
+ for (var i = 0; i < children.length; ++i) {
95
+ var child = children[i];
96
+ var bStartX = Math.max(0, Math.floor((child._customData._origLeft - this._customData.origLeft) / this._bucketWidth)), bEndX = Math.floor((child._customData._origLeft - this._customData.origLeft + child._currentMeasure.width - 1) / this._bucketWidth), bEndY = Math.floor((child._customData._origTop - this._customData.origTop + child._currentMeasure.height - 1) / this._bucketHeight);
97
+ var bStartY = Math.max(0, Math.floor((child._customData._origTop - this._customData.origTop) / this._bucketHeight));
98
+ while (bStartY <= bEndY) {
99
+ for (var x = bStartX; x <= bEndX; ++x) {
100
+ var bucket = bStartY * this._bucketLen + x;
101
+ var lstc = this._buckets[bucket];
102
+ if (!lstc) {
103
+ lstc = [];
104
+ this._buckets[bucket] = lstc;
105
+ }
106
+ lstc.push(child);
107
+ }
108
+ bStartY++;
109
+ }
110
+ if (child instanceof Container && child._children.length > 0) {
111
+ this._dispatchInBuckets(child._children);
112
+ }
113
+ }
114
+ };
115
+ // reset left and top measures for the window and all its children
116
+ _ScrollViewerWindow.prototype._updateMeasures = function () {
117
+ var left = this.leftInPixels | 0, top = this.topInPixels | 0;
118
+ this._measureForChildren.left -= left;
119
+ this._measureForChildren.top -= top;
120
+ this._currentMeasure.left -= left;
121
+ this._currentMeasure.top -= top;
122
+ this._customData.origLeftForChildren = this._measureForChildren.left;
123
+ this._customData.origTopForChildren = this._measureForChildren.top;
124
+ this._customData.origLeft = this._currentMeasure.left;
125
+ this._customData.origTop = this._currentMeasure.top;
126
+ this._updateChildrenMeasures(this._children, left, top);
127
+ };
128
+ _ScrollViewerWindow.prototype._updateChildrenMeasures = function (children, left, top) {
129
+ for (var i = 0; i < children.length; ++i) {
130
+ var child = children[i];
131
+ child._currentMeasure.left -= left;
132
+ child._currentMeasure.top -= top;
133
+ child._customData._origLeft = child._currentMeasure.left; // save the original left and top values for each child
134
+ child._customData._origTop = child._currentMeasure.top;
135
+ if (child instanceof Container && child._children.length > 0) {
136
+ this._updateChildrenMeasures(child._children, left, top);
137
+ }
138
+ }
139
+ };
140
+ _ScrollViewerWindow.prototype._restoreMeasures = function () {
141
+ var left = this.leftInPixels | 0, top = this.topInPixels | 0;
142
+ this._measureForChildren.left = this._customData.origLeftForChildren + left;
143
+ this._measureForChildren.top = this._customData.origTopForChildren + top;
144
+ this._currentMeasure.left = this._customData.origLeft + left;
145
+ this._currentMeasure.top = this._customData.origTop + top;
146
+ };
147
+ _ScrollViewerWindow.prototype._getTypeName = function () {
148
+ return "ScrollViewerWindow";
149
+ };
150
+ /**
151
+ * @param parentMeasure
152
+ * @param context
153
+ * @hidden
154
+ */
155
+ _ScrollViewerWindow.prototype._additionalProcessing = function (parentMeasure, context) {
156
+ _super.prototype._additionalProcessing.call(this, parentMeasure, context);
157
+ this._parentMeasure = parentMeasure;
158
+ this._measureForChildren.left = this._currentMeasure.left;
159
+ this._measureForChildren.top = this._currentMeasure.top;
160
+ this._measureForChildren.width = parentMeasure.width;
161
+ this._measureForChildren.height = parentMeasure.height;
162
+ };
163
+ /**
164
+ * @param parentMeasure
165
+ * @param context
166
+ * @hidden
167
+ */
168
+ _ScrollViewerWindow.prototype._layout = function (parentMeasure, context) {
169
+ if (this._freezeControls) {
170
+ this.invalidateRect(); // will trigger a redraw of the window
171
+ return false;
172
+ }
173
+ return _super.prototype._layout.call(this, parentMeasure, context);
174
+ };
175
+ _ScrollViewerWindow.prototype._scrollChildren = function (children, left, top) {
176
+ for (var i = 0; i < children.length; ++i) {
177
+ var child = children[i];
178
+ child._currentMeasure.left = child._customData._origLeft + left;
179
+ child._currentMeasure.top = child._customData._origTop + top;
180
+ child._isClipped = false; // clipping will be handled by _draw and the call to _intersectsRect()
181
+ if (child instanceof Container && child._children.length > 0) {
182
+ this._scrollChildren(child._children, left, top);
183
+ }
184
+ }
185
+ };
186
+ _ScrollViewerWindow.prototype._scrollChildrenWithBuckets = function (left, top, scrollLeft, scrollTop) {
187
+ var bStartX = Math.max(0, Math.floor(-left / this._bucketWidth)), bEndX = Math.floor((-left + this._parentMeasure.width - 1) / this._bucketWidth), bEndY = Math.floor((-top + this._parentMeasure.height - 1) / this._bucketHeight);
188
+ var bStartY = Math.max(0, Math.floor(-top / this._bucketHeight));
189
+ while (bStartY <= bEndY) {
190
+ for (var x = bStartX; x <= bEndX; ++x) {
191
+ var bucket = bStartY * this._bucketLen + x, lstc = this._buckets[bucket];
192
+ if (lstc) {
193
+ for (var i = 0; i < lstc.length; ++i) {
194
+ var child = lstc[i];
195
+ child._currentMeasure.left = child._customData._origLeft + scrollLeft;
196
+ child._currentMeasure.top = child._customData._origTop + scrollTop;
197
+ child._isClipped = false; // clipping will be handled by _draw and the call to _intersectsRect()
198
+ }
199
+ }
200
+ }
201
+ bStartY++;
202
+ }
203
+ };
204
+ /**
205
+ * @param context
206
+ * @param invalidatedRectangle
207
+ * @hidden
208
+ */
209
+ _ScrollViewerWindow.prototype._draw = function (context, invalidatedRectangle) {
210
+ if (!this._freezeControls) {
211
+ _super.prototype._draw.call(this, context, invalidatedRectangle);
212
+ return;
213
+ }
214
+ this._localDraw(context);
215
+ if (this.clipChildren) {
216
+ this._clipForChildren(context);
217
+ }
218
+ var left = this.leftInPixels | 0, top = this.topInPixels | 0;
219
+ if (this._useBuckets()) {
220
+ if (this._oldLeft !== null && this._oldTop !== null) {
221
+ this._scrollChildrenWithBuckets(this._oldLeft, this._oldTop, left, top);
222
+ this._scrollChildrenWithBuckets(left, top, left, top);
223
+ }
224
+ else {
225
+ this._scrollChildren(this._children, left, top);
226
+ }
227
+ }
228
+ else {
229
+ this._scrollChildren(this._children, left, top);
230
+ }
231
+ this._oldLeft = left;
232
+ this._oldTop = top;
233
+ for (var _i = 0, _a = this._children; _i < _a.length; _i++) {
234
+ var child = _a[_i];
235
+ if (!child._intersectsRect(this._parentMeasure)) {
236
+ continue;
237
+ }
238
+ child._render(context, this._parentMeasure);
239
+ }
240
+ };
241
+ _ScrollViewerWindow.prototype._postMeasure = function () {
242
+ if (this._freezeControls) {
243
+ _super.prototype._postMeasure.call(this);
244
+ return;
245
+ }
246
+ var maxWidth = this.parentClientWidth;
247
+ var maxHeight = this.parentClientHeight;
248
+ for (var _i = 0, _a = this.children; _i < _a.length; _i++) {
249
+ var child = _a[_i];
250
+ if (!child.isVisible || child.notRenderable) {
251
+ continue;
252
+ }
253
+ if (child.horizontalAlignment === Control.HORIZONTAL_ALIGNMENT_CENTER) {
254
+ child._offsetLeft(this._currentMeasure.left - child._currentMeasure.left);
255
+ }
256
+ if (child.verticalAlignment === Control.VERTICAL_ALIGNMENT_CENTER) {
257
+ child._offsetTop(this._currentMeasure.top - child._currentMeasure.top);
258
+ }
259
+ maxWidth = Math.max(maxWidth, child._currentMeasure.left - this._currentMeasure.left + child._currentMeasure.width + child.paddingRightInPixels);
260
+ maxHeight = Math.max(maxHeight, child._currentMeasure.top - this._currentMeasure.top + child._currentMeasure.height + child.paddingBottomInPixels);
261
+ }
262
+ if (this._currentMeasure.width !== maxWidth) {
263
+ this._width.updateInPlace(maxWidth, ValueAndUnit.UNITMODE_PIXEL);
264
+ this._currentMeasure.width = maxWidth;
265
+ this._rebuildLayout = true;
266
+ this._isDirty = true;
267
+ }
268
+ if (this._currentMeasure.height !== maxHeight) {
269
+ this._height.updateInPlace(maxHeight, ValueAndUnit.UNITMODE_PIXEL);
270
+ this._currentMeasure.height = maxHeight;
271
+ this._rebuildLayout = true;
272
+ this._isDirty = true;
273
+ }
274
+ _super.prototype._postMeasure.call(this);
275
+ };
276
+ return _ScrollViewerWindow;
277
+ }(Container));
278
+ export { _ScrollViewerWindow };
264
279
  //# sourceMappingURL=scrollViewerWindow.js.map