@babylonjs/gui 5.19.0 → 5.22.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 (180) hide show
  1. package/2D/adtInstrumentation.js +70 -90
  2. package/2D/adtInstrumentation.js.map +1 -1
  3. package/2D/advancedDynamicTexture.d.ts +8 -0
  4. package/2D/advancedDynamicTexture.js +559 -620
  5. package/2D/advancedDynamicTexture.js.map +1 -1
  6. package/2D/controls/button.js +76 -90
  7. package/2D/controls/button.js.map +1 -1
  8. package/2D/controls/checkbox.js +86 -106
  9. package/2D/controls/checkbox.js.map +1 -1
  10. package/2D/controls/colorpicker.js +395 -415
  11. package/2D/controls/colorpicker.js.map +1 -1
  12. package/2D/controls/container.js +187 -230
  13. package/2D/controls/container.js.map +1 -1
  14. package/2D/controls/control.js +1073 -1353
  15. package/2D/controls/control.js.map +1 -1
  16. package/2D/controls/displayGrid.js +152 -196
  17. package/2D/controls/displayGrid.js.map +1 -1
  18. package/2D/controls/ellipse.js +32 -40
  19. package/2D/controls/ellipse.js.map +1 -1
  20. package/2D/controls/focusableButton.js +30 -35
  21. package/2D/controls/focusableButton.js.map +1 -1
  22. package/2D/controls/grid.js +172 -212
  23. package/2D/controls/grid.js.map +1 -1
  24. package/2D/controls/image.js +489 -592
  25. package/2D/controls/image.js.map +1 -1
  26. package/2D/controls/inputPassword.js +9 -16
  27. package/2D/controls/inputPassword.js.map +1 -1
  28. package/2D/controls/inputText.js +380 -467
  29. package/2D/controls/inputText.js.map +1 -1
  30. package/2D/controls/inputTextArea.js +234 -273
  31. package/2D/controls/inputTextArea.js.map +1 -1
  32. package/2D/controls/line.js +147 -198
  33. package/2D/controls/line.js.map +1 -1
  34. package/2D/controls/multiLine.js +87 -113
  35. package/2D/controls/multiLine.js.map +1 -1
  36. package/2D/controls/radioButton.js +106 -127
  37. package/2D/controls/radioButton.js.map +1 -1
  38. package/2D/controls/rectangle.js +64 -76
  39. package/2D/controls/rectangle.js.map +1 -1
  40. package/2D/controls/scrollViewers/scrollViewer.js +439 -543
  41. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  42. package/2D/controls/scrollViewers/scrollViewerWindow.js +99 -118
  43. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  44. package/2D/controls/selector.js +241 -329
  45. package/2D/controls/selector.js.map +1 -1
  46. package/2D/controls/sliders/baseSlider.js +182 -230
  47. package/2D/controls/sliders/baseSlider.js.map +1 -1
  48. package/2D/controls/sliders/imageBasedSlider.js +86 -109
  49. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  50. package/2D/controls/sliders/imageScrollBar.d.ts +4 -0
  51. package/2D/controls/sliders/imageScrollBar.js +149 -163
  52. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  53. package/2D/controls/sliders/scrollBar.d.ts +4 -0
  54. package/2D/controls/sliders/scrollBar.js +65 -65
  55. package/2D/controls/sliders/scrollBar.js.map +1 -1
  56. package/2D/controls/sliders/slider.js +91 -115
  57. package/2D/controls/sliders/slider.js.map +1 -1
  58. package/2D/controls/stackPanel.js +114 -135
  59. package/2D/controls/stackPanel.js.map +1 -1
  60. package/2D/controls/statics.js +5 -5
  61. package/2D/controls/statics.js.map +1 -1
  62. package/2D/controls/textBlock.js +322 -384
  63. package/2D/controls/textBlock.js.map +1 -1
  64. package/2D/controls/textWrapper.js +27 -41
  65. package/2D/controls/textWrapper.js.map +1 -1
  66. package/2D/controls/toggleButton.js +105 -121
  67. package/2D/controls/toggleButton.js.map +1 -1
  68. package/2D/controls/virtualKeyboard.js +101 -123
  69. package/2D/controls/virtualKeyboard.js.map +1 -1
  70. package/2D/math2D.js +62 -70
  71. package/2D/math2D.js.map +1 -1
  72. package/2D/measure.js +30 -32
  73. package/2D/measure.js.map +1 -1
  74. package/2D/multiLinePoint.js +71 -89
  75. package/2D/multiLinePoint.js.map +1 -1
  76. package/2D/style.js +55 -73
  77. package/2D/style.js.map +1 -1
  78. package/2D/valueAndUnit.js +71 -104
  79. package/2D/valueAndUnit.js.map +1 -1
  80. package/2D/xmlLoader.js +70 -84
  81. package/2D/xmlLoader.js.map +1 -1
  82. package/3D/behaviors/defaultBehavior.js +40 -59
  83. package/3D/behaviors/defaultBehavior.js.map +1 -1
  84. package/3D/controls/abstractButton3D.js +8 -12
  85. package/3D/controls/abstractButton3D.js.map +1 -1
  86. package/3D/controls/button3D.js +30 -35
  87. package/3D/controls/button3D.js.map +1 -1
  88. package/3D/controls/container3D.js +57 -71
  89. package/3D/controls/container3D.js.map +1 -1
  90. package/3D/controls/contentDisplay3D.js +47 -60
  91. package/3D/controls/contentDisplay3D.js.map +1 -1
  92. package/3D/controls/control3D.js +123 -158
  93. package/3D/controls/control3D.js.map +1 -1
  94. package/3D/controls/cylinderPanel.js +28 -38
  95. package/3D/controls/cylinderPanel.js.map +1 -1
  96. package/3D/controls/handMenu.js +20 -29
  97. package/3D/controls/handMenu.js.map +1 -1
  98. package/3D/controls/holographicBackplate.js +52 -72
  99. package/3D/controls/holographicBackplate.js.map +1 -1
  100. package/3D/controls/holographicButton.js +160 -200
  101. package/3D/controls/holographicButton.js.map +1 -1
  102. package/3D/controls/holographicSlate.js +176 -206
  103. package/3D/controls/holographicSlate.js.map +1 -1
  104. package/3D/controls/meshButton3D.js +24 -30
  105. package/3D/controls/meshButton3D.js.map +1 -1
  106. package/3D/controls/nearMenu.js +57 -71
  107. package/3D/controls/nearMenu.js.map +1 -1
  108. package/3D/controls/planePanel.js +6 -13
  109. package/3D/controls/planePanel.js.map +1 -1
  110. package/3D/controls/scatterPanel.js +43 -54
  111. package/3D/controls/scatterPanel.js.map +1 -1
  112. package/3D/controls/slider3D.js +168 -222
  113. package/3D/controls/slider3D.js.map +1 -1
  114. package/3D/controls/spherePanel.js +29 -39
  115. package/3D/controls/spherePanel.js.map +1 -1
  116. package/3D/controls/stackPanel3D.js +36 -49
  117. package/3D/controls/stackPanel3D.js.map +1 -1
  118. package/3D/controls/touchButton3D.js +126 -154
  119. package/3D/controls/touchButton3D.js.map +1 -1
  120. package/3D/controls/touchHolographicButton.js +223 -272
  121. package/3D/controls/touchHolographicButton.js.map +1 -1
  122. package/3D/controls/touchHolographicMenu.js +55 -66
  123. package/3D/controls/touchHolographicMenu.js.map +1 -1
  124. package/3D/controls/touchMeshButton3D.js +24 -30
  125. package/3D/controls/touchMeshButton3D.js.map +1 -1
  126. package/3D/controls/volumeBasedPanel.js +85 -107
  127. package/3D/controls/volumeBasedPanel.js.map +1 -1
  128. package/3D/gizmos/gizmoHandle.js +68 -103
  129. package/3D/gizmos/gizmoHandle.js.map +1 -1
  130. package/3D/gizmos/slateGizmo.js +165 -182
  131. package/3D/gizmos/slateGizmo.js.map +1 -1
  132. package/3D/gui3DManager.js +76 -101
  133. package/3D/gui3DManager.js.map +1 -1
  134. package/3D/materials/fluent/fluentMaterial.js +110 -119
  135. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  136. package/3D/materials/fluent/shaders/fluent.fragment.js +20 -3
  137. package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -1
  138. package/3D/materials/fluent/shaders/fluent.vertex.js +11 -3
  139. package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -1
  140. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +168 -177
  141. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  142. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +9 -3
  143. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -1
  144. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +15 -3
  145. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -1
  146. package/3D/materials/fluentButton/fluentButtonMaterial.js +205 -213
  147. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  148. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +6 -3
  149. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -1
  150. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +6 -3
  151. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -1
  152. package/3D/materials/handle/handleMaterial.js +56 -69
  153. package/3D/materials/handle/handleMaterial.js.map +1 -1
  154. package/3D/materials/handle/shaders/handle.fragment.js +3 -3
  155. package/3D/materials/handle/shaders/handle.fragment.js.map +1 -1
  156. package/3D/materials/handle/shaders/handle.vertex.js +3 -3
  157. package/3D/materials/handle/shaders/handle.vertex.js.map +1 -1
  158. package/3D/materials/mrdl/mrdlBackplateMaterial.js +158 -166
  159. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  160. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +322 -330
  161. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  162. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +322 -330
  163. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  164. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +9 -3
  165. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -1
  166. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +6 -3
  167. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -1
  168. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +24 -3
  169. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -1
  170. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +12 -3
  171. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -1
  172. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +24 -3
  173. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -1
  174. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +12 -3
  175. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -1
  176. package/3D/vector3WithInfo.js +6 -12
  177. package/3D/vector3WithInfo.js.map +1 -1
  178. package/legacy/legacy.js +1 -1
  179. package/legacy/legacy.js.map +1 -1
  180. package/package.json +2 -5
@@ -1,59 +1,57 @@
1
- import { __decorate, __extends } from "tslib";
1
+ import { __decorate } from "@babylonjs/core/tslib.es6.js";
2
2
  import { BaseSlider } from "./baseSlider.js";
3
3
  import { Measure } from "../../measure.js";
4
4
  import { serialize } from "@babylonjs/core/Misc/decorators.js";
5
5
  /**
6
6
  * Class used to create slider controls
7
7
  */
8
- var ScrollBar = /** @class */ (function (_super) {
9
- __extends(ScrollBar, _super);
8
+ export class ScrollBar extends BaseSlider {
10
9
  /**
11
10
  * Creates a new Slider
12
11
  * @param name defines the control name
13
12
  */
14
- function ScrollBar(name) {
15
- var _this = _super.call(this, name) || this;
16
- _this.name = name;
17
- _this._background = "black";
18
- _this._borderColor = "white";
19
- _this._tempMeasure = new Measure(0, 0, 0, 0);
20
- return _this;
13
+ constructor(name) {
14
+ super(name);
15
+ this.name = name;
16
+ this._background = "black";
17
+ this._borderColor = "white";
18
+ this._tempMeasure = new Measure(0, 0, 0, 0);
19
+ this._invertScrollDirection = false;
21
20
  }
22
- Object.defineProperty(ScrollBar.prototype, "borderColor", {
23
- /** Gets or sets border color */
24
- get: function () {
25
- return this._borderColor;
26
- },
27
- set: function (value) {
28
- if (this._borderColor === value) {
29
- return;
30
- }
31
- this._borderColor = value;
32
- this._markAsDirty();
33
- },
34
- enumerable: false,
35
- configurable: true
36
- });
37
- Object.defineProperty(ScrollBar.prototype, "background", {
38
- /** Gets or sets background color */
39
- get: function () {
40
- return this._background;
41
- },
42
- set: function (value) {
43
- if (this._background === value) {
44
- return;
45
- }
46
- this._background = value;
47
- this._markAsDirty();
48
- },
49
- enumerable: false,
50
- configurable: true
51
- });
52
- ScrollBar.prototype._getTypeName = function () {
21
+ /** Gets or sets border color */
22
+ get borderColor() {
23
+ return this._borderColor;
24
+ }
25
+ set borderColor(value) {
26
+ if (this._borderColor === value) {
27
+ return;
28
+ }
29
+ this._borderColor = value;
30
+ this._markAsDirty();
31
+ }
32
+ /** Gets or sets background color */
33
+ get background() {
34
+ return this._background;
35
+ }
36
+ set background(value) {
37
+ if (this._background === value) {
38
+ return;
39
+ }
40
+ this._background = value;
41
+ this._markAsDirty();
42
+ }
43
+ /** Inverts the scrolling direction (default: false) */
44
+ get invertScrollDirection() {
45
+ return this._invertScrollDirection;
46
+ }
47
+ set invertScrollDirection(invert) {
48
+ this._invertScrollDirection = invert;
49
+ }
50
+ _getTypeName() {
53
51
  return "Scrollbar";
54
- };
55
- ScrollBar.prototype._getThumbThickness = function () {
56
- var thumbThickness = 0;
52
+ }
53
+ _getThumbThickness() {
54
+ let thumbThickness = 0;
57
55
  if (this._thumbWidth.isPixel) {
58
56
  thumbThickness = this._thumbWidth.getValue(this._host);
59
57
  }
@@ -61,13 +59,13 @@ var ScrollBar = /** @class */ (function (_super) {
61
59
  thumbThickness = this._backgroundBoxThickness * this._thumbWidth.getValue(this._host);
62
60
  }
63
61
  return thumbThickness;
64
- };
65
- ScrollBar.prototype._draw = function (context) {
62
+ }
63
+ _draw(context) {
66
64
  context.save();
67
65
  this._applyStates(context);
68
66
  this._prepareRenderingData("rectangle");
69
- var left = this._renderLeft;
70
- var thumbPosition = this._getThumbPosition();
67
+ const left = this._renderLeft;
68
+ const thumbPosition = this._getThumbPosition();
71
69
  context.fillStyle = this._background;
72
70
  context.fillRect(this._currentMeasure.left, this._currentMeasure.top, this._currentMeasure.width, this._currentMeasure.height);
73
71
  // Value bar
@@ -87,18 +85,19 @@ var ScrollBar = /** @class */ (function (_super) {
87
85
  }
88
86
  context.fillRect(this._tempMeasure.left, this._tempMeasure.top, this._tempMeasure.width, this._tempMeasure.height);
89
87
  context.restore();
90
- };
88
+ }
91
89
  /**
92
90
  * @param x
93
91
  * @param y
94
92
  * @hidden
95
93
  */
96
- ScrollBar.prototype._updateValueFromPointer = function (x, y) {
94
+ _updateValueFromPointer(x, y) {
97
95
  if (this.rotation != 0) {
98
96
  this._invertTransformMatrix.transformCoordinates(x, y, this._transformedPosition);
99
97
  x = this._transformedPosition.x;
100
98
  y = this._transformedPosition.y;
101
99
  }
100
+ const sign = this._invertScrollDirection ? -1 : 1;
102
101
  if (this._first) {
103
102
  this._first = false;
104
103
  this._originX = x;
@@ -117,28 +116,29 @@ var ScrollBar = /** @class */ (function (_super) {
117
116
  }
118
117
  }
119
118
  // Delta mode
120
- var delta = 0;
119
+ let delta = 0;
121
120
  if (this.isVertical) {
122
121
  delta = -((y - this._originY) / (this._currentMeasure.height - this._effectiveThumbThickness));
123
122
  }
124
123
  else {
125
124
  delta = (x - this._originX) / (this._currentMeasure.width - this._effectiveThumbThickness);
126
125
  }
127
- this.value += delta * (this.maximum - this.minimum);
126
+ this.value += sign * delta * (this.maximum - this.minimum);
128
127
  this._originX = x;
129
128
  this._originY = y;
130
- };
131
- ScrollBar.prototype._onPointerDown = function (target, coordinates, pointerId, buttonIndex, pi) {
129
+ }
130
+ _onPointerDown(target, coordinates, pointerId, buttonIndex, pi) {
132
131
  this._first = true;
133
- return _super.prototype._onPointerDown.call(this, target, coordinates, pointerId, buttonIndex, pi);
134
- };
135
- __decorate([
136
- serialize()
137
- ], ScrollBar.prototype, "borderColor", null);
138
- __decorate([
139
- serialize()
140
- ], ScrollBar.prototype, "background", null);
141
- return ScrollBar;
142
- }(BaseSlider));
143
- export { ScrollBar };
132
+ return super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi);
133
+ }
134
+ }
135
+ __decorate([
136
+ serialize()
137
+ ], ScrollBar.prototype, "borderColor", null);
138
+ __decorate([
139
+ serialize()
140
+ ], ScrollBar.prototype, "background", null);
141
+ __decorate([
142
+ serialize()
143
+ ], ScrollBar.prototype, "invertScrollDirection", null);
144
144
  //# sourceMappingURL=scrollBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scrollBar.js","sourceRoot":"","sources":["../../../../../../../lts/gui/generated/2D/controls/sliders/scrollBar.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Vector2 } from \"core/Maths/math.vector\";\r\nimport { BaseSlider } from \"./baseSlider\";\r\nimport type { Control } from \"../control\";\r\nimport { Measure } from \"../../measure\";\r\nimport type { PointerInfoBase } from \"core/Events/pointerEvents\";\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 ScrollBar extends BaseSlider {\r\n private _background = \"black\";\r\n private _borderColor = \"white\";\r\n private _tempMeasure = new Measure(0, 0, 0, 0);\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 /**\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 \"Scrollbar\";\r\n }\r\n\r\n protected _getThumbThickness(): number {\r\n let thumbThickness = 0;\r\n if (this._thumbWidth.isPixel) {\r\n thumbThickness = this._thumbWidth.getValue(this._host);\r\n } else {\r\n thumbThickness = this._backgroundBoxThickness * this._thumbWidth.getValue(this._host);\r\n }\r\n return thumbThickness;\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(\"rectangle\");\r\n const left = this._renderLeft;\r\n\r\n const thumbPosition = this._getThumbPosition();\r\n context.fillStyle = this._background;\r\n\r\n context.fillRect(this._currentMeasure.left, this._currentMeasure.top, this._currentMeasure.width, this._currentMeasure.height);\r\n\r\n // Value bar\r\n context.fillStyle = this.color;\r\n\r\n // Thumb\r\n if (this.isVertical) {\r\n this._tempMeasure.left = left - this._effectiveBarOffset;\r\n this._tempMeasure.top = this._currentMeasure.top + thumbPosition;\r\n this._tempMeasure.width = this._currentMeasure.width;\r\n this._tempMeasure.height = this._effectiveThumbThickness;\r\n } else {\r\n this._tempMeasure.left = this._currentMeasure.left + thumbPosition;\r\n this._tempMeasure.top = this._currentMeasure.top;\r\n this._tempMeasure.width = this._effectiveThumbThickness;\r\n this._tempMeasure.height = this._currentMeasure.height;\r\n }\r\n\r\n context.fillRect(this._tempMeasure.left, this._tempMeasure.top, this._tempMeasure.width, this._tempMeasure.height);\r\n\r\n context.restore();\r\n }\r\n\r\n private _first: boolean;\r\n private _originX: number;\r\n private _originY: number;\r\n\r\n /**\r\n * @param x\r\n * @param y\r\n * @hidden\r\n */\r\n protected _updateValueFromPointer(x: number, y: number): void {\r\n if (this.rotation != 0) {\r\n this._invertTransformMatrix.transformCoordinates(x, y, this._transformedPosition);\r\n x = this._transformedPosition.x;\r\n y = this._transformedPosition.y;\r\n }\r\n\r\n if (this._first) {\r\n this._first = false;\r\n this._originX = x;\r\n this._originY = y;\r\n\r\n // Check if move is required\r\n if (\r\n x < this._tempMeasure.left ||\r\n x > this._tempMeasure.left + this._tempMeasure.width ||\r\n y < this._tempMeasure.top ||\r\n y > this._tempMeasure.top + this._tempMeasure.height\r\n ) {\r\n if (this.isVertical) {\r\n this.value = this.minimum + (1 - (y - this._currentMeasure.top) / this._currentMeasure.height) * (this.maximum - this.minimum);\r\n } else {\r\n this.value = this.minimum + ((x - this._currentMeasure.left) / this._currentMeasure.width) * (this.maximum - this.minimum);\r\n }\r\n }\r\n }\r\n\r\n // Delta mode\r\n let delta = 0;\r\n if (this.isVertical) {\r\n delta = -((y - this._originY) / (this._currentMeasure.height - this._effectiveThumbThickness));\r\n } else {\r\n delta = (x - this._originX) / (this._currentMeasure.width - this._effectiveThumbThickness);\r\n }\r\n\r\n this.value += delta * (this.maximum - this.minimum);\r\n\r\n this._originX = x;\r\n this._originY = y;\r\n }\r\n\r\n public _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean {\r\n this._first = true;\r\n\r\n return super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"scrollBar.js","sourceRoot":"","sources":["../../../../../../../lts/gui/generated/2D/controls/sliders/scrollBar.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Vector2 } from \"core/Maths/math.vector\";\r\nimport { BaseSlider } from \"./baseSlider\";\r\nimport type { Control } from \"../control\";\r\nimport { Measure } from \"../../measure\";\r\nimport type { PointerInfoBase } from \"core/Events/pointerEvents\";\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 ScrollBar extends BaseSlider {\r\n private _background = \"black\";\r\n private _borderColor = \"white\";\r\n private _tempMeasure = new Measure(0, 0, 0, 0);\r\n private _invertScrollDirection = false;\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 /** Inverts the scrolling direction (default: false) */\r\n @serialize()\r\n public get invertScrollDirection() {\r\n return this._invertScrollDirection;\r\n }\r\n\r\n public set invertScrollDirection(invert: boolean) {\r\n this._invertScrollDirection = invert;\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 \"Scrollbar\";\r\n }\r\n\r\n protected _getThumbThickness(): number {\r\n let thumbThickness = 0;\r\n if (this._thumbWidth.isPixel) {\r\n thumbThickness = this._thumbWidth.getValue(this._host);\r\n } else {\r\n thumbThickness = this._backgroundBoxThickness * this._thumbWidth.getValue(this._host);\r\n }\r\n return thumbThickness;\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(\"rectangle\");\r\n const left = this._renderLeft;\r\n\r\n const thumbPosition = this._getThumbPosition();\r\n context.fillStyle = this._background;\r\n\r\n context.fillRect(this._currentMeasure.left, this._currentMeasure.top, this._currentMeasure.width, this._currentMeasure.height);\r\n\r\n // Value bar\r\n context.fillStyle = this.color;\r\n\r\n // Thumb\r\n if (this.isVertical) {\r\n this._tempMeasure.left = left - this._effectiveBarOffset;\r\n this._tempMeasure.top = this._currentMeasure.top + thumbPosition;\r\n this._tempMeasure.width = this._currentMeasure.width;\r\n this._tempMeasure.height = this._effectiveThumbThickness;\r\n } else {\r\n this._tempMeasure.left = this._currentMeasure.left + thumbPosition;\r\n this._tempMeasure.top = this._currentMeasure.top;\r\n this._tempMeasure.width = this._effectiveThumbThickness;\r\n this._tempMeasure.height = this._currentMeasure.height;\r\n }\r\n\r\n context.fillRect(this._tempMeasure.left, this._tempMeasure.top, this._tempMeasure.width, this._tempMeasure.height);\r\n\r\n context.restore();\r\n }\r\n\r\n private _first: boolean;\r\n private _originX: number;\r\n private _originY: number;\r\n\r\n /**\r\n * @param x\r\n * @param y\r\n * @hidden\r\n */\r\n protected _updateValueFromPointer(x: number, y: number): void {\r\n if (this.rotation != 0) {\r\n this._invertTransformMatrix.transformCoordinates(x, y, this._transformedPosition);\r\n x = this._transformedPosition.x;\r\n y = this._transformedPosition.y;\r\n }\r\n\r\n const sign = this._invertScrollDirection ? -1 : 1;\r\n\r\n if (this._first) {\r\n this._first = false;\r\n this._originX = x;\r\n this._originY = y;\r\n\r\n // Check if move is required\r\n if (\r\n x < this._tempMeasure.left ||\r\n x > this._tempMeasure.left + this._tempMeasure.width ||\r\n y < this._tempMeasure.top ||\r\n y > this._tempMeasure.top + this._tempMeasure.height\r\n ) {\r\n if (this.isVertical) {\r\n this.value = this.minimum + (1 - (y - this._currentMeasure.top) / this._currentMeasure.height) * (this.maximum - this.minimum);\r\n } else {\r\n this.value = this.minimum + ((x - this._currentMeasure.left) / this._currentMeasure.width) * (this.maximum - this.minimum);\r\n }\r\n }\r\n }\r\n\r\n // Delta mode\r\n let delta = 0;\r\n if (this.isVertical) {\r\n delta = -((y - this._originY) / (this._currentMeasure.height - this._effectiveThumbThickness));\r\n } else {\r\n delta = (x - this._originX) / (this._currentMeasure.width - this._effectiveThumbThickness);\r\n }\r\n\r\n this.value += sign * delta * (this.maximum - this.minimum);\r\n\r\n this._originX = x;\r\n this._originY = y;\r\n }\r\n\r\n public _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean {\r\n this._first = true;\r\n\r\n return super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi);\r\n }\r\n}\r\n"]}
@@ -1,113 +1,91 @@
1
- import { __decorate, __extends } from "tslib";
1
+ import { __decorate } from "@babylonjs/core/tslib.es6.js";
2
2
  import { BaseSlider } from "./baseSlider.js";
3
3
  import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
4
4
  import { serialize } from "@babylonjs/core/Misc/decorators.js";
5
5
  /**
6
6
  * Class used to create slider controls
7
7
  */
8
- var Slider = /** @class */ (function (_super) {
9
- __extends(Slider, _super);
8
+ export class Slider extends BaseSlider {
10
9
  /**
11
10
  * Creates a new Slider
12
11
  * @param name defines the control name
13
12
  */
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;
13
+ constructor(name) {
14
+ super(name);
15
+ this.name = name;
16
+ this._background = "black";
17
+ this._borderColor = "white";
18
+ this._thumbColor = "";
19
+ this._isThumbCircle = false;
20
+ this._displayValueBar = true;
23
21
  }
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 () {
22
+ /** Gets or sets a boolean indicating if the value bar must be rendered */
23
+ get displayValueBar() {
24
+ return this._displayValueBar;
25
+ }
26
+ set displayValueBar(value) {
27
+ if (this._displayValueBar === value) {
28
+ return;
29
+ }
30
+ this._displayValueBar = value;
31
+ this._markAsDirty();
32
+ }
33
+ /** Gets or sets border color */
34
+ get borderColor() {
35
+ return this._borderColor;
36
+ }
37
+ set borderColor(value) {
38
+ if (this._borderColor === value) {
39
+ return;
40
+ }
41
+ this._borderColor = value;
42
+ this._markAsDirty();
43
+ }
44
+ /** Gets or sets background color */
45
+ get background() {
46
+ return this._background;
47
+ }
48
+ set background(value) {
49
+ if (this._background === value) {
50
+ return;
51
+ }
52
+ this._background = value;
53
+ this._markAsDirty();
54
+ }
55
+ /** Gets or sets thumb's color */
56
+ get thumbColor() {
57
+ return this._thumbColor;
58
+ }
59
+ set thumbColor(value) {
60
+ if (this._thumbColor === value) {
61
+ return;
62
+ }
63
+ this._thumbColor = value;
64
+ this._markAsDirty();
65
+ }
66
+ /** Gets or sets a boolean indicating if the thumb should be round or square */
67
+ get isThumbCircle() {
68
+ return this._isThumbCircle;
69
+ }
70
+ set isThumbCircle(value) {
71
+ if (this._isThumbCircle === value) {
72
+ return;
73
+ }
74
+ this._isThumbCircle = value;
75
+ this._markAsDirty();
76
+ }
77
+ _getTypeName() {
100
78
  return "Slider";
101
- };
102
- Slider.prototype._draw = function (context) {
79
+ }
80
+ _draw(context) {
103
81
  context.save();
104
82
  this._applyStates(context);
105
83
  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;
84
+ let left = this._renderLeft;
85
+ let top = this._renderTop;
86
+ const width = this._renderWidth;
87
+ const height = this._renderHeight;
88
+ let radius = 0;
111
89
  if (this.isThumbClamped && this.isThumbCircle) {
112
90
  if (this.isVertical) {
113
91
  top += this._effectiveThumbThickness / 2;
@@ -126,7 +104,7 @@ var Slider = /** @class */ (function (_super) {
126
104
  context.shadowOffsetX = this.shadowOffsetX;
127
105
  context.shadowOffsetY = this.shadowOffsetY;
128
106
  }
129
- var thumbPosition = this._getThumbPosition();
107
+ const thumbPosition = this._getThumbPosition();
130
108
  context.fillStyle = this._background;
131
109
  if (this.isVertical) {
132
110
  if (this.isThumbClamped) {
@@ -249,24 +227,22 @@ var Slider = /** @class */ (function (_super) {
249
227
  }
250
228
  }
251
229
  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 };
230
+ }
231
+ }
232
+ __decorate([
233
+ serialize()
234
+ ], Slider.prototype, "displayValueBar", null);
235
+ __decorate([
236
+ serialize()
237
+ ], Slider.prototype, "borderColor", null);
238
+ __decorate([
239
+ serialize()
240
+ ], Slider.prototype, "background", null);
241
+ __decorate([
242
+ serialize()
243
+ ], Slider.prototype, "thumbColor", null);
244
+ __decorate([
245
+ serialize()
246
+ ], Slider.prototype, "isThumbCircle", null);
271
247
  RegisterClass("BABYLON.GUI.Slider", Slider);
272
248
  //# 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 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"]}
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"]}