@babylonjs/gui 5.0.0-rc.6 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/2D/adtInstrumentation.d.ts +52 -52
  2. package/2D/adtInstrumentation.js +126 -126
  3. package/2D/adtInstrumentation.js.map +1 -1
  4. package/2D/advancedDynamicTexture.d.ts +449 -448
  5. package/2D/advancedDynamicTexture.js +1318 -1318
  6. package/2D/advancedDynamicTexture.js.map +1 -1
  7. package/2D/controls/button.d.ts +135 -135
  8. package/2D/controls/button.js +276 -276
  9. package/2D/controls/button.js.map +1 -1
  10. package/2D/controls/checkbox.d.ts +59 -59
  11. package/2D/controls/checkbox.js +188 -188
  12. package/2D/controls/checkbox.js.map +1 -1
  13. package/2D/controls/colorpicker.d.ts +103 -103
  14. package/2D/controls/colorpicker.js +1417 -1417
  15. package/2D/controls/colorpicker.js.map +1 -1
  16. package/2D/controls/container.d.ts +175 -175
  17. package/2D/controls/container.js +570 -570
  18. package/2D/controls/container.js.map +1 -1
  19. package/2D/controls/control.d.ts +866 -866
  20. package/2D/controls/control.js +2433 -2433
  21. package/2D/controls/control.js.map +1 -1
  22. package/2D/controls/displayGrid.d.ts +53 -53
  23. package/2D/controls/displayGrid.js +245 -245
  24. package/2D/controls/displayGrid.js.map +1 -1
  25. package/2D/controls/ellipse.d.ts +21 -21
  26. package/2D/controls/ellipse.js +85 -85
  27. package/2D/controls/ellipse.js.map +1 -1
  28. package/2D/controls/focusableButton.d.ts +59 -59
  29. package/2D/controls/focusableButton.js +99 -99
  30. package/2D/controls/focusableButton.js.map +1 -1
  31. package/2D/controls/focusableControl.d.ts +34 -34
  32. package/2D/controls/focusableControl.js +1 -1
  33. package/2D/controls/focusableControl.js.map +1 -1
  34. package/2D/controls/grid.d.ts +139 -139
  35. package/2D/controls/grid.js +529 -529
  36. package/2D/controls/grid.js.map +1 -1
  37. package/2D/controls/image.d.ts +204 -204
  38. package/2D/controls/image.js +887 -887
  39. package/2D/controls/image.js.map +1 -1
  40. package/2D/controls/index.d.ts +29 -29
  41. package/2D/controls/index.js +29 -29
  42. package/2D/controls/inputPassword.d.ts +9 -8
  43. package/2D/controls/inputPassword.js +28 -25
  44. package/2D/controls/inputPassword.js.map +1 -1
  45. package/2D/controls/inputText.d.ts +201 -201
  46. package/2D/controls/inputText.js +1119 -1119
  47. package/2D/controls/inputText.js.map +1 -1
  48. package/2D/controls/line.d.ts +66 -66
  49. package/2D/controls/line.js +271 -271
  50. package/2D/controls/line.js.map +1 -1
  51. package/2D/controls/multiLine.d.ts +75 -75
  52. package/2D/controls/multiLine.js +262 -262
  53. package/2D/controls/multiLine.js.map +1 -1
  54. package/2D/controls/radioButton.d.ts +49 -49
  55. package/2D/controls/radioButton.js +205 -205
  56. package/2D/controls/radioButton.js.map +1 -1
  57. package/2D/controls/rectangle.d.ts +29 -29
  58. package/2D/controls/rectangle.js +150 -150
  59. package/2D/controls/rectangle.js.map +1 -1
  60. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -182
  61. package/2D/controls/scrollViewers/scrollViewer.js +677 -677
  62. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  63. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -57
  64. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -278
  65. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  66. package/2D/controls/selector.d.ts +263 -263
  67. package/2D/controls/selector.js +692 -692
  68. package/2D/controls/sliders/baseSlider.d.ts +82 -82
  69. package/2D/controls/sliders/baseSlider.js +347 -347
  70. package/2D/controls/sliders/baseSlider.js.map +1 -1
  71. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -49
  72. package/2D/controls/sliders/imageBasedSlider.js +192 -192
  73. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  74. package/2D/controls/sliders/imageScrollBar.d.ts +65 -65
  75. package/2D/controls/sliders/imageScrollBar.js +263 -263
  76. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  77. package/2D/controls/sliders/scrollBar.d.ts +38 -38
  78. package/2D/controls/sliders/scrollBar.js +143 -143
  79. package/2D/controls/sliders/scrollBar.js.map +1 -1
  80. package/2D/controls/sliders/slider.d.ts +35 -35
  81. package/2D/controls/sliders/slider.js +271 -271
  82. package/2D/controls/sliders/slider.js.map +1 -1
  83. package/2D/controls/stackPanel.d.ts +64 -64
  84. package/2D/controls/stackPanel.js +246 -246
  85. package/2D/controls/stackPanel.js.map +1 -1
  86. package/2D/controls/statics.d.ts +6 -6
  87. package/2D/controls/statics.js +49 -49
  88. package/2D/controls/textBlock.d.ts +175 -175
  89. package/2D/controls/textBlock.js +603 -603
  90. package/2D/controls/textBlock.js.map +1 -1
  91. package/2D/controls/textWrapper.d.ts +13 -13
  92. package/2D/controls/textWrapper.js +101 -101
  93. package/2D/controls/toggleButton.d.ts +117 -117
  94. package/2D/controls/toggleButton.js +268 -268
  95. package/2D/controls/toggleButton.js.map +1 -1
  96. package/2D/controls/virtualKeyboard.d.ts +96 -96
  97. package/2D/controls/virtualKeyboard.js +256 -256
  98. package/2D/controls/virtualKeyboard.js.map +1 -1
  99. package/2D/index.d.ts +9 -9
  100. package/2D/index.js +10 -9
  101. package/2D/index.js.map +1 -1
  102. package/2D/math2D.d.ts +117 -117
  103. package/2D/math2D.js +221 -221
  104. package/2D/math2D.js.map +1 -1
  105. package/2D/measure.d.ts +77 -77
  106. package/2D/measure.js +139 -139
  107. package/2D/measure.js.map +1 -1
  108. package/2D/multiLinePoint.d.ts +47 -47
  109. package/2D/multiLinePoint.js +127 -127
  110. package/2D/multiLinePoint.js.map +1 -1
  111. package/2D/style.d.ts +46 -46
  112. package/2D/style.js +97 -97
  113. package/2D/style.js.map +1 -1
  114. package/2D/valueAndUnit.d.ts +89 -89
  115. package/2D/valueAndUnit.js +226 -226
  116. package/2D/valueAndUnit.js.map +1 -1
  117. package/2D/xmlLoader.d.ts +60 -60
  118. package/2D/xmlLoader.js +348 -348
  119. package/2D/xmlLoader.js.map +1 -1
  120. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  121. package/3D/behaviors/defaultBehavior.js +121 -121
  122. package/3D/behaviors/defaultBehavior.js.map +1 -1
  123. package/3D/controls/abstractButton3D.d.ts +15 -15
  124. package/3D/controls/abstractButton3D.js +25 -25
  125. package/3D/controls/abstractButton3D.js.map +1 -1
  126. package/3D/controls/button3D.d.ts +30 -30
  127. package/3D/controls/button3D.js +93 -93
  128. package/3D/controls/button3D.js.map +1 -1
  129. package/3D/controls/container3D.d.ts +72 -72
  130. package/3D/controls/container3D.js +139 -139
  131. package/3D/controls/container3D.js.map +1 -1
  132. package/3D/controls/contentDisplay3D.d.ts +30 -30
  133. package/3D/controls/contentDisplay3D.js +79 -79
  134. package/3D/controls/contentDisplay3D.js.map +1 -1
  135. package/3D/controls/control3D.d.ts +201 -201
  136. package/3D/controls/control3D.js +445 -445
  137. package/3D/controls/control3D.js.map +1 -1
  138. package/3D/controls/cylinderPanel.d.ts +17 -17
  139. package/3D/controls/cylinderPanel.js +66 -66
  140. package/3D/controls/cylinderPanel.js.map +1 -1
  141. package/3D/controls/handMenu.d.ts +28 -28
  142. package/3D/controls/handMenu.js +47 -47
  143. package/3D/controls/handMenu.js.map +1 -1
  144. package/3D/controls/holographicBackplate.d.ts +49 -49
  145. package/3D/controls/holographicBackplate.js +120 -120
  146. package/3D/controls/holographicBackplate.js.map +1 -1
  147. package/3D/controls/holographicButton.d.ts +84 -84
  148. package/3D/controls/holographicButton.js +339 -339
  149. package/3D/controls/holographicButton.js.map +1 -1
  150. package/3D/controls/holographicSlate.d.ts +131 -131
  151. package/3D/controls/holographicSlate.js +431 -431
  152. package/3D/controls/holographicSlate.js.map +1 -1
  153. package/3D/controls/index.d.ts +21 -21
  154. package/3D/controls/index.js +21 -21
  155. package/3D/controls/meshButton3D.d.ts +21 -21
  156. package/3D/controls/meshButton3D.js +62 -62
  157. package/3D/controls/meshButton3D.js.map +1 -1
  158. package/3D/controls/nearMenu.d.ts +44 -44
  159. package/3D/controls/nearMenu.js +114 -114
  160. package/3D/controls/nearMenu.js.map +1 -1
  161. package/3D/controls/planePanel.d.ts +9 -9
  162. package/3D/controls/planePanel.js +36 -36
  163. package/3D/controls/planePanel.js.map +1 -1
  164. package/3D/controls/scatterPanel.d.ts +18 -18
  165. package/3D/controls/scatterPanel.js +108 -108
  166. package/3D/controls/scatterPanel.js.map +1 -1
  167. package/3D/controls/slider3D.d.ts +81 -81
  168. package/3D/controls/slider3D.js +268 -268
  169. package/3D/controls/slider3D.js.map +1 -1
  170. package/3D/controls/spherePanel.d.ts +17 -17
  171. package/3D/controls/spherePanel.js +67 -67
  172. package/3D/controls/spherePanel.js.map +1 -1
  173. package/3D/controls/stackPanel3D.d.ts +22 -22
  174. package/3D/controls/stackPanel3D.js +107 -107
  175. package/3D/controls/touchButton3D.d.ts +80 -80
  176. package/3D/controls/touchButton3D.js +233 -233
  177. package/3D/controls/touchButton3D.js.map +1 -1
  178. package/3D/controls/touchHolographicButton.d.ts +110 -110
  179. package/3D/controls/touchHolographicButton.js +445 -445
  180. package/3D/controls/touchHolographicButton.js.map +1 -1
  181. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  182. package/3D/controls/touchHolographicMenu.js +149 -149
  183. package/3D/controls/touchHolographicMenu.js.map +1 -1
  184. package/3D/controls/touchMeshButton3D.d.ts +21 -21
  185. package/3D/controls/touchMeshButton3D.js +62 -62
  186. package/3D/controls/touchMeshButton3D.js.map +1 -1
  187. package/3D/controls/volumeBasedPanel.d.ts +53 -53
  188. package/3D/controls/volumeBasedPanel.js +174 -174
  189. package/3D/controls/volumeBasedPanel.js.map +1 -1
  190. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  191. package/3D/gizmos/gizmoHandle.js +209 -209
  192. package/3D/gizmos/gizmoHandle.js.map +1 -1
  193. package/3D/gizmos/index.d.ts +2 -2
  194. package/3D/gizmos/index.js +2 -2
  195. package/3D/gizmos/slateGizmo.d.ts +57 -57
  196. package/3D/gizmos/slateGizmo.js +369 -369
  197. package/3D/gizmos/slateGizmo.js.map +1 -1
  198. package/3D/gui3DManager.d.ts +94 -94
  199. package/3D/gui3DManager.js +257 -257
  200. package/3D/gui3DManager.js.map +1 -1
  201. package/3D/index.d.ts +5 -5
  202. package/3D/index.js +6 -5
  203. package/3D/index.js.map +1 -1
  204. package/3D/materials/fluent/fluentMaterial.d.ts +91 -90
  205. package/3D/materials/fluent/fluentMaterial.js +292 -292
  206. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  207. package/3D/materials/fluent/index.d.ts +1 -1
  208. package/3D/materials/fluent/index.js +1 -1
  209. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  210. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -8
  211. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  212. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -8
  213. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +155 -154
  214. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -469
  215. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  216. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  217. package/3D/materials/fluentBackplate/index.js +1 -1
  218. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  219. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -8
  220. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  221. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -8
  222. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +190 -189
  223. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -539
  224. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  225. package/3D/materials/fluentButton/index.d.ts +1 -1
  226. package/3D/materials/fluentButton/index.js +1 -1
  227. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  228. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -8
  229. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  230. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -8
  231. package/3D/materials/fluentMaterial.d.ts +4 -4
  232. package/3D/materials/fluentMaterial.js +4 -4
  233. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  234. package/3D/materials/handle/handleMaterial.js +126 -126
  235. package/3D/materials/handle/handleMaterial.js.map +1 -1
  236. package/3D/materials/handle/index.d.ts +1 -1
  237. package/3D/materials/handle/index.js +1 -1
  238. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  239. package/3D/materials/handle/shaders/handle.fragment.js +8 -8
  240. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  241. package/3D/materials/handle/shaders/handle.vertex.js +8 -8
  242. package/3D/materials/index.d.ts +5 -5
  243. package/3D/materials/index.js +6 -5
  244. package/3D/materials/index.js.map +1 -1
  245. package/3D/materials/mrdl/index.d.ts +3 -3
  246. package/3D/materials/mrdl/index.js +3 -3
  247. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +148 -147
  248. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -436
  249. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  250. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +334 -333
  251. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -851
  252. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  253. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +334 -333
  254. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -851
  255. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  256. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  257. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -8
  258. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  259. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -8
  260. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  261. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -8
  262. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  263. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -8
  264. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  265. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -8
  266. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  267. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -8
  268. package/3D/vector3WithInfo.d.ts +16 -16
  269. package/3D/vector3WithInfo.js +23 -23
  270. package/index.d.ts +2 -2
  271. package/index.js +3 -2
  272. package/index.js.map +1 -1
  273. package/legacy/legacy.d.ts +1 -1
  274. package/legacy/legacy.js +14 -13
  275. package/legacy/legacy.js.map +1 -1
  276. package/license.md +71 -0
  277. package/package.json +24 -5
