@babylonjs/gui 5.0.0-rc.7 → 5.0.0-rc.9

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 (203) hide show
  1. package/2D/adtInstrumentation.d.ts +52 -52
  2. package/2D/adtInstrumentation.js +126 -126
  3. package/2D/advancedDynamicTexture.d.ts +448 -448
  4. package/2D/advancedDynamicTexture.js +1318 -1318
  5. package/2D/controls/button.d.ts +135 -135
  6. package/2D/controls/button.js +276 -276
  7. package/2D/controls/checkbox.d.ts +59 -59
  8. package/2D/controls/checkbox.js +188 -188
  9. package/2D/controls/colorpicker.d.ts +103 -103
  10. package/2D/controls/colorpicker.js +1417 -1417
  11. package/2D/controls/container.d.ts +175 -175
  12. package/2D/controls/container.js +570 -570
  13. package/2D/controls/control.d.ts +866 -866
  14. package/2D/controls/control.js +2433 -2433
  15. package/2D/controls/displayGrid.d.ts +53 -53
  16. package/2D/controls/displayGrid.js +245 -245
  17. package/2D/controls/ellipse.d.ts +21 -21
  18. package/2D/controls/ellipse.js +85 -85
  19. package/2D/controls/focusableButton.d.ts +59 -59
  20. package/2D/controls/focusableButton.js +99 -99
  21. package/2D/controls/focusableControl.d.ts +34 -34
  22. package/2D/controls/focusableControl.js +1 -1
  23. package/2D/controls/grid.d.ts +139 -139
  24. package/2D/controls/grid.js +529 -529
  25. package/2D/controls/image.d.ts +204 -204
  26. package/2D/controls/image.js +887 -887
  27. package/2D/controls/index.d.ts +29 -29
  28. package/2D/controls/index.js +29 -29
  29. package/2D/controls/inputPassword.d.ts +8 -8
  30. package/2D/controls/inputPassword.js +25 -25
  31. package/2D/controls/inputText.d.ts +201 -201
  32. package/2D/controls/inputText.js +1119 -1119
  33. package/2D/controls/line.d.ts +66 -66
  34. package/2D/controls/line.js +271 -271
  35. package/2D/controls/multiLine.d.ts +75 -75
  36. package/2D/controls/multiLine.js +262 -262
  37. package/2D/controls/radioButton.d.ts +49 -49
  38. package/2D/controls/radioButton.js +205 -205
  39. package/2D/controls/rectangle.d.ts +29 -29
  40. package/2D/controls/rectangle.js +150 -150
  41. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -182
  42. package/2D/controls/scrollViewers/scrollViewer.js +677 -677
  43. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -57
  44. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -278
  45. package/2D/controls/selector.d.ts +263 -263
  46. package/2D/controls/selector.js +692 -692
  47. package/2D/controls/sliders/baseSlider.d.ts +82 -82
  48. package/2D/controls/sliders/baseSlider.js +347 -347
  49. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -49
  50. package/2D/controls/sliders/imageBasedSlider.js +192 -192
  51. package/2D/controls/sliders/imageScrollBar.d.ts +65 -65
  52. package/2D/controls/sliders/imageScrollBar.js +263 -263
  53. package/2D/controls/sliders/scrollBar.d.ts +38 -38
  54. package/2D/controls/sliders/scrollBar.js +143 -143
  55. package/2D/controls/sliders/slider.d.ts +35 -35
  56. package/2D/controls/sliders/slider.js +271 -271
  57. package/2D/controls/stackPanel.d.ts +64 -64
  58. package/2D/controls/stackPanel.js +246 -246
  59. package/2D/controls/statics.d.ts +6 -6
  60. package/2D/controls/statics.js +49 -49
  61. package/2D/controls/textBlock.d.ts +175 -175
  62. package/2D/controls/textBlock.js +603 -603
  63. package/2D/controls/textWrapper.d.ts +13 -13
  64. package/2D/controls/textWrapper.js +101 -101
  65. package/2D/controls/toggleButton.d.ts +117 -117
  66. package/2D/controls/toggleButton.js +268 -268
  67. package/2D/controls/virtualKeyboard.d.ts +96 -96
  68. package/2D/controls/virtualKeyboard.js +256 -256
  69. package/2D/index.d.ts +9 -9
  70. package/2D/index.js +9 -9
  71. package/2D/math2D.d.ts +117 -117
  72. package/2D/math2D.js +221 -221
  73. package/2D/measure.d.ts +77 -77
  74. package/2D/measure.js +139 -139
  75. package/2D/multiLinePoint.d.ts +47 -47
  76. package/2D/multiLinePoint.js +127 -127
  77. package/2D/style.d.ts +46 -46
  78. package/2D/style.js +97 -97
  79. package/2D/valueAndUnit.d.ts +89 -89
  80. package/2D/valueAndUnit.js +226 -226
  81. package/2D/xmlLoader.d.ts +60 -60
  82. package/2D/xmlLoader.js +348 -348
  83. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  84. package/3D/behaviors/defaultBehavior.js +121 -121
  85. package/3D/controls/abstractButton3D.d.ts +15 -15
  86. package/3D/controls/abstractButton3D.js +25 -25
  87. package/3D/controls/button3D.d.ts +30 -30
  88. package/3D/controls/button3D.js +93 -93
  89. package/3D/controls/container3D.d.ts +72 -72
  90. package/3D/controls/container3D.js +139 -139
  91. package/3D/controls/contentDisplay3D.d.ts +30 -30
  92. package/3D/controls/contentDisplay3D.js +79 -79
  93. package/3D/controls/control3D.d.ts +201 -201
  94. package/3D/controls/control3D.js +445 -445
  95. package/3D/controls/cylinderPanel.d.ts +17 -17
  96. package/3D/controls/cylinderPanel.js +66 -66
  97. package/3D/controls/handMenu.d.ts +28 -28
  98. package/3D/controls/handMenu.js +47 -47
  99. package/3D/controls/holographicBackplate.d.ts +49 -49
  100. package/3D/controls/holographicBackplate.js +120 -120
  101. package/3D/controls/holographicButton.d.ts +84 -84
  102. package/3D/controls/holographicButton.js +339 -339
  103. package/3D/controls/holographicSlate.d.ts +131 -131
  104. package/3D/controls/holographicSlate.js +431 -431
  105. package/3D/controls/index.d.ts +21 -21
  106. package/3D/controls/index.js +21 -21
  107. package/3D/controls/meshButton3D.d.ts +21 -21
  108. package/3D/controls/meshButton3D.js +62 -62
  109. package/3D/controls/nearMenu.d.ts +44 -44
  110. package/3D/controls/nearMenu.js +114 -114
  111. package/3D/controls/planePanel.d.ts +9 -9
  112. package/3D/controls/planePanel.js +36 -36
  113. package/3D/controls/scatterPanel.d.ts +18 -18
  114. package/3D/controls/scatterPanel.js +108 -108
  115. package/3D/controls/slider3D.d.ts +81 -81
  116. package/3D/controls/slider3D.js +268 -268
  117. package/3D/controls/spherePanel.d.ts +17 -17
  118. package/3D/controls/spherePanel.js +67 -67
  119. package/3D/controls/stackPanel3D.d.ts +22 -22
  120. package/3D/controls/stackPanel3D.js +107 -107
  121. package/3D/controls/touchButton3D.d.ts +80 -80
  122. package/3D/controls/touchButton3D.js +233 -233
  123. package/3D/controls/touchHolographicButton.d.ts +110 -110
  124. package/3D/controls/touchHolographicButton.js +445 -445
  125. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  126. package/3D/controls/touchHolographicMenu.js +149 -149
  127. package/3D/controls/touchMeshButton3D.d.ts +21 -21
  128. package/3D/controls/touchMeshButton3D.js +62 -62
  129. package/3D/controls/volumeBasedPanel.d.ts +53 -53
  130. package/3D/controls/volumeBasedPanel.js +174 -174
  131. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  132. package/3D/gizmos/gizmoHandle.js +209 -209
  133. package/3D/gizmos/index.d.ts +2 -2
  134. package/3D/gizmos/index.js +2 -2
  135. package/3D/gizmos/slateGizmo.d.ts +57 -57
  136. package/3D/gizmos/slateGizmo.js +369 -369
  137. package/3D/gui3DManager.d.ts +94 -94
  138. package/3D/gui3DManager.js +257 -257
  139. package/3D/index.d.ts +5 -5
  140. package/3D/index.js +5 -5
  141. package/3D/materials/fluent/fluentMaterial.d.ts +90 -90
  142. package/3D/materials/fluent/fluentMaterial.js +292 -292
  143. package/3D/materials/fluent/index.d.ts +1 -1
  144. package/3D/materials/fluent/index.js +1 -1
  145. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  146. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -8
  147. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  148. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -8
  149. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +154 -154
  150. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -469
  151. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  152. package/3D/materials/fluentBackplate/index.js +1 -1
  153. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  154. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -8
  155. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  156. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -8
  157. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +189 -189
  158. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -539
  159. package/3D/materials/fluentButton/index.d.ts +1 -1
  160. package/3D/materials/fluentButton/index.js +1 -1
  161. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  162. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -8
  163. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  164. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -8
  165. package/3D/materials/fluentMaterial.d.ts +4 -4
  166. package/3D/materials/fluentMaterial.js +4 -4
  167. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  168. package/3D/materials/handle/handleMaterial.js +126 -126
  169. package/3D/materials/handle/index.d.ts +1 -1
  170. package/3D/materials/handle/index.js +1 -1
  171. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  172. package/3D/materials/handle/shaders/handle.fragment.js +8 -8
  173. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  174. package/3D/materials/handle/shaders/handle.vertex.js +8 -8
  175. package/3D/materials/index.d.ts +5 -5
  176. package/3D/materials/index.js +5 -5
  177. package/3D/materials/mrdl/index.d.ts +3 -3
  178. package/3D/materials/mrdl/index.js +3 -3
  179. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +147 -147
  180. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -436
  181. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +333 -333
  182. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -851
  183. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +333 -333
  184. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -851
  185. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  186. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -8
  187. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  188. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -8
  189. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  190. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -8
  191. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  192. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -8
  193. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  194. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -8
  195. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  196. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -8
  197. package/3D/vector3WithInfo.d.ts +16 -16
  198. package/3D/vector3WithInfo.js +23 -23
  199. package/index.d.ts +2 -2
  200. package/index.js +2 -2
  201. package/legacy/legacy.d.ts +1 -1
  202. package/legacy/legacy.js +13 -13
  203. package/package.json +2 -2