@@ -1,272 +1,272 @@
1
- import { __decorate, __extends } from "tslib";
2
- import { BaseSlider } from "./baseSlider.js";
3
- import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
4
- import { serialize } from "@babylonjs/core/Misc/decorators.js";
5
- /**
6
- * Class used to create slider controls
7
- */
8
- var Slider = /** @class */ (function (_super) {
9
- __extends(Slider, _super);
10
- /**
11
- * Creates a new Slider
12
- * @param name defines the control name
13
- */
14
- function Slider(name) {
15
- var _this = _super.call(this, name) || this;
16
- _this.name = name;
17
- _this._background = "black";
18
- _this._borderColor = "white";
19
- _this._thumbColor = "";
20
- _this._isThumbCircle = false;
21
- _this._displayValueBar = true;
22
- return _this;
23
- }
24
- Object.defineProperty(Slider.prototype, "displayValueBar", {
25
- /** Gets or sets a boolean indicating if the value bar must be rendered */
26
- get: function () {
27
- return this._displayValueBar;
28
- },
29
- set: function (value) {
30
- if (this._displayValueBar === value) {
31
- return;
32
- }
33
- this._displayValueBar = value;
34
- this._markAsDirty();
35
- },
36
- enumerable: false,
37
- configurable: true
38
- });
39
- Object.defineProperty(Slider.prototype, "borderColor", {
40
- /** Gets or sets border color */
41
- get: function () {
42
- return this._borderColor;
43
- },
44
- set: function (value) {
45
- if (this._borderColor === value) {
46
- return;
47
- }
48
- this._borderColor = value;
49
- this._markAsDirty();
50
- },
51
- enumerable: false,
52
- configurable: true
53
- });
54
- Object.defineProperty(Slider.prototype, "background", {
55
- /** Gets or sets background color */
56
- get: function () {
57
- return this._background;
58
- },
59
- set: function (value) {
60
- if (this._background === value) {
61
- return;
62
- }
63
- this._background = value;
64
- this._markAsDirty();
65
- },
66
- enumerable: false,
67
- configurable: true
68
- });
69
- Object.defineProperty(Slider.prototype, "thumbColor", {
70
- /** Gets or sets thumb's color */
71
- get: function () {
72
- return this._thumbColor;
73
- },
74
- set: function (value) {
75
- if (this._thumbColor === value) {
76
- return;
77
- }
78
- this._thumbColor = value;
79
- this._markAsDirty();
80
- },
81
- enumerable: false,
82
- configurable: true
83
- });
84
- Object.defineProperty(Slider.prototype, "isThumbCircle", {
85
- /** Gets or sets a boolean indicating if the thumb should be round or square */
86
- get: function () {
87
- return this._isThumbCircle;
88
- },
89
- set: function (value) {
90
- if (this._isThumbCircle === value) {
91
- return;
92
- }
93
- this._isThumbCircle = value;
94
- this._markAsDirty();
95
- },
96
- enumerable: false,
97
- configurable: true
98
- });
99
- Slider.prototype._getTypeName = function () {
100
- return "Slider";
101
- };
102
- Slider.prototype._draw = function (context) {
103
- context.save();
104
- this._applyStates(context);
105
- this._prepareRenderingData(this.isThumbCircle ? "circle" : "rectangle");
106
- var left = this._renderLeft;
107
- var top = this._renderTop;
108
- var width = this._renderWidth;
109
- var height = this._renderHeight;
110
- var radius = 0;
111
- if (this.isThumbClamped && this.isThumbCircle) {
112
- if (this.isVertical) {
113
- top += this._effectiveThumbThickness / 2;
114
- }
115
- else {
116
- left += this._effectiveThumbThickness / 2;
117
- }
118
- radius = this._backgroundBoxThickness / 2;
119
- }
120
- else {
121
- radius = (this._effectiveThumbThickness - this._effectiveBarOffset) / 2;
122
- }
123
- if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
124
- context.shadowColor = this.shadowColor;
125
- context.shadowBlur = this.shadowBlur;
126
- context.shadowOffsetX = this.shadowOffsetX;
127
- context.shadowOffsetY = this.shadowOffsetY;
128
- }
129
- var thumbPosition = this._getThumbPosition();
130
- context.fillStyle = this._background;
131
- if (this.isVertical) {
132
- if (this.isThumbClamped) {
133
- if (this.isThumbCircle) {
134
- context.beginPath();
135
- context.arc(left + this._backgroundBoxThickness / 2, top, radius, Math.PI, 2 * Math.PI);
136
- context.fill();
137
- context.fillRect(left, top, width, height);
138
- }
139
- else {
140
- context.fillRect(left, top, width, height + this._effectiveThumbThickness);
141
- }
142
- }
143
- else {
144
- context.fillRect(left, top, width, height);
145
- }
146
- }
147
- else {
148
- if (this.isThumbClamped) {
149
- if (this.isThumbCircle) {
150
- context.beginPath();
151
- context.arc(left + this._backgroundBoxLength, top + this._backgroundBoxThickness / 2, radius, 0, 2 * Math.PI);
152
- context.fill();
153
- context.fillRect(left, top, width, height);
154
- }
155
- else {
156
- context.fillRect(left, top, width + this._effectiveThumbThickness, height);
157
- }
158
- }
159
- else {
160
- context.fillRect(left, top, width, height);
161
- }
162
- }
163
- if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
164
- context.shadowBlur = 0;
165
- context.shadowOffsetX = 0;
166
- context.shadowOffsetY = 0;
167
- }
168
- // Value bar
169
- context.fillStyle = this.color;
170
- if (this._displayValueBar) {
171
- if (this.isVertical) {
172
- if (this.isThumbClamped) {
173
- if (this.isThumbCircle) {
174
- context.beginPath();
175
- context.arc(left + this._backgroundBoxThickness / 2, top + this._backgroundBoxLength, radius, 0, 2 * Math.PI);
176
- context.fill();
177
- context.fillRect(left, top + thumbPosition, width, height - thumbPosition);
178
- }
179
- else {
180
- context.fillRect(left, top + thumbPosition, width, height - thumbPosition + this._effectiveThumbThickness);
181
- }
182
- }
183
- else {
184
- context.fillRect(left, top + thumbPosition, width, height - thumbPosition);
185
- }
186
- }
187
- else {
188
- if (this.isThumbClamped) {
189
- if (this.isThumbCircle) {
190
- context.beginPath();
191
- context.arc(left, top + this._backgroundBoxThickness / 2, radius, 0, 2 * Math.PI);
192
- context.fill();
193
- context.fillRect(left, top, thumbPosition, height);
194
- }
195
- else {
196
- context.fillRect(left, top, thumbPosition, height);
197
- }
198
- }
199
- else {
200
- context.fillRect(left, top, thumbPosition, height);
201
- }
202
- }
203
- }
204
- // Thumb
205
- context.fillStyle = this._thumbColor || this.color;
206
- if (this.displayThumb) {
207
- if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
208
- context.shadowColor = this.shadowColor;
209
- context.shadowBlur = this.shadowBlur;
210
- context.shadowOffsetX = this.shadowOffsetX;
211
- context.shadowOffsetY = this.shadowOffsetY;
212
- }
213
- if (this._isThumbCircle) {
214
- context.beginPath();
215
- if (this.isVertical) {
216
- context.arc(left + this._backgroundBoxThickness / 2, top + thumbPosition, radius, 0, 2 * Math.PI);
217
- }
218
- else {
219
- context.arc(left + thumbPosition, top + this._backgroundBoxThickness / 2, radius, 0, 2 * Math.PI);
220
- }
221
- context.fill();
222
- if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
223
- context.shadowBlur = 0;
224
- context.shadowOffsetX = 0;
225
- context.shadowOffsetY = 0;
226
- }
227
- context.strokeStyle = this._borderColor;
228
- context.stroke();
229
- }
230
- else {
231
- if (this.isVertical) {
232
- context.fillRect(left - this._effectiveBarOffset, this._currentMeasure.top + thumbPosition, this._currentMeasure.width, this._effectiveThumbThickness);
233
- }
234
- else {
235
- context.fillRect(this._currentMeasure.left + thumbPosition, this._currentMeasure.top, this._effectiveThumbThickness, this._currentMeasure.height);
236
- }
237
- if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
238
- context.shadowBlur = 0;
239
- context.shadowOffsetX = 0;
240
- context.shadowOffsetY = 0;
241
- }
242
- context.strokeStyle = this._borderColor;
243
- if (this.isVertical) {
244
- context.strokeRect(left - this._effectiveBarOffset, this._currentMeasure.top + thumbPosition, this._currentMeasure.width, this._effectiveThumbThickness);
245
- }
246
- else {
247
- context.strokeRect(this._currentMeasure.left + thumbPosition, this._currentMeasure.top, this._effectiveThumbThickness, this._currentMeasure.height);
248
- }
249
- }
250
- }
251
- context.restore();
252
- };
253
- __decorate([
254
- serialize()
255
- ], Slider.prototype, "displayValueBar", null);
256
- __decorate([
257
- serialize()
258
- ], Slider.prototype, "borderColor", null);
259
- __decorate([
260
- serialize()
261
- ], Slider.prototype, "background", null);
262
- __decorate([
263
- serialize()
264
- ], Slider.prototype, "thumbColor", null);
265
- __decorate([
266
- serialize()
267
- ], Slider.prototype, "isThumbCircle", null);
268
- return Slider;
269
- }(BaseSlider));
270
- export { Slider };
271
- RegisterClass("BABYLON.GUI.Slider", Slider);
1
+ import { __decorate, __extends } from "tslib";
2
+ import { BaseSlider } from "./baseSlider.js";
3
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
4
+ import { serialize } from "@babylonjs/core/Misc/decorators.js";
5
+ /**
6
+ * Class used to create slider controls
7
+ */
8
+ var Slider = /** @class */ (function (_super) {
9
+ __extends(Slider, _super);
10
+ /**
11
+ * Creates a new Slider
12
+ * @param name defines the control name
13
+ */
14
+ function Slider(name) {
15
+ var _this = _super.call(this, name) || this;
16
+ _this.name = name;
17
+ _this._background = "black";
18
+ _this._borderColor = "white";
19
+ _this._thumbColor = "";
20
+ _this._isThumbCircle = false;
21
+ _this._displayValueBar = true;
22
+ return _this;
23
+ }
24
+ Object.defineProperty(Slider.prototype, "displayValueBar", {
25
+ /** Gets or sets a boolean indicating if the value bar must be rendered */
26
+ get: function () {
27
+ return this._displayValueBar;
28
+ },
29
+ set: function (value) {
30
+ if (this._displayValueBar === value) {
31
+ return;
32
+ }
33
+ this._displayValueBar = value;
34
+ this._markAsDirty();
35
+ },
36
+ enumerable: false,
37
+ configurable: true
38
+ });
39
+ Object.defineProperty(Slider.prototype, "borderColor", {
40
+ /** Gets or sets border color */
41
+ get: function () {
42
+ return this._borderColor;
43
+ },
44
+ set: function (value) {
45
+ if (this._borderColor === value) {
46
+ return;
47
+ }
48
+ this._borderColor = value;
49
+ this._markAsDirty();
50
+ },
51
+ enumerable: false,
52
+ configurable: true
53
+ });
54
+ Object.defineProperty(Slider.prototype, "background", {
55
+ /** Gets or sets background color */
56
+ get: function () {
57
+ return this._background;
58
+ },
59
+ set: function (value) {
60
+ if (this._background === value) {
61
+ return;
62
+ }
63
+ this._background = value;
64
+ this._markAsDirty();
65
+ },
66
+ enumerable: false,
67
+ configurable: true
68
+ });
69
+ Object.defineProperty(Slider.prototype, "thumbColor", {
70
+ /** Gets or sets thumb's color */
71
+ get: function () {
72
+ return this._thumbColor;
73
+ },
74
+ set: function (value) {
75
+ if (this._thumbColor === value) {
76
+ return;
77
+ }
78
+ this._thumbColor = value;
79
+ this._markAsDirty();
80
+ },
81
+ enumerable: false,
82
+ configurable: true
83
+ });
84
+ Object.defineProperty(Slider.prototype, "isThumbCircle", {
85
+ /** Gets or sets a boolean indicating if the thumb should be round or square */
86
+ get: function () {
87
+ return this._isThumbCircle;
88
+ },
89
+ set: function (value) {
90
+ if (this._isThumbCircle === value) {
91
+ return;
92
+ }
93
+ this._isThumbCircle = value;
94
+ this._markAsDirty();
95
+ },
96
+ enumerable: false,
97
+ configurable: true
98
+ });
99
+ Slider.prototype._getTypeName = function () {
100
+ return "Slider";
101
+ };
102
+ Slider.prototype._draw = function (context) {
103
+ context.save();
104
+ this._applyStates(context);
105
+ this._prepareRenderingData(this.isThumbCircle ? "circle" : "rectangle");
106
+ var left = this._renderLeft;
107
+ var top = this._renderTop;
108
+ var width = this._renderWidth;
109
+ var height = this._renderHeight;
110
+ var radius = 0;
111
+ if (this.isThumbClamped && this.isThumbCircle) {
112
+ if (this.isVertical) {
113
+ top += this._effectiveThumbThickness / 2;
114
+ }
115
+ else {
116
+ left += this._effectiveThumbThickness / 2;
117
+ }
118
+ radius = this._backgroundBoxThickness / 2;
119
+ }
120
+ else {
121
+ radius = (this._effectiveThumbThickness - this._effectiveBarOffset) / 2;
122
+ }
123
+ if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
124
+ context.shadowColor = this.shadowColor;
125
+ context.shadowBlur = this.shadowBlur;
126
+ context.shadowOffsetX = this.shadowOffsetX;
127
+ context.shadowOffsetY = this.shadowOffsetY;
128
+ }
129
+ var thumbPosition = this._getThumbPosition();
130
+ context.fillStyle = this._background;
131
+ if (this.isVertical) {
132
+ if (this.isThumbClamped) {
133
+ if (this.isThumbCircle) {
134
+ context.beginPath();
135
+ context.arc(left + this._backgroundBoxThickness / 2, top, radius, Math.PI, 2 * Math.PI);
136
+ context.fill();
137
+ context.fillRect(left, top, width, height);
138
+ }
139
+ else {
140
+ context.fillRect(left, top, width, height + this._effectiveThumbThickness);
141
+ }
142
+ }
143
+ else {
144
+ context.fillRect(left, top, width, height);
145
+ }
146
+ }
147
+ else {
148
+ if (this.isThumbClamped) {
149
+ if (this.isThumbCircle) {
150
+ context.beginPath();
151
+ context.arc(left + this._backgroundBoxLength, top + this._backgroundBoxThickness / 2, radius, 0, 2 * Math.PI);
152
+ context.fill();
153
+ context.fillRect(left, top, width, height);
154
+ }
155
+ else {
156
+ context.fillRect(left, top, width + this._effectiveThumbThickness, height);
157
+ }
158
+ }
159
+ else {
160
+ context.fillRect(left, top, width, height);
161
+ }
162
+ }
163
+ if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
164
+ context.shadowBlur = 0;
165
+ context.shadowOffsetX = 0;
166
+ context.shadowOffsetY = 0;
167
+ }
168
+ // Value bar
169
+ context.fillStyle = this.color;
170
+ if (this._displayValueBar) {
171
+ if (this.isVertical) {
172
+ if (this.isThumbClamped) {
173
+ if (this.isThumbCircle) {
174
+ context.beginPath();
175
+ context.arc(left + this._backgroundBoxThickness / 2, top + this._backgroundBoxLength, radius, 0, 2 * Math.PI);
176
+ context.fill();
177
+ context.fillRect(left, top + thumbPosition, width, height - thumbPosition);
178
+ }
179
+ else {
180
+ context.fillRect(left, top + thumbPosition, width, height - thumbPosition + this._effectiveThumbThickness);
181
+ }
182
+ }
183
+ else {
184
+ context.fillRect(left, top + thumbPosition, width, height - thumbPosition);
185
+ }
186
+ }
187
+ else {
188
+ if (this.isThumbClamped) {
189
+ if (this.isThumbCircle) {
190
+ context.beginPath();
191
+ context.arc(left, top + this._backgroundBoxThickness / 2, radius, 0, 2 * Math.PI);
192
+ context.fill();
193
+ context.fillRect(left, top, thumbPosition, height);
194
+ }
195
+ else {
196
+ context.fillRect(left, top, thumbPosition, height);
197
+ }
198
+ }
199
+ else {
200
+ context.fillRect(left, top, thumbPosition, height);
201
+ }
202
+ }
203
+ }
204
+ // Thumb
205
+ context.fillStyle = this._thumbColor || this.color;
206
+ if (this.displayThumb) {
207
+ if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
208
+ context.shadowColor = this.shadowColor;
209
+ context.shadowBlur = this.shadowBlur;
210
+ context.shadowOffsetX = this.shadowOffsetX;
211
+ context.shadowOffsetY = this.shadowOffsetY;
212
+ }
213
+ if (this._isThumbCircle) {
214
+ context.beginPath();
215
+ if (this.isVertical) {
216
+ context.arc(left + this._backgroundBoxThickness / 2, top + thumbPosition, radius, 0, 2 * Math.PI);
217
+ }
218
+ else {
219
+ context.arc(left + thumbPosition, top + this._backgroundBoxThickness / 2, radius, 0, 2 * Math.PI);
220
+ }
221
+ context.fill();
222
+ if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
223
+ context.shadowBlur = 0;
224
+ context.shadowOffsetX = 0;
225
+ context.shadowOffsetY = 0;
226
+ }
227
+ context.strokeStyle = this._borderColor;
228
+ context.stroke();
229
+ }
230
+ else {
231
+ if (this.isVertical) {
232
+ context.fillRect(left - this._effectiveBarOffset, this._currentMeasure.top + thumbPosition, this._currentMeasure.width, this._effectiveThumbThickness);
233
+ }
234
+ else {
235
+ context.fillRect(this._currentMeasure.left + thumbPosition, this._currentMeasure.top, this._effectiveThumbThickness, this._currentMeasure.height);
236
+ }
237
+ if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
238
+ context.shadowBlur = 0;
239
+ context.shadowOffsetX = 0;
240
+ context.shadowOffsetY = 0;
241
+ }
242
+ context.strokeStyle = this._borderColor;
243
+ if (this.isVertical) {
244
+ context.strokeRect(left - this._effectiveBarOffset, this._currentMeasure.top + thumbPosition, this._currentMeasure.width, this._effectiveThumbThickness);
245
+ }
246
+ else {
247
+ context.strokeRect(this._currentMeasure.left + thumbPosition, this._currentMeasure.top, this._effectiveThumbThickness, this._currentMeasure.height);
248
+ }
249
+ }
250
+ }
251
+ context.restore();
252
+ };
253
+ __decorate([
254
+ serialize()
255
+ ], Slider.prototype, "displayValueBar", null);
256
+ __decorate([
257
+ serialize()
258
+ ], Slider.prototype, "borderColor", null);
259
+ __decorate([
260
+ serialize()
261
+ ], Slider.prototype, "background", null);
262
+ __decorate([
263
+ serialize()
264
+ ], Slider.prototype, "thumbColor", null);
265
+ __decorate([
266
+ serialize()
267
+ ], Slider.prototype, "isThumbCircle", null);
268
+ return Slider;
269
+ }(BaseSlider));
270
+ export { Slider };
271
+ RegisterClass("BABYLON.GUI.Slider", Slider);
272
272
  //# sourceMappingURL=slider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slider.js","sourceRoot":"","sources":["../../../../../../../lts/gui/generated/2D/controls/sliders/slider.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseSlider } from \"./baseSlider\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { serialize } from \"core/Misc/decorators\";\r\nimport { ICanvasRenderingContext } from \"core/Engines/ICanvas\";\r\n\r\n/**\r\n * Class used to create slider controls\r\n */\r\nexport class Slider extends BaseSlider {\r\n private _background = \"black\";\r\n private _borderColor = \"white\";\r\n private _thumbColor = \"\";\r\n private _isThumbCircle = false;\r\n protected _displayValueBar = true;\r\n\r\n /** Gets or sets a boolean indicating if the value bar must be rendered */\r\n @serialize()\r\n public get displayValueBar(): boolean {\r\n return this._displayValueBar;\r\n }\r\n\r\n public set displayValueBar(value: boolean) {\r\n if (this._displayValueBar === value) {\r\n return;\r\n }\r\n\r\n this._displayValueBar = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets border color */\r\n @serialize()\r\n public get borderColor(): string {\r\n return this._borderColor;\r\n }\r\n\r\n public set borderColor(value: string) {\r\n if (this._borderColor === value) {\r\n return;\r\n }\r\n\r\n this._borderColor = 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 thumb's color */\r\n @serialize()\r\n public get thumbColor(): string {\r\n return this._thumbColor;\r\n }\r\n\r\n public set thumbColor(value: string) {\r\n if (this._thumbColor === value) {\r\n return;\r\n }\r\n\r\n this._thumbColor = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets a boolean indicating if the thumb should be round or square */\r\n @serialize()\r\n public get isThumbCircle(): boolean {\r\n return this._isThumbCircle;\r\n }\r\n\r\n public set isThumbCircle(value: boolean) {\r\n if (this._isThumbCircle === value) {\r\n return;\r\n }\r\n\r\n this._isThumbCircle = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Creates a new Slider\r\n * @param name defines the control name\r\n */\r\n constructor(public name?: string) {\r\n super(name);\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"Slider\";\r\n }\r\n\r\n public _draw(context: ICanvasRenderingContext): void {\r\n context.save();\r\n\r\n this._applyStates(context);\r\n this._prepareRenderingData(this.isThumbCircle ? \"circle\" : \"rectangle\");\r\n let left = this._renderLeft;\r\n let top = this._renderTop;\r\n const width = this._renderWidth;\r\n const height = this._renderHeight;\r\n\r\n let radius = 0;\r\n\r\n if (this.isThumbClamped && this.isThumbCircle) {\r\n if (this.isVertical) {\r\n top += this._effectiveThumbThickness / 2;\r\n } else {\r\n left += this._effectiveThumbThickness / 2;\r\n }\r\n\r\n radius = this._backgroundBoxThickness / 2;\r\n } else {\r\n radius = (this._effectiveThumbThickness - this._effectiveBarOffset) / 2;\r\n }\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 const thumbPosition = this._getThumbPosition();\r\n context.fillStyle = this._background;\r\n\r\n if (this.isVertical) {\r\n if (this.isThumbClamped) {\r\n if (this.isThumbCircle) {\r\n context.beginPath();\r\n context.arc(left + this._backgroundBoxThickness / 2, top, radius, Math.PI, 2 * Math.PI);\r\n context.fill();\r\n context.fillRect(left, top, width, height);\r\n } else {\r\n context.fillRect(left, top, width, height + this._effectiveThumbThickness);\r\n }\r\n } else {\r\n context.fillRect(left, top, width, height);\r\n }\r\n } else {\r\n if (this.isThumbClamped) {\r\n if (this.isThumbCircle) {\r\n context.beginPath();\r\n context.arc(left + this._backgroundBoxLength, top + this._backgroundBoxThickness / 2, radius, 0, 2 * Math.PI);\r\n context.fill();\r\n context.fillRect(left, top, width, height);\r\n } else {\r\n context.fillRect(left, top, width + this._effectiveThumbThickness, height);\r\n }\r\n } else {\r\n context.fillRect(left, top, width, height);\r\n }\r\n }\r\n\r\n if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {\r\n context.shadowBlur = 0;\r\n context.shadowOffsetX = 0;\r\n context.shadowOffsetY = 0;\r\n }\r\n\r\n // Value bar\r\n context.fillStyle = this.color;\r\n if (this._displayValueBar) {\r\n if (this.isVertical) {\r\n if (this.isThumbClamped) {\r\n if (this.isThumbCircle) {\r\n context.beginPath();\r\n context.arc(left + this._backgroundBoxThickness / 2, top + this._backgroundBoxLength, radius, 0, 2 * Math.PI);\r\n context.fill();\r\n context.fillRect(left, top + thumbPosition, width, height - thumbPosition);\r\n } else {\r\n context.fillRect(left, top + thumbPosition, width, height - thumbPosition + this._effectiveThumbThickness);\r\n }\r\n } else {\r\n context.fillRect(left, top + thumbPosition, width, height - thumbPosition);\r\n }\r\n } else {\r\n if (this.isThumbClamped) {\r\n if (this.isThumbCircle) {\r\n context.beginPath();\r\n context.arc(left, top + this._backgroundBoxThickness / 2, radius, 0, 2 * Math.PI);\r\n context.fill();\r\n context.fillRect(left, top, thumbPosition, height);\r\n } else {\r\n context.fillRect(left, top, thumbPosition, height);\r\n }\r\n } else {\r\n context.fillRect(left, top, thumbPosition, height);\r\n }\r\n }\r\n }\r\n\r\n // Thumb\r\n context.fillStyle = this._thumbColor || this.color;\r\n if (this.displayThumb) {\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 if (this._isThumbCircle) {\r\n context.beginPath();\r\n if (this.isVertical) {\r\n context.arc(left + this._backgroundBoxThickness / 2, top + thumbPosition, radius, 0, 2 * Math.PI);\r\n } else {\r\n context.arc(left + thumbPosition, top + this._backgroundBoxThickness / 2, radius, 0, 2 * Math.PI);\r\n }\r\n context.fill();\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 context.strokeStyle = this._borderColor;\r\n context.stroke();\r\n } else {\r\n if (this.isVertical) {\r\n context.fillRect(left - this._effectiveBarOffset, this._currentMeasure.top + thumbPosition, this._currentMeasure.width, this._effectiveThumbThickness);\r\n } else {\r\n context.fillRect(this._currentMeasure.left + thumbPosition, this._currentMeasure.top, this._effectiveThumbThickness, this._currentMeasure.height);\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 context.strokeStyle = this._borderColor;\r\n if (this.isVertical) {\r\n context.strokeRect(left - this._effectiveBarOffset, this._currentMeasure.top + thumbPosition, this._currentMeasure.width, this._effectiveThumbThickness);\r\n } else {\r\n context.strokeRect(this._currentMeasure.left + thumbPosition, this._currentMeasure.top, this._effectiveThumbThickness, this._currentMeasure.height);\r\n }\r\n }\r\n }\r\n context.restore();\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.Slider\", Slider);\r\n"]}
1
+ {"version":3,"file":"slider.js","sourceRoot":"","sources":["../../../../../../../lts/gui/generated/2D/controls/sliders/slider.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseSlider } from \"./baseSlider\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { serialize } from \"core/Misc/decorators\";\r\nimport type { ICanvasRenderingContext } from \"core/Engines/ICanvas\";\r\n\r\n/**\r\n * Class used to create slider controls\r\n */\r\nexport class Slider extends BaseSlider {\r\n private _background = \"black\";\r\n private _borderColor = \"white\";\r\n private _thumbColor = \"\";\r\n private _isThumbCircle = false;\r\n protected _displayValueBar = true;\r\n\r\n /** Gets or sets a boolean indicating if the value bar must be rendered */\r\n @serialize()\r\n public get displayValueBar(): boolean {\r\n return this._displayValueBar;\r\n }\r\n\r\n public set displayValueBar(value: boolean) {\r\n if (this._displayValueBar === value) {\r\n return;\r\n }\r\n\r\n this._displayValueBar = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets border color */\r\n @serialize()\r\n public get borderColor(): string {\r\n return this._borderColor;\r\n }\r\n\r\n public set borderColor(value: string) {\r\n if (this._borderColor === value) {\r\n return;\r\n }\r\n\r\n this._borderColor = 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 thumb's color */\r\n @serialize()\r\n public get thumbColor(): string {\r\n return this._thumbColor;\r\n }\r\n\r\n public set thumbColor(value: string) {\r\n if (this._thumbColor === value) {\r\n return;\r\n }\r\n\r\n this._thumbColor = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /** Gets or sets a boolean indicating if the thumb should be round or square */\r\n @serialize()\r\n public get isThumbCircle(): boolean {\r\n return this._isThumbCircle;\r\n }\r\n\r\n public set isThumbCircle(value: boolean) {\r\n if (this._isThumbCircle === value) {\r\n return;\r\n }\r\n\r\n this._isThumbCircle = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Creates a new Slider\r\n * @param name defines the control name\r\n */\r\n constructor(public name?: string) {\r\n super(name);\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"Slider\";\r\n }\r\n\r\n public _draw(context: ICanvasRenderingContext): void {\r\n context.save();\r\n\r\n this._applyStates(context);\r\n this._prepareRenderingData(this.isThumbCircle ? \"circle\" : \"rectangle\");\r\n let left = this._renderLeft;\r\n let top = this._renderTop;\r\n const width = this._renderWidth;\r\n const height = this._renderHeight;\r\n\r\n let radius = 0;\r\n\r\n if (this.isThumbClamped && this.isThumbCircle) {\r\n if (this.isVertical) {\r\n top += this._effectiveThumbThickness / 2;\r\n } else {\r\n left += this._effectiveThumbThickness / 2;\r\n }\r\n\r\n radius = this._backgroundBoxThickness / 2;\r\n } else {\r\n radius = (this._effectiveThumbThickness - this._effectiveBarOffset) / 2;\r\n }\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 const thumbPosition = this._getThumbPosition();\r\n context.fillStyle = this._background;\r\n\r\n if (this.isVertical) {\r\n if (this.isThumbClamped) {\r\n if (this.isThumbCircle) {\r\n context.beginPath();\r\n context.arc(left + this._backgroundBoxThickness / 2, top, radius, Math.PI, 2 * Math.PI);\r\n context.fill();\r\n context.fillRect(left, top, width, height);\r\n } else {\r\n context.fillRect(left, top, width, height + this._effectiveThumbThickness);\r\n }\r\n } else {\r\n context.fillRect(left, top, width, height);\r\n }\r\n } else {\r\n if (this.isThumbClamped) {\r\n if (this.isThumbCircle) {\r\n context.beginPath();\r\n context.arc(left + this._backgroundBoxLength, top + this._backgroundBoxThickness / 2, radius, 0, 2 * Math.PI);\r\n context.fill();\r\n context.fillRect(left, top, width, height);\r\n } else {\r\n context.fillRect(left, top, width + this._effectiveThumbThickness, height);\r\n }\r\n } else {\r\n context.fillRect(left, top, width, height);\r\n }\r\n }\r\n\r\n if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {\r\n context.shadowBlur = 0;\r\n context.shadowOffsetX = 0;\r\n context.shadowOffsetY = 0;\r\n }\r\n\r\n // Value bar\r\n context.fillStyle = this.color;\r\n if (this._displayValueBar) {\r\n if (this.isVertical) {\r\n if (this.isThumbClamped) {\r\n if (this.isThumbCircle) {\r\n context.beginPath();\r\n context.arc(left + this._backgroundBoxThickness / 2, top + this._backgroundBoxLength, radius, 0, 2 * Math.PI);\r\n context.fill();\r\n context.fillRect(left, top + thumbPosition, width, height - thumbPosition);\r\n } else {\r\n context.fillRect(left, top + thumbPosition, width, height - thumbPosition + this._effectiveThumbThickness);\r\n }\r\n } else {\r\n context.fillRect(left, top + thumbPosition, width, height - thumbPosition);\r\n }\r\n } else {\r\n if (this.isThumbClamped) {\r\n if (this.isThumbCircle) {\r\n context.beginPath();\r\n context.arc(left, top + this._backgroundBoxThickness / 2, radius, 0, 2 * Math.PI);\r\n context.fill();\r\n context.fillRect(left, top, thumbPosition, height);\r\n } else {\r\n context.fillRect(left, top, thumbPosition, height);\r\n }\r\n } else {\r\n context.fillRect(left, top, thumbPosition, height);\r\n }\r\n }\r\n }\r\n\r\n // Thumb\r\n context.fillStyle = this._thumbColor || this.color;\r\n if (this.displayThumb) {\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 if (this._isThumbCircle) {\r\n context.beginPath();\r\n if (this.isVertical) {\r\n context.arc(left + this._backgroundBoxThickness / 2, top + thumbPosition, radius, 0, 2 * Math.PI);\r\n } else {\r\n context.arc(left + thumbPosition, top + this._backgroundBoxThickness / 2, radius, 0, 2 * Math.PI);\r\n }\r\n context.fill();\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 context.strokeStyle = this._borderColor;\r\n context.stroke();\r\n } else {\r\n if (this.isVertical) {\r\n context.fillRect(left - this._effectiveBarOffset, this._currentMeasure.top + thumbPosition, this._currentMeasure.width, this._effectiveThumbThickness);\r\n } else {\r\n context.fillRect(this._currentMeasure.left + thumbPosition, this._currentMeasure.top, this._effectiveThumbThickness, this._currentMeasure.height);\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 context.strokeStyle = this._borderColor;\r\n if (this.isVertical) {\r\n context.strokeRect(left - this._effectiveBarOffset, this._currentMeasure.top + thumbPosition, this._currentMeasure.width, this._effectiveThumbThickness);\r\n } else {\r\n context.strokeRect(this._currentMeasure.left + thumbPosition, this._currentMeasure.top, this._effectiveThumbThickness, this._currentMeasure.height);\r\n }\r\n }\r\n }\r\n context.restore();\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.Slider\", Slider);\r\n"]}