@@ -1,49 +1,49 @@
1
- import { Observable } from "@babylonjs/core/Misc/observable.js";
2
- import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
3
- import { Control } from "./control";
4
- import { StackPanel } from "./stackPanel";
5
- import { PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
6
- import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
7
- /**
8
- * Class used to create radio button controls
9
- */
10
- export declare class RadioButton extends Control {
11
- name?: string | undefined;
12
- private _isChecked;
13
- private _background;
14
- private _checkSizeRatio;
15
- private _thickness;
16
- /** Gets or sets border thickness */
17
- get thickness(): number;
18
- set thickness(value: number);
19
- /** Gets or sets group name */
20
- group: string;
21
- /** Observable raised when isChecked is changed */
22
- onIsCheckedChangedObservable: Observable<boolean>;
23
- /** Gets or sets a value indicating the ratio between overall size and check size */
24
- get checkSizeRatio(): number;
25
- set checkSizeRatio(value: number);
26
- /** Gets or sets background color */
27
- get background(): string;
28
- set background(value: string);
29
- /** Gets or sets a boolean indicating if the checkbox is checked or not */
30
- get isChecked(): boolean;
31
- set isChecked(value: boolean);
32
- /**
33
- * Creates a new RadioButton
34
- * @param name defines the control name
35
- */
36
- constructor(name?: string | undefined);
37
- protected _getTypeName(): string;
38
- _draw(context: ICanvasRenderingContext): void;
39
- _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean;
40
- /**
41
- * Utility function to easily create a radio button with a header
42
- * @param title defines the label to use for the header
43
- * @param group defines the group to use for the radio button
44
- * @param isChecked defines the initial state of the radio button
45
- * @param onValueChanged defines the callback to call when value changes
46
- * @returns a StackPanel containing the radio button and a textBlock
47
- */
48
- static AddRadioButtonWithHeader(title: string, group: string, isChecked: boolean, onValueChanged: (button: RadioButton, value: boolean) => void): StackPanel;
49
- }
1
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
2
+ import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
3
+ import { Control } from "./control";
4
+ import { StackPanel } from "./stackPanel";
5
+ import { PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
6
+ import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
7
+ /**
8
+ * Class used to create radio button controls
9
+ */
10
+ export declare class RadioButton extends Control {
11
+ name?: string | undefined;
12
+ private _isChecked;
13
+ private _background;
14
+ private _checkSizeRatio;
15
+ private _thickness;
16
+ /** Gets or sets border thickness */
17
+ get thickness(): number;
18
+ set thickness(value: number);
19
+ /** Gets or sets group name */
20
+ group: string;
21
+ /** Observable raised when isChecked is changed */
22
+ onIsCheckedChangedObservable: Observable<boolean>;
23
+ /** Gets or sets a value indicating the ratio between overall size and check size */
24
+ get checkSizeRatio(): number;
25
+ set checkSizeRatio(value: number);
26
+ /** Gets or sets background color */
27
+ get background(): string;
28
+ set background(value: string);
29
+ /** Gets or sets a boolean indicating if the checkbox is checked or not */
30
+ get isChecked(): boolean;
31
+ set isChecked(value: boolean);
32
+ /**
33
+ * Creates a new RadioButton
34
+ * @param name defines the control name
35
+ */
36
+ constructor(name?: string | undefined);
37
+ protected _getTypeName(): string;
38
+ _draw(context: ICanvasRenderingContext): void;
39
+ _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean;
40
+ /**
41
+ * Utility function to easily create a radio button with a header
42
+ * @param title defines the label to use for the header
43
+ * @param group defines the group to use for the radio button
44
+ * @param isChecked defines the initial state of the radio button
45
+ * @param onValueChanged defines the callback to call when value changes
46
+ * @returns a StackPanel containing the radio button and a textBlock
47
+ */
48
+ static AddRadioButtonWithHeader(title: string, group: string, isChecked: boolean, onValueChanged: (button: RadioButton, value: boolean) => void): StackPanel;
49
+ }
@@ -1,206 +1,206 @@
1
- import { __decorate, __extends } from "tslib";
2
- import { Observable } from "@babylonjs/core/Misc/observable.js";
3
- import { Control } from "./control.js";
4
- import { StackPanel } from "./stackPanel.js";
5
- import { TextBlock } from "./textBlock.js";
6
- import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
7
- import { serialize } from "@babylonjs/core/Misc/decorators.js";
8
- /**
9
- * Class used to create radio button controls
10
- */
11
- var RadioButton = /** @class */ (function (_super) {
12
- __extends(RadioButton, _super);
13
- /**
14
- * Creates a new RadioButton
15
- * @param name defines the control name
16
- */
17
- function RadioButton(name) {
18
- var _this = _super.call(this, name) || this;
19
- _this.name = name;
20
- _this._isChecked = false;
21
- _this._background = "black";
22
- _this._checkSizeRatio = 0.8;
23
- _this._thickness = 1;
24
- /** Gets or sets group name */
25
- _this.group = "";
26
- /** Observable raised when isChecked is changed */
27
- _this.onIsCheckedChangedObservable = new Observable();
28
- _this.isPointerBlocker = true;
29
- return _this;
30
- }
31
- Object.defineProperty(RadioButton.prototype, "thickness", {
32
- /** Gets or sets border thickness */
33
- get: function () {
34
- return this._thickness;
35
- },
36
- set: function (value) {
37
- if (this._thickness === value) {
38
- return;
39
- }
40
- this._thickness = value;
41
- this._markAsDirty();
42
- },
43
- enumerable: false,
44
- configurable: true
45
- });
46
- Object.defineProperty(RadioButton.prototype, "checkSizeRatio", {
47
- /** Gets or sets a value indicating the ratio between overall size and check size */
48
- get: function () {
49
- return this._checkSizeRatio;
50
- },
51
- set: function (value) {
52
- value = Math.max(Math.min(1, value), 0);
53
- if (this._checkSizeRatio === value) {
54
- return;
55
- }
56
- this._checkSizeRatio = value;
57
- this._markAsDirty();
58
- },
59
- enumerable: false,
60
- configurable: true
61
- });
62
- Object.defineProperty(RadioButton.prototype, "background", {
63
- /** Gets or sets background color */
64
- get: function () {
65
- return this._background;
66
- },
67
- set: function (value) {
68
- if (this._background === value) {
69
- return;
70
- }
71
- this._background = value;
72
- this._markAsDirty();
73
- },
74
- enumerable: false,
75
- configurable: true
76
- });
77
- Object.defineProperty(RadioButton.prototype, "isChecked", {
78
- /** Gets or sets a boolean indicating if the checkbox is checked or not */
79
- get: function () {
80
- return this._isChecked;
81
- },
82
- set: function (value) {
83
- var _this = this;
84
- if (this._isChecked === value) {
85
- return;
86
- }
87
- this._isChecked = value;
88
- this._markAsDirty();
89
- this.onIsCheckedChangedObservable.notifyObservers(value);
90
- if (this._isChecked && this._host) {
91
- // Update all controls from same group
92
- this._host.executeOnAllControls(function (control) {
93
- if (control === _this) {
94
- return;
95
- }
96
- if (control.group === undefined) {
97
- return;
98
- }
99
- var childRadio = control;
100
- if (childRadio.group === _this.group) {
101
- childRadio.isChecked = false;
102
- }
103
- });
104
- }
105
- },
106
- enumerable: false,
107
- configurable: true
108
- });
109
- RadioButton.prototype._getTypeName = function () {
110
- return "RadioButton";
111
- };
112
- RadioButton.prototype._draw = function (context) {
113
- context.save();
114
- this._applyStates(context);
115
- var actualWidth = this._currentMeasure.width - this._thickness;
116
- var actualHeight = this._currentMeasure.height - this._thickness;
117
- if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
118
- context.shadowColor = this.shadowColor;
119
- context.shadowBlur = this.shadowBlur;
120
- context.shadowOffsetX = this.shadowOffsetX;
121
- context.shadowOffsetY = this.shadowOffsetY;
122
- }
123
- // Outer
124
- Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, this._currentMeasure.width / 2 - this._thickness / 2, this._currentMeasure.height / 2 - this._thickness / 2, context);
125
- context.fillStyle = this._isEnabled ? this._background : this._disabledColor;
126
- context.fill();
127
- if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
128
- context.shadowBlur = 0;
129
- context.shadowOffsetX = 0;
130
- context.shadowOffsetY = 0;
131
- }
132
- context.strokeStyle = this.color;
133
- context.lineWidth = this._thickness;
134
- context.stroke();
135
- // Inner
136
- if (this._isChecked) {
137
- context.fillStyle = this._isEnabled ? this.color : this._disabledColor;
138
- var offsetWidth = actualWidth * this._checkSizeRatio;
139
- var offseHeight = actualHeight * this._checkSizeRatio;
140
- Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, offsetWidth / 2 - this._thickness / 2, offseHeight / 2 - this._thickness / 2, context);
141
- context.fill();
142
- }
143
- context.restore();
144
- };
145
- // Events
146
- RadioButton.prototype._onPointerDown = function (target, coordinates, pointerId, buttonIndex, pi) {
147
- if (!_super.prototype._onPointerDown.call(this, target, coordinates, pointerId, buttonIndex, pi)) {
148
- return false;
149
- }
150
- if (this.isReadOnly) {
151
- return true;
152
- }
153
- if (!this.isChecked) {
154
- this.isChecked = true;
155
- }
156
- return true;
157
- };
158
- /**
159
- * Utility function to easily create a radio button with a header
160
- * @param title defines the label to use for the header
161
- * @param group defines the group to use for the radio button
162
- * @param isChecked defines the initial state of the radio button
163
- * @param onValueChanged defines the callback to call when value changes
164
- * @returns a StackPanel containing the radio button and a textBlock
165
- */
166
- RadioButton.AddRadioButtonWithHeader = function (title, group, isChecked, onValueChanged) {
167
- var panel = new StackPanel();
168
- panel.isVertical = false;
169
- panel.height = "30px";
170
- var radio = new RadioButton();
171
- radio.width = "20px";
172
- radio.height = "20px";
173
- radio.isChecked = isChecked;
174
- radio.color = "green";
175
- radio.group = group;
176
- radio.onIsCheckedChangedObservable.add(function (value) { return onValueChanged(radio, value); });
177
- panel.addControl(radio);
178
- var header = new TextBlock();
179
- header.text = title;
180
- header.width = "180px";
181
- header.paddingLeft = "5px";
182
- header.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;
183
- header.color = "white";
184
- panel.addControl(header);
185
- return panel;
186
- };
187
- __decorate([
188
- serialize()
189
- ], RadioButton.prototype, "thickness", null);
190
- __decorate([
191
- serialize()
192
- ], RadioButton.prototype, "group", void 0);
193
- __decorate([
194
- serialize()
195
- ], RadioButton.prototype, "checkSizeRatio", null);
196
- __decorate([
197
- serialize()
198
- ], RadioButton.prototype, "background", null);
199
- __decorate([
200
- serialize()
201
- ], RadioButton.prototype, "isChecked", null);
202
- return RadioButton;
203
- }(Control));
204
- export { RadioButton };
205
- RegisterClass("BABYLON.GUI.RadioButton", RadioButton);
1
+ import { __decorate, __extends } from "tslib";
2
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
3
+ import { Control } from "./control";
4
+ import { StackPanel } from "./stackPanel";
5
+ import { TextBlock } from "./textBlock";
6
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
7
+ import { serialize } from "@babylonjs/core/Misc/decorators.js";
8
+ /**
9
+ * Class used to create radio button controls
10
+ */
11
+ var RadioButton = /** @class */ (function (_super) {
12
+ __extends(RadioButton, _super);
13
+ /**
14
+ * Creates a new RadioButton
15
+ * @param name defines the control name
16
+ */
17
+ function RadioButton(name) {
18
+ var _this = _super.call(this, name) || this;
19
+ _this.name = name;
20
+ _this._isChecked = false;
21
+ _this._background = "black";
22
+ _this._checkSizeRatio = 0.8;
23
+ _this._thickness = 1;
24
+ /** Gets or sets group name */
25
+ _this.group = "";
26
+ /** Observable raised when isChecked is changed */
27
+ _this.onIsCheckedChangedObservable = new Observable();
28
+ _this.isPointerBlocker = true;
29
+ return _this;
30
+ }
31
+ Object.defineProperty(RadioButton.prototype, "thickness", {
32
+ /** Gets or sets border thickness */
33
+ get: function () {
34
+ return this._thickness;
35
+ },
36
+ set: function (value) {
37
+ if (this._thickness === value) {
38
+ return;
39
+ }
40
+ this._thickness = value;
41
+ this._markAsDirty();
42
+ },
43
+ enumerable: false,
44
+ configurable: true
45
+ });
46
+ Object.defineProperty(RadioButton.prototype, "checkSizeRatio", {
47
+ /** Gets or sets a value indicating the ratio between overall size and check size */
48
+ get: function () {
49
+ return this._checkSizeRatio;
50
+ },
51
+ set: function (value) {
52
+ value = Math.max(Math.min(1, value), 0);
53
+ if (this._checkSizeRatio === value) {
54
+ return;
55
+ }
56
+ this._checkSizeRatio = value;
57
+ this._markAsDirty();
58
+ },
59
+ enumerable: false,
60
+ configurable: true
61
+ });
62
+ Object.defineProperty(RadioButton.prototype, "background", {
63
+ /** Gets or sets background color */
64
+ get: function () {
65
+ return this._background;
66
+ },
67
+ set: function (value) {
68
+ if (this._background === value) {
69
+ return;
70
+ }
71
+ this._background = value;
72
+ this._markAsDirty();
73
+ },
74
+ enumerable: false,
75
+ configurable: true
76
+ });
77
+ Object.defineProperty(RadioButton.prototype, "isChecked", {
78
+ /** Gets or sets a boolean indicating if the checkbox is checked or not */
79
+ get: function () {
80
+ return this._isChecked;
81
+ },
82
+ set: function (value) {
83
+ var _this = this;
84
+ if (this._isChecked === value) {
85
+ return;
86
+ }
87
+ this._isChecked = value;
88
+ this._markAsDirty();
89
+ this.onIsCheckedChangedObservable.notifyObservers(value);
90
+ if (this._isChecked && this._host) {
91
+ // Update all controls from same group
92
+ this._host.executeOnAllControls(function (control) {
93
+ if (control === _this) {
94
+ return;
95
+ }
96
+ if (control.group === undefined) {
97
+ return;
98
+ }
99
+ var childRadio = control;
100
+ if (childRadio.group === _this.group) {
101
+ childRadio.isChecked = false;
102
+ }
103
+ });
104
+ }
105
+ },
106
+ enumerable: false,
107
+ configurable: true
108
+ });
109
+ RadioButton.prototype._getTypeName = function () {
110
+ return "RadioButton";
111
+ };
112
+ RadioButton.prototype._draw = function (context) {
113
+ context.save();
114
+ this._applyStates(context);
115
+ var actualWidth = this._currentMeasure.width - this._thickness;
116
+ var actualHeight = this._currentMeasure.height - this._thickness;
117
+ if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
118
+ context.shadowColor = this.shadowColor;
119
+ context.shadowBlur = this.shadowBlur;
120
+ context.shadowOffsetX = this.shadowOffsetX;
121
+ context.shadowOffsetY = this.shadowOffsetY;
122
+ }
123
+ // Outer
124
+ Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, this._currentMeasure.width / 2 - this._thickness / 2, this._currentMeasure.height / 2 - this._thickness / 2, context);
125
+ context.fillStyle = this._isEnabled ? this._background : this._disabledColor;
126
+ context.fill();
127
+ if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
128
+ context.shadowBlur = 0;
129
+ context.shadowOffsetX = 0;
130
+ context.shadowOffsetY = 0;
131
+ }
132
+ context.strokeStyle = this.color;
133
+ context.lineWidth = this._thickness;
134
+ context.stroke();
135
+ // Inner
136
+ if (this._isChecked) {
137
+ context.fillStyle = this._isEnabled ? this.color : this._disabledColor;
138
+ var offsetWidth = actualWidth * this._checkSizeRatio;
139
+ var offseHeight = actualHeight * this._checkSizeRatio;
140
+ Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, offsetWidth / 2 - this._thickness / 2, offseHeight / 2 - this._thickness / 2, context);
141
+ context.fill();
142
+ }
143
+ context.restore();
144
+ };
145
+ // Events
146
+ RadioButton.prototype._onPointerDown = function (target, coordinates, pointerId, buttonIndex, pi) {
147
+ if (!_super.prototype._onPointerDown.call(this, target, coordinates, pointerId, buttonIndex, pi)) {
148
+ return false;
149
+ }
150
+ if (this.isReadOnly) {
151
+ return true;
152
+ }
153
+ if (!this.isChecked) {
154
+ this.isChecked = true;
155
+ }
156
+ return true;
157
+ };
158
+ /**
159
+ * Utility function to easily create a radio button with a header
160
+ * @param title defines the label to use for the header
161
+ * @param group defines the group to use for the radio button
162
+ * @param isChecked defines the initial state of the radio button
163
+ * @param onValueChanged defines the callback to call when value changes
164
+ * @returns a StackPanel containing the radio button and a textBlock
165
+ */
166
+ RadioButton.AddRadioButtonWithHeader = function (title, group, isChecked, onValueChanged) {
167
+ var panel = new StackPanel();
168
+ panel.isVertical = false;
169
+ panel.height = "30px";
170
+ var radio = new RadioButton();
171
+ radio.width = "20px";
172
+ radio.height = "20px";
173
+ radio.isChecked = isChecked;
174
+ radio.color = "green";
175
+ radio.group = group;
176
+ radio.onIsCheckedChangedObservable.add(function (value) { return onValueChanged(radio, value); });
177
+ panel.addControl(radio);
178
+ var header = new TextBlock();
179
+ header.text = title;
180
+ header.width = "180px";
181
+ header.paddingLeft = "5px";
182
+ header.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;
183
+ header.color = "white";
184
+ panel.addControl(header);
185
+ return panel;
186
+ };
187
+ __decorate([
188
+ serialize()
189
+ ], RadioButton.prototype, "thickness", null);
190
+ __decorate([
191
+ serialize()
192
+ ], RadioButton.prototype, "group", void 0);
193
+ __decorate([
194
+ serialize()
195
+ ], RadioButton.prototype, "checkSizeRatio", null);
196
+ __decorate([
197
+ serialize()
198
+ ], RadioButton.prototype, "background", null);
199
+ __decorate([
200
+ serialize()
201
+ ], RadioButton.prototype, "isChecked", null);
202
+ return RadioButton;
203
+ }(Control));
204
+ export { RadioButton };
205
+ RegisterClass("BABYLON.GUI.RadioButton", RadioButton);
206
206
  //# sourceMappingURL=radioButton.js.map
@@ -1,29 +1,29 @@
1
- import { Container } from "./container";
2
- import { Measure } from "../measure";
3
- import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
4
- /** Class used to create rectangle container */
5
- export declare class Rectangle extends Container {
6
- name?: string | undefined;
7
- private _thickness;
8
- private _cornerRadius;
9
- /** Gets or sets border thickness */
10
- get thickness(): number;
11
- set thickness(value: number);
12
- /** Gets or sets the corner radius angle */
13
- get cornerRadius(): number;
14
- set cornerRadius(value: number);
15
- /**
16
- * Creates a new Rectangle
17
- * @param name defines the control name
18
- */
19
- constructor(name?: string | undefined);
20
- protected _getTypeName(): string;
21
- /** @hidden */
22
- protected _computeAdditionnalOffsetX(): 1 | 0;
23
- /** @hidden */
24
- protected _computeAdditionnalOffsetY(): 1 | 0;
25
- protected _localDraw(context: ICanvasRenderingContext): void;
26
- protected _additionalProcessing(parentMeasure: Measure, context: ICanvasRenderingContext): void;
27
- private _drawRoundedRect;
28
- protected _clipForChildren(context: ICanvasRenderingContext): void;
29
- }
1
+ import { Container } from "./container";
2
+ import { Measure } from "../measure";
3
+ import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
4
+ /** Class used to create rectangle container */
5
+ export declare class Rectangle extends Container {
6
+ name?: string | undefined;
7
+ private _thickness;
8
+ private _cornerRadius;
9
+ /** Gets or sets border thickness */
10
+ get thickness(): number;
11
+ set thickness(value: number);
12
+ /** Gets or sets the corner radius angle */
13
+ get cornerRadius(): number;
14
+ set cornerRadius(value: number);
15
+ /**
16
+ * Creates a new Rectangle
17
+ * @param name defines the control name
18
+ */
19
+ constructor(name?: string | undefined);
20
+ protected _getTypeName(): string;
21
+ /** @hidden */
22
+ protected _computeAdditionnalOffsetX(): 1 | 0;
23
+ /** @hidden */
24
+ protected _computeAdditionnalOffsetY(): 1 | 0;
25
+ protected _localDraw(context: ICanvasRenderingContext): void;
26
+ protected _additionalProcessing(parentMeasure: Measure, context: ICanvasRenderingContext): void;
27
+ private _drawRoundedRect;
28
+ protected _clipForChildren(context: ICanvasRenderingContext): void;
29
+ }