@babylonjs/gui 9.13.0 → 9.15.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.
- package/2D/FrameGraph/pure.d.ts +2 -0
- package/2D/FrameGraph/pure.js +3 -0
- package/2D/FrameGraph/pure.js.map +1 -0
- package/2D/FrameGraph/renderGraphGUIBlock.d.ts +3 -41
- package/2D/FrameGraph/renderGraphGUIBlock.js +5 -64
- package/2D/FrameGraph/renderGraphGUIBlock.js.map +1 -1
- package/2D/FrameGraph/renderGraphGUIBlock.pure.d.ts +48 -0
- package/2D/FrameGraph/renderGraphGUIBlock.pure.js +78 -0
- package/2D/FrameGraph/renderGraphGUIBlock.pure.js.map +1 -0
- package/2D/advancedDynamicTexture.d.ts +2 -2
- package/2D/advancedDynamicTexture.js +2 -2
- package/2D/advancedDynamicTexture.js.map +1 -1
- package/2D/controls/button.d.ts +3 -107
- package/2D/controls/button.js +5 -243
- package/2D/controls/button.js.map +1 -1
- package/2D/controls/button.pure.d.ts +114 -0
- package/2D/controls/button.pure.js +257 -0
- package/2D/controls/button.pure.js.map +1 -0
- package/2D/controls/checkbox.d.ts +3 -51
- package/2D/controls/checkbox.js +5 -161
- package/2D/controls/checkbox.js.map +1 -1
- package/2D/controls/checkbox.pure.d.ts +58 -0
- package/2D/controls/checkbox.pure.js +175 -0
- package/2D/controls/checkbox.pure.js.map +1 -0
- package/2D/controls/colorpicker.d.ts +5 -101
- package/2D/controls/colorpicker.js +7 -1394
- package/2D/controls/colorpicker.js.map +1 -1
- package/2D/controls/colorpicker.pure.d.ts +106 -0
- package/2D/controls/colorpicker.pure.js +1406 -0
- package/2D/controls/colorpicker.pure.js.map +1 -0
- package/2D/controls/container.d.ts +3 -177
- package/2D/controls/container.js +5 -615
- package/2D/controls/container.js.map +1 -1
- package/2D/controls/container.pure.d.ts +184 -0
- package/2D/controls/container.pure.js +629 -0
- package/2D/controls/container.pure.js.map +1 -0
- package/2D/controls/control.d.ts +3 -944
- package/2D/controls/control.js +5 -2457
- package/2D/controls/control.js.map +1 -1
- package/2D/controls/control.pure.d.ts +951 -0
- package/2D/controls/control.pure.js +2471 -0
- package/2D/controls/control.pure.js.map +1 -0
- package/2D/controls/displayGrid.d.ts +5 -53
- package/2D/controls/displayGrid.js +7 -201
- package/2D/controls/displayGrid.js.map +1 -1
- package/2D/controls/displayGrid.pure.d.ts +58 -0
- package/2D/controls/displayGrid.pure.js +213 -0
- package/2D/controls/displayGrid.pure.js.map +1 -0
- package/2D/controls/ellipse.d.ts +5 -25
- package/2D/controls/ellipse.js +7 -92
- package/2D/controls/ellipse.js.map +1 -1
- package/2D/controls/ellipse.pure.d.ts +30 -0
- package/2D/controls/ellipse.pure.js +104 -0
- package/2D/controls/ellipse.pure.js.map +1 -0
- package/2D/controls/focusableButton.d.ts +3 -15
- package/2D/controls/focusableButton.js +5 -22
- package/2D/controls/focusableButton.js.map +1 -1
- package/2D/controls/focusableButton.pure.d.ts +22 -0
- package/2D/controls/focusableButton.pure.js +36 -0
- package/2D/controls/focusableButton.pure.js.map +1 -0
- package/2D/controls/gradient/LinearGradient.d.ts +3 -43
- package/2D/controls/gradient/LinearGradient.js +5 -70
- package/2D/controls/gradient/LinearGradient.js.map +1 -1
- package/2D/controls/gradient/LinearGradient.pure.d.ts +50 -0
- package/2D/controls/gradient/LinearGradient.pure.js +84 -0
- package/2D/controls/gradient/LinearGradient.pure.js.map +1 -0
- package/2D/controls/gradient/RadialGradient.d.ts +3 -51
- package/2D/controls/gradient/RadialGradient.js +5 -86
- package/2D/controls/gradient/RadialGradient.js.map +1 -1
- package/2D/controls/gradient/RadialGradient.pure.d.ts +58 -0
- package/2D/controls/gradient/RadialGradient.pure.js +100 -0
- package/2D/controls/gradient/RadialGradient.pure.js.map +1 -0
- package/2D/controls/gradient/pure.d.ts +3 -0
- package/2D/controls/gradient/pure.js +4 -0
- package/2D/controls/gradient/pure.js.map +1 -0
- package/2D/controls/grid.d.ts +3 -149
- package/2D/controls/grid.js +5 -525
- package/2D/controls/grid.js.map +1 -1
- package/2D/controls/grid.pure.d.ts +156 -0
- package/2D/controls/grid.pure.js +539 -0
- package/2D/controls/grid.pure.js.map +1 -0
- package/2D/controls/image.d.ts +3 -226
- package/2D/controls/image.js +5 -913
- package/2D/controls/image.js.map +1 -1
- package/2D/controls/image.pure.d.ts +233 -0
- package/2D/controls/image.pure.js +927 -0
- package/2D/controls/image.pure.js.map +1 -0
- package/2D/controls/inputPassword.d.ts +3 -7
- package/2D/controls/inputPassword.js +5 -19
- package/2D/controls/inputPassword.js.map +1 -1
- package/2D/controls/inputPassword.pure.d.ts +14 -0
- package/2D/controls/inputPassword.pure.js +33 -0
- package/2D/controls/inputPassword.pure.js.map +1 -0
- package/2D/controls/inputText.d.ts +3 -202
- package/2D/controls/inputText.js +5 -1050
- package/2D/controls/inputText.js.map +1 -1
- package/2D/controls/inputText.pure.d.ts +209 -0
- package/2D/controls/inputText.pure.js +1064 -0
- package/2D/controls/inputText.pure.js.map +1 -0
- package/2D/controls/inputTextArea.d.ts +3 -140
- package/2D/controls/inputTextArea.js +5 -1023
- package/2D/controls/inputTextArea.js.map +1 -1
- package/2D/controls/inputTextArea.pure.d.ts +147 -0
- package/2D/controls/inputTextArea.pure.js +1037 -0
- package/2D/controls/inputTextArea.pure.js.map +1 -0
- package/2D/controls/line.d.ts +5 -74
- package/2D/controls/line.js +7 -234
- package/2D/controls/line.js.map +1 -1
- package/2D/controls/line.pure.d.ts +79 -0
- package/2D/controls/line.pure.js +246 -0
- package/2D/controls/line.pure.js.map +1 -0
- package/2D/controls/multiLine.d.ts +3 -73
- package/2D/controls/multiLine.js +5 -234
- package/2D/controls/multiLine.js.map +1 -1
- package/2D/controls/multiLine.pure.d.ts +80 -0
- package/2D/controls/multiLine.pure.js +248 -0
- package/2D/controls/multiLine.pure.js.map +1 -0
- package/2D/controls/pure.d.ts +38 -0
- package/2D/controls/pure.js +39 -0
- package/2D/controls/pure.js.map +1 -0
- package/2D/controls/radioButton.d.ts +3 -47
- package/2D/controls/radioButton.js +5 -182
- package/2D/controls/radioButton.js.map +1 -1
- package/2D/controls/radioButton.pure.d.ts +54 -0
- package/2D/controls/radioButton.pure.js +196 -0
- package/2D/controls/radioButton.pure.js.map +1 -0
- package/2D/controls/rectangle.d.ts +5 -43
- package/2D/controls/rectangle.js +7 -205
- package/2D/controls/rectangle.js.map +1 -1
- package/2D/controls/rectangle.pure.d.ts +48 -0
- package/2D/controls/rectangle.pure.js +217 -0
- package/2D/controls/rectangle.pure.js.map +1 -0
- package/2D/controls/scrollViewers/pure.d.ts +2 -0
- package/2D/controls/scrollViewers/pure.js +3 -0
- package/2D/controls/scrollViewers/pure.js.map +1 -0
- package/2D/controls/scrollViewers/scrollViewer.d.ts +3 -176
- package/2D/controls/scrollViewers/scrollViewer.js +5 -584
- package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
- package/2D/controls/scrollViewers/scrollViewer.pure.d.ts +183 -0
- package/2D/controls/scrollViewers/scrollViewer.pure.js +598 -0
- package/2D/controls/scrollViewers/scrollViewer.pure.js.map +1 -0
- package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +1 -1
- package/2D/controls/scrollViewers/scrollViewerWindow.js +2 -2
- package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
- package/2D/controls/selector.d.ts +2 -2
- package/2D/controls/selector.js +8 -8
- package/2D/controls/selector.js.map +1 -1
- package/2D/controls/sliders/baseSlider.d.ts +1 -1
- package/2D/controls/sliders/baseSlider.js +1 -1
- package/2D/controls/sliders/baseSlider.js.map +1 -1
- package/2D/controls/sliders/imageBasedSlider.d.ts +3 -45
- package/2D/controls/sliders/imageBasedSlider.js +5 -165
- package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
- package/2D/controls/sliders/imageBasedSlider.pure.d.ts +52 -0
- package/2D/controls/sliders/imageBasedSlider.pure.js +179 -0
- package/2D/controls/sliders/imageBasedSlider.pure.js.map +1 -0
- package/2D/controls/sliders/pure.d.ts +4 -0
- package/2D/controls/sliders/pure.js +5 -0
- package/2D/controls/sliders/pure.js.map +1 -0
- package/2D/controls/sliders/scrollBar.d.ts +3 -48
- package/2D/controls/sliders/scrollBar.js +5 -170
- package/2D/controls/sliders/scrollBar.js.map +1 -1
- package/2D/controls/sliders/scrollBar.pure.d.ts +55 -0
- package/2D/controls/sliders/scrollBar.pure.js +184 -0
- package/2D/controls/sliders/scrollBar.pure.js.map +1 -0
- package/2D/controls/sliders/slider.d.ts +3 -44
- package/2D/controls/sliders/slider.js +5 -278
- package/2D/controls/sliders/slider.js.map +1 -1
- package/2D/controls/sliders/slider.pure.d.ts +51 -0
- package/2D/controls/sliders/slider.pure.js +292 -0
- package/2D/controls/sliders/slider.pure.js.map +1 -0
- package/2D/controls/stackPanel.d.ts +3 -62
- package/2D/controls/stackPanel.js +5 -243
- package/2D/controls/stackPanel.js.map +1 -1
- package/2D/controls/stackPanel.pure.d.ts +69 -0
- package/2D/controls/stackPanel.pure.js +257 -0
- package/2D/controls/stackPanel.pure.js.map +1 -0
- package/2D/controls/statics.d.ts +3 -4
- package/2D/controls/statics.js +5 -47
- package/2D/controls/statics.js.map +1 -1
- package/2D/controls/statics.pure.d.ts +11 -0
- package/2D/controls/statics.pure.js +61 -0
- package/2D/controls/statics.pure.js.map +1 -0
- package/2D/controls/textBlock.d.ts +3 -217
- package/2D/controls/textBlock.js +5 -676
- package/2D/controls/textBlock.js.map +1 -1
- package/2D/controls/textBlock.pure.d.ts +224 -0
- package/2D/controls/textBlock.pure.js +690 -0
- package/2D/controls/textBlock.pure.js.map +1 -0
- package/2D/controls/toggleButton.d.ts +3 -91
- package/2D/controls/toggleButton.js +5 -226
- package/2D/controls/toggleButton.js.map +1 -1
- package/2D/controls/toggleButton.pure.d.ts +98 -0
- package/2D/controls/toggleButton.pure.js +240 -0
- package/2D/controls/toggleButton.pure.js.map +1 -0
- package/2D/controls/virtualKeyboard.d.ts +3 -100
- package/2D/controls/virtualKeyboard.js +5 -272
- package/2D/controls/virtualKeyboard.js.map +1 -1
- package/2D/controls/virtualKeyboard.pure.d.ts +107 -0
- package/2D/controls/virtualKeyboard.pure.js +286 -0
- package/2D/controls/virtualKeyboard.pure.js.map +1 -0
- package/2D/math2D.d.ts +1 -1
- package/2D/math2D.js +1 -1
- package/2D/math2D.js.map +1 -1
- package/2D/measure.js +1 -1
- package/2D/measure.js.map +1 -1
- package/2D/pure.d.ts +13 -0
- package/2D/pure.js +15 -0
- package/2D/pure.js.map +1 -0
- package/3D/controls/MRTK3/touchHolographicButton.d.ts +4 -4
- package/3D/controls/MRTK3/touchHolographicButton.js +10 -10
- package/3D/controls/MRTK3/touchHolographicButton.js.map +1 -1
- package/3D/controls/holographicBackplate.d.ts +1 -1
- package/3D/controls/holographicBackplate.js +1 -1
- package/3D/controls/holographicBackplate.js.map +1 -1
- package/3D/controls/holographicButton.d.ts +1 -1
- package/3D/controls/holographicButton.js +4 -4
- package/3D/controls/holographicButton.js.map +1 -1
- package/3D/controls/holographicSlate.js +4 -4
- package/3D/controls/holographicSlate.js.map +1 -1
- package/3D/controls/pure.d.ts +23 -0
- package/3D/controls/pure.js +24 -0
- package/3D/controls/pure.js.map +1 -0
- package/3D/controls/slider3D.d.ts +3 -3
- package/3D/controls/slider3D.js +3 -3
- package/3D/controls/slider3D.js.map +1 -1
- package/3D/controls/touchHolographicButton.d.ts +2 -2
- package/3D/controls/touchHolographicButton.js +5 -5
- package/3D/controls/touchHolographicButton.js.map +1 -1
- package/3D/controls/touchHolographicMenu.js +1 -1
- package/3D/controls/touchHolographicMenu.js.map +1 -1
- package/3D/gizmos/gizmoHandle.d.ts +1 -1
- package/3D/gizmos/gizmoHandle.js +1 -1
- package/3D/gizmos/gizmoHandle.js.map +1 -1
- package/3D/gizmos/pure.d.ts +3 -0
- package/3D/gizmos/pure.js +4 -0
- package/3D/gizmos/pure.js.map +1 -0
- package/3D/materials/fluent/fluentMaterial.d.ts +5 -100
- package/3D/materials/fluent/fluentMaterial.js +7 -305
- package/3D/materials/fluent/fluentMaterial.js.map +1 -1
- package/3D/materials/fluent/fluentMaterial.pure.d.ts +105 -0
- package/3D/materials/fluent/fluentMaterial.pure.js +320 -0
- package/3D/materials/fluent/fluentMaterial.pure.js.map +1 -0
- package/3D/materials/fluent/pure.d.ts +2 -0
- package/3D/materials/fluent/pure.js +3 -0
- package/3D/materials/fluent/pure.js.map +1 -0
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +5 -164
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +7 -488
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.pure.d.ts +169 -0
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.pure.js +503 -0
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.pure.js.map +1 -0
- package/3D/materials/fluentBackplate/pure.d.ts +2 -0
- package/3D/materials/fluentBackplate/pure.js +3 -0
- package/3D/materials/fluentBackplate/pure.js.map +1 -0
- package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +5 -200
- package/3D/materials/fluentButton/fluentButtonMaterial.js +7 -563
- package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
- package/3D/materials/fluentButton/fluentButtonMaterial.pure.d.ts +205 -0
- package/3D/materials/fluentButton/fluentButtonMaterial.pure.js +578 -0
- package/3D/materials/fluentButton/fluentButtonMaterial.pure.js.map +1 -0
- package/3D/materials/fluentButton/pure.d.ts +2 -0
- package/3D/materials/fluentButton/pure.js +3 -0
- package/3D/materials/fluentButton/pure.js.map +1 -0
- package/3D/materials/fluentMaterial.d.ts +1 -1
- package/3D/materials/fluentMaterial.js +1 -1
- package/3D/materials/fluentMaterial.js.map +1 -1
- package/3D/materials/handle/handleMaterial.d.ts +5 -66
- package/3D/materials/handle/handleMaterial.js +5 -118
- package/3D/materials/handle/handleMaterial.js.map +1 -1
- package/3D/materials/handle/handleMaterial.pure.d.ts +66 -0
- package/3D/materials/handle/handleMaterial.pure.js +121 -0
- package/3D/materials/handle/handleMaterial.pure.js.map +1 -0
- package/3D/materials/handle/pure.d.ts +2 -0
- package/3D/materials/handle/pure.js +3 -0
- package/3D/materials/handle/pure.js.map +1 -0
- package/3D/materials/mrdl/mrdlBackglowMaterial.d.ts +5 -85
- package/3D/materials/mrdl/mrdlBackglowMaterial.js +7 -299
- package/3D/materials/mrdl/mrdlBackglowMaterial.js.map +1 -1
- package/3D/materials/mrdl/mrdlBackglowMaterial.pure.d.ts +90 -0
- package/3D/materials/mrdl/mrdlBackglowMaterial.pure.js +314 -0
- package/3D/materials/mrdl/mrdlBackglowMaterial.pure.js.map +1 -0
- package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +5 -145
- package/3D/materials/mrdl/mrdlBackplateMaterial.js +7 -433
- package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
- package/3D/materials/mrdl/mrdlBackplateMaterial.pure.d.ts +157 -0
- package/3D/materials/mrdl/mrdlBackplateMaterial.pure.js +455 -0
- package/3D/materials/mrdl/mrdlBackplateMaterial.pure.js.map +1 -0
- package/3D/materials/mrdl/mrdlFrontplateMaterial.d.ts +5 -183
- package/3D/materials/mrdl/mrdlFrontplateMaterial.js +7 -532
- package/3D/materials/mrdl/mrdlFrontplateMaterial.js.map +1 -1
- package/3D/materials/mrdl/mrdlFrontplateMaterial.pure.d.ts +188 -0
- package/3D/materials/mrdl/mrdlFrontplateMaterial.pure.js +547 -0
- package/3D/materials/mrdl/mrdlFrontplateMaterial.pure.js.map +1 -0
- package/3D/materials/mrdl/mrdlInnerquadMaterial.d.ts +5 -54
- package/3D/materials/mrdl/mrdlInnerquadMaterial.js +7 -227
- package/3D/materials/mrdl/mrdlInnerquadMaterial.js.map +1 -1
- package/3D/materials/mrdl/mrdlInnerquadMaterial.pure.d.ts +59 -0
- package/3D/materials/mrdl/mrdlInnerquadMaterial.pure.js +242 -0
- package/3D/materials/mrdl/mrdlInnerquadMaterial.pure.js.map +1 -0
- package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +5 -334
- package/3D/materials/mrdl/mrdlSliderBarMaterial.js +7 -855
- package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
- package/3D/materials/mrdl/mrdlSliderBarMaterial.pure.d.ts +346 -0
- package/3D/materials/mrdl/mrdlSliderBarMaterial.pure.js +877 -0
- package/3D/materials/mrdl/mrdlSliderBarMaterial.pure.js.map +1 -0
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +5 -334
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +7 -855
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.pure.d.ts +346 -0
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.pure.js +877 -0
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.pure.js.map +1 -0
- package/3D/materials/mrdl/pure.d.ts +7 -0
- package/3D/materials/mrdl/pure.js +8 -0
- package/3D/materials/mrdl/pure.js.map +1 -0
- package/3D/materials/pure.d.ts +6 -0
- package/3D/materials/pure.js +8 -0
- package/3D/materials/pure.js.map +1 -0
- package/3D/pure.d.ts +6 -0
- package/3D/pure.js +8 -0
- package/3D/pure.js.map +1 -0
- package/package.json +50 -3
- package/pure.d.ts +3 -0
- package/pure.js +5 -0
- package/pure.js.map +1 -0
package/2D/controls/ellipse.js
CHANGED
|
@@ -1,93 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
/** Gets or sets border thickness */
|
|
9
|
-
get thickness() {
|
|
10
|
-
return this._thickness;
|
|
11
|
-
}
|
|
12
|
-
set thickness(value) {
|
|
13
|
-
if (this._thickness === value) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
this._thickness = value;
|
|
17
|
-
this._markAsDirty();
|
|
18
|
-
}
|
|
19
|
-
/** Gets or sets arcing of the ellipse (ratio of the circumference between 0 and 1) */
|
|
20
|
-
get arc() {
|
|
21
|
-
return this._arc;
|
|
22
|
-
}
|
|
23
|
-
set arc(value) {
|
|
24
|
-
if (this._arc === value) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
this._arc = value;
|
|
28
|
-
this._markAsDirty();
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Creates a new Ellipse
|
|
32
|
-
* @param name defines the control name
|
|
33
|
-
*/
|
|
34
|
-
constructor(name) {
|
|
35
|
-
super(name);
|
|
36
|
-
this.name = name;
|
|
37
|
-
this._thickness = 1;
|
|
38
|
-
this._arc = 1;
|
|
39
|
-
}
|
|
40
|
-
_getTypeName() {
|
|
41
|
-
return "Ellipse";
|
|
42
|
-
}
|
|
43
|
-
_localDraw(context) {
|
|
44
|
-
context.save();
|
|
45
|
-
if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
|
|
46
|
-
context.shadowColor = this.shadowColor;
|
|
47
|
-
context.shadowBlur = this.shadowBlur;
|
|
48
|
-
context.shadowOffsetX = this.shadowOffsetX * this._host.idealRatio;
|
|
49
|
-
context.shadowOffsetY = this.shadowOffsetY * this._host.idealRatio;
|
|
50
|
-
}
|
|
51
|
-
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, this._arc, context);
|
|
52
|
-
if (this._backgroundGradient || this._background) {
|
|
53
|
-
context.fillStyle = this._getBackgroundColor(context);
|
|
54
|
-
context.fill();
|
|
55
|
-
}
|
|
56
|
-
if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
|
|
57
|
-
context.shadowBlur = 0;
|
|
58
|
-
context.shadowOffsetX = 0;
|
|
59
|
-
context.shadowOffsetY = 0;
|
|
60
|
-
}
|
|
61
|
-
if (this._thickness) {
|
|
62
|
-
if (this.color) {
|
|
63
|
-
context.strokeStyle = this.color;
|
|
64
|
-
}
|
|
65
|
-
context.lineWidth = this._thickness;
|
|
66
|
-
context.stroke();
|
|
67
|
-
}
|
|
68
|
-
context.restore();
|
|
69
|
-
}
|
|
70
|
-
_additionalProcessing(parentMeasure, context) {
|
|
71
|
-
super._additionalProcessing(parentMeasure, context);
|
|
72
|
-
this._measureForChildren.width -= 2 * this._thickness;
|
|
73
|
-
this._measureForChildren.height -= 2 * this._thickness;
|
|
74
|
-
this._measureForChildren.left += this._thickness;
|
|
75
|
-
this._measureForChildren.top += this._thickness;
|
|
76
|
-
}
|
|
77
|
-
_clipForChildren(context) {
|
|
78
|
-
Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, this._currentMeasure.width / 2, this._currentMeasure.height / 2, this._arc, context);
|
|
79
|
-
context.clip();
|
|
80
|
-
}
|
|
81
|
-
_renderHighlightSpecific(context) {
|
|
82
|
-
Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, this._currentMeasure.width / 2 - this._highlightLineWidth / 2, this._currentMeasure.height / 2 - this._highlightLineWidth / 2, this._arc, context);
|
|
83
|
-
context.stroke();
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
__decorate([
|
|
87
|
-
serialize()
|
|
88
|
-
], Ellipse.prototype, "thickness", null);
|
|
89
|
-
__decorate([
|
|
90
|
-
serialize()
|
|
91
|
-
], Ellipse.prototype, "arc", null);
|
|
92
|
-
RegisterClass("BABYLON.GUI.Ellipse", Ellipse);
|
|
1
|
+
/**
|
|
2
|
+
* Re-exports the pure implementation and applies the runtime registration side effect.
|
|
3
|
+
* Import "./ellipse.pure" for tree-shakeable, side-effect-free usage.
|
|
4
|
+
*/
|
|
5
|
+
export * from "./ellipse.pure.js";
|
|
6
|
+
import { RegisterEllipse } from "./ellipse.pure.js";
|
|
7
|
+
RegisterEllipse();
|
|
93
8
|
//# sourceMappingURL=ellipse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ellipse.js","sourceRoot":"","sources":["../../../../../dev/gui/src/2D/controls/ellipse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ellipse.js","sourceRoot":"","sources":["../../../../../dev/gui/src/2D/controls/ellipse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,eAAe,EAAE,CAAC","sourcesContent":["/**\r\n * Re-exports the pure implementation and applies the runtime registration side effect.\r\n * Import \"./ellipse.pure\" for tree-shakeable, side-effect-free usage.\r\n */\r\nexport * from \"./ellipse.pure\";\r\n\r\nimport { RegisterEllipse } from \"./ellipse.pure\";\r\nRegisterEllipse();\r\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Container } from "./container.pure.js";
|
|
2
|
+
import { type Measure } from "../measure.js";
|
|
3
|
+
import { type ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
|
|
4
|
+
/** Class used to create 2D ellipse containers */
|
|
5
|
+
export declare class Ellipse extends Container {
|
|
6
|
+
name?: string | undefined;
|
|
7
|
+
private _thickness;
|
|
8
|
+
/** Gets or sets border thickness */
|
|
9
|
+
get thickness(): number;
|
|
10
|
+
set thickness(value: number);
|
|
11
|
+
private _arc;
|
|
12
|
+
/** Gets or sets arcing of the ellipse (ratio of the circumference between 0 and 1) */
|
|
13
|
+
get arc(): number;
|
|
14
|
+
set arc(value: number);
|
|
15
|
+
/**
|
|
16
|
+
* Creates a new Ellipse
|
|
17
|
+
* @param name defines the control name
|
|
18
|
+
*/
|
|
19
|
+
constructor(name?: string | undefined);
|
|
20
|
+
protected _getTypeName(): string;
|
|
21
|
+
protected _localDraw(context: ICanvasRenderingContext): void;
|
|
22
|
+
protected _additionalProcessing(parentMeasure: Measure, context: ICanvasRenderingContext): void;
|
|
23
|
+
protected _clipForChildren(context: ICanvasRenderingContext): void;
|
|
24
|
+
_renderHighlightSpecific(context: ICanvasRenderingContext): void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Registers the Ellipse class with the type store for serialization support.
|
|
28
|
+
* Safe to call multiple times; only the first call has an effect.
|
|
29
|
+
*/
|
|
30
|
+
export declare function RegisterEllipse(): void;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { __decorate } from "@babylonjs/core/tslib.es6.js";
|
|
2
|
+
import { Container } from "./container.pure.js";
|
|
3
|
+
import { Control } from "./control.pure.js";
|
|
4
|
+
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
5
|
+
import { serialize } from "@babylonjs/core/Misc/decorators.js";
|
|
6
|
+
/** Class used to create 2D ellipse containers */
|
|
7
|
+
export class Ellipse extends Container {
|
|
8
|
+
/** Gets or sets border thickness */
|
|
9
|
+
get thickness() {
|
|
10
|
+
return this._thickness;
|
|
11
|
+
}
|
|
12
|
+
set thickness(value) {
|
|
13
|
+
if (this._thickness === value) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
this._thickness = value;
|
|
17
|
+
this._markAsDirty();
|
|
18
|
+
}
|
|
19
|
+
/** Gets or sets arcing of the ellipse (ratio of the circumference between 0 and 1) */
|
|
20
|
+
get arc() {
|
|
21
|
+
return this._arc;
|
|
22
|
+
}
|
|
23
|
+
set arc(value) {
|
|
24
|
+
if (this._arc === value) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this._arc = value;
|
|
28
|
+
this._markAsDirty();
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Creates a new Ellipse
|
|
32
|
+
* @param name defines the control name
|
|
33
|
+
*/
|
|
34
|
+
constructor(name) {
|
|
35
|
+
super(name);
|
|
36
|
+
this.name = name;
|
|
37
|
+
this._thickness = 1;
|
|
38
|
+
this._arc = 1;
|
|
39
|
+
}
|
|
40
|
+
_getTypeName() {
|
|
41
|
+
return "Ellipse";
|
|
42
|
+
}
|
|
43
|
+
_localDraw(context) {
|
|
44
|
+
context.save();
|
|
45
|
+
if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
|
|
46
|
+
context.shadowColor = this.shadowColor;
|
|
47
|
+
context.shadowBlur = this.shadowBlur;
|
|
48
|
+
context.shadowOffsetX = this.shadowOffsetX * this._host.idealRatio;
|
|
49
|
+
context.shadowOffsetY = this.shadowOffsetY * this._host.idealRatio;
|
|
50
|
+
}
|
|
51
|
+
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, this._arc, context);
|
|
52
|
+
if (this._backgroundGradient || this._background) {
|
|
53
|
+
context.fillStyle = this._getBackgroundColor(context);
|
|
54
|
+
context.fill();
|
|
55
|
+
}
|
|
56
|
+
if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
|
|
57
|
+
context.shadowBlur = 0;
|
|
58
|
+
context.shadowOffsetX = 0;
|
|
59
|
+
context.shadowOffsetY = 0;
|
|
60
|
+
}
|
|
61
|
+
if (this._thickness) {
|
|
62
|
+
if (this.color) {
|
|
63
|
+
context.strokeStyle = this.color;
|
|
64
|
+
}
|
|
65
|
+
context.lineWidth = this._thickness;
|
|
66
|
+
context.stroke();
|
|
67
|
+
}
|
|
68
|
+
context.restore();
|
|
69
|
+
}
|
|
70
|
+
_additionalProcessing(parentMeasure, context) {
|
|
71
|
+
super._additionalProcessing(parentMeasure, context);
|
|
72
|
+
this._measureForChildren.width -= 2 * this._thickness;
|
|
73
|
+
this._measureForChildren.height -= 2 * this._thickness;
|
|
74
|
+
this._measureForChildren.left += this._thickness;
|
|
75
|
+
this._measureForChildren.top += this._thickness;
|
|
76
|
+
}
|
|
77
|
+
_clipForChildren(context) {
|
|
78
|
+
Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, this._currentMeasure.width / 2, this._currentMeasure.height / 2, this._arc, context);
|
|
79
|
+
context.clip();
|
|
80
|
+
}
|
|
81
|
+
_renderHighlightSpecific(context) {
|
|
82
|
+
Control.drawEllipse(this._currentMeasure.left + this._currentMeasure.width / 2, this._currentMeasure.top + this._currentMeasure.height / 2, this._currentMeasure.width / 2 - this._highlightLineWidth / 2, this._currentMeasure.height / 2 - this._highlightLineWidth / 2, this._arc, context);
|
|
83
|
+
context.stroke();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
__decorate([
|
|
87
|
+
serialize()
|
|
88
|
+
], Ellipse.prototype, "thickness", null);
|
|
89
|
+
__decorate([
|
|
90
|
+
serialize()
|
|
91
|
+
], Ellipse.prototype, "arc", null);
|
|
92
|
+
let _Registered = false;
|
|
93
|
+
/**
|
|
94
|
+
* Registers the Ellipse class with the type store for serialization support.
|
|
95
|
+
* Safe to call multiple times; only the first call has an effect.
|
|
96
|
+
*/
|
|
97
|
+
export function RegisterEllipse() {
|
|
98
|
+
if (_Registered) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
_Registered = true;
|
|
102
|
+
RegisterClass("BABYLON.GUI.Ellipse", Ellipse);
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=ellipse.pure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ellipse.pure.js","sourceRoot":"","sources":["../../../../../dev/gui/src/2D/controls/ellipse.pure.ts"],"names":[],"mappings":"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","sourcesContent":["import { Container } from \"./container.pure\";\r\nimport { Control } from \"./control.pure\";\r\nimport { type Measure } from \"../measure\";\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/** Class used to create 2D ellipse containers */\r\nexport class Ellipse extends Container {\r\n private _thickness = 1;\r\n\r\n /** Gets or sets border thickness */\r\n @serialize()\r\n public get thickness(): number {\r\n return this._thickness;\r\n }\r\n\r\n public set thickness(value: number) {\r\n if (this._thickness === value) {\r\n return;\r\n }\r\n\r\n this._thickness = value;\r\n this._markAsDirty();\r\n }\r\n\r\n private _arc = 1;\r\n\r\n /** Gets or sets arcing of the ellipse (ratio of the circumference between 0 and 1) */\r\n @serialize()\r\n public get arc(): number {\r\n return this._arc;\r\n }\r\n\r\n public set arc(value: number) {\r\n if (this._arc === value) {\r\n return;\r\n }\r\n\r\n this._arc = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Creates a new Ellipse\r\n * @param name defines the control name\r\n */\r\n constructor(public override name?: string) {\r\n super(name);\r\n }\r\n\r\n protected override _getTypeName(): string {\r\n return \"Ellipse\";\r\n }\r\n\r\n protected override _localDraw(context: ICanvasRenderingContext): void {\r\n context.save();\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 * this._host.idealRatio;\r\n context.shadowOffsetY = this.shadowOffsetY * this._host.idealRatio;\r\n }\r\n\r\n Control.drawEllipse(\r\n this._currentMeasure.left + this._currentMeasure.width / 2,\r\n this._currentMeasure.top + this._currentMeasure.height / 2,\r\n this._currentMeasure.width / 2 - this._thickness / 2,\r\n this._currentMeasure.height / 2 - this._thickness / 2,\r\n this._arc,\r\n context\r\n );\r\n\r\n if (this._backgroundGradient || this._background) {\r\n context.fillStyle = this._getBackgroundColor(context);\r\n\r\n context.fill();\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 if (this._thickness) {\r\n if (this.color) {\r\n context.strokeStyle = this.color;\r\n }\r\n context.lineWidth = this._thickness;\r\n\r\n context.stroke();\r\n }\r\n\r\n context.restore();\r\n }\r\n\r\n protected override _additionalProcessing(parentMeasure: Measure, context: ICanvasRenderingContext): void {\r\n super._additionalProcessing(parentMeasure, context);\r\n\r\n this._measureForChildren.width -= 2 * this._thickness;\r\n this._measureForChildren.height -= 2 * this._thickness;\r\n this._measureForChildren.left += this._thickness;\r\n this._measureForChildren.top += this._thickness;\r\n }\r\n\r\n protected override _clipForChildren(context: ICanvasRenderingContext) {\r\n Control.drawEllipse(\r\n this._currentMeasure.left + this._currentMeasure.width / 2,\r\n this._currentMeasure.top + this._currentMeasure.height / 2,\r\n this._currentMeasure.width / 2,\r\n this._currentMeasure.height / 2,\r\n this._arc,\r\n context\r\n );\r\n\r\n context.clip();\r\n }\r\n\r\n public override _renderHighlightSpecific(context: ICanvasRenderingContext): void {\r\n Control.drawEllipse(\r\n this._currentMeasure.left + this._currentMeasure.width / 2,\r\n this._currentMeasure.top + this._currentMeasure.height / 2,\r\n this._currentMeasure.width / 2 - this._highlightLineWidth / 2,\r\n this._currentMeasure.height / 2 - this._highlightLineWidth / 2,\r\n this._arc,\r\n context\r\n );\r\n context.stroke();\r\n }\r\n}\r\n\r\nlet _Registered = false;\r\n/**\r\n * Registers the Ellipse class with the type store for serialization support.\r\n * Safe to call multiple times; only the first call has an effect.\r\n */\r\nexport function RegisterEllipse(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n RegisterClass(\"BABYLON.GUI.Ellipse\", Ellipse);\r\n}\r\n"]}
|
|
@@ -1,17 +1,5 @@
|
|
|
1
|
-
import { type Vector2 } from "@babylonjs/core/Maths/math.vector.js";
|
|
2
|
-
import { Button } from "./button.js";
|
|
3
|
-
import { type Control } from "./control.js";
|
|
4
|
-
import { type PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
|
|
5
|
-
import { type IFocusableControl } from "./focusableControl.js";
|
|
6
1
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
2
|
+
* Re-exports the pure implementation and applies the runtime registration side effect.
|
|
3
|
+
* Import "./focusableButton.pure" for tree-shakeable, side-effect-free usage.
|
|
9
4
|
*/
|
|
10
|
-
export
|
|
11
|
-
name?: string | undefined;
|
|
12
|
-
constructor(name?: string | undefined);
|
|
13
|
-
/**
|
|
14
|
-
* @internal
|
|
15
|
-
*/
|
|
16
|
-
_onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean;
|
|
17
|
-
}
|
|
5
|
+
export * from "./focusableButton.pure.js";
|
|
@@ -1,25 +1,8 @@
|
|
|
1
|
-
import { Button } from "./button.js";
|
|
2
|
-
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* Re-exports the pure implementation and applies the runtime registration side effect.
|
|
3
|
+
* Import "./focusableButton.pure" for tree-shakeable, side-effect-free usage.
|
|
6
4
|
*/
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
this.name = name;
|
|
11
|
-
this._unfocusedColor = this.color;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* @internal
|
|
15
|
-
*/
|
|
16
|
-
_onPointerDown(target, coordinates, pointerId, buttonIndex, pi) {
|
|
17
|
-
if (!this.isReadOnly) {
|
|
18
|
-
// Clicking on button should focus
|
|
19
|
-
this.focus();
|
|
20
|
-
}
|
|
21
|
-
return super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
RegisterClass("BABYLON.GUI.FocusableButton", FocusableButton);
|
|
5
|
+
export * from "./focusableButton.pure.js";
|
|
6
|
+
import { RegisterFocusableButton } from "./focusableButton.pure.js";
|
|
7
|
+
RegisterFocusableButton();
|
|
25
8
|
//# sourceMappingURL=focusableButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focusableButton.js","sourceRoot":"","sources":["../../../../../dev/gui/src/2D/controls/focusableButton.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"focusableButton.js","sourceRoot":"","sources":["../../../../../dev/gui/src/2D/controls/focusableButton.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,uBAAuB,EAAE,CAAC","sourcesContent":["/**\r\n * Re-exports the pure implementation and applies the runtime registration side effect.\r\n * Import \"./focusableButton.pure\" for tree-shakeable, side-effect-free usage.\r\n */\r\nexport * from \"./focusableButton.pure\";\r\n\r\nimport { RegisterFocusableButton } from \"./focusableButton.pure\";\r\nRegisterFocusableButton();\r\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type Vector2 } from "@babylonjs/core/Maths/math.vector.pure.js";
|
|
2
|
+
import { Button } from "./button.pure.js";
|
|
3
|
+
import { type Control } from "./control.pure.js";
|
|
4
|
+
import { type PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
|
|
5
|
+
import { type IFocusableControl } from "./focusableControl.js";
|
|
6
|
+
/**
|
|
7
|
+
* Class used to create a focusable button that can easily handle keyboard events
|
|
8
|
+
* @since 5.0.0
|
|
9
|
+
*/
|
|
10
|
+
export declare class FocusableButton extends Button implements IFocusableControl {
|
|
11
|
+
name?: string | undefined;
|
|
12
|
+
constructor(name?: string | undefined);
|
|
13
|
+
/**
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
_onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Registers the FocusableButton class with the type store for serialization support.
|
|
20
|
+
* Safe to call multiple times; only the first call has an effect.
|
|
21
|
+
*/
|
|
22
|
+
export declare function RegisterFocusableButton(): void;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Button } from "./button.pure.js";
|
|
2
|
+
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
3
|
+
/**
|
|
4
|
+
* Class used to create a focusable button that can easily handle keyboard events
|
|
5
|
+
* @since 5.0.0
|
|
6
|
+
*/
|
|
7
|
+
export class FocusableButton extends Button {
|
|
8
|
+
constructor(name) {
|
|
9
|
+
super(name);
|
|
10
|
+
this.name = name;
|
|
11
|
+
this._unfocusedColor = this.color;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
_onPointerDown(target, coordinates, pointerId, buttonIndex, pi) {
|
|
17
|
+
if (!this.isReadOnly) {
|
|
18
|
+
// Clicking on button should focus
|
|
19
|
+
this.focus();
|
|
20
|
+
}
|
|
21
|
+
return super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
let _Registered = false;
|
|
25
|
+
/**
|
|
26
|
+
* Registers the FocusableButton class with the type store for serialization support.
|
|
27
|
+
* Safe to call multiple times; only the first call has an effect.
|
|
28
|
+
*/
|
|
29
|
+
export function RegisterFocusableButton() {
|
|
30
|
+
if (_Registered) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
_Registered = true;
|
|
34
|
+
RegisterClass("BABYLON.GUI.FocusableButton", FocusableButton);
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=focusableButton.pure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focusableButton.pure.js","sourceRoot":"","sources":["../../../../../dev/gui/src/2D/controls/focusableButton.pure.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,MAAM;IACvC,YAA4B,IAAa;QACrC,KAAK,CAAC,IAAI,CAAC,CAAC;QADY,SAAI,GAAJ,IAAI,CAAS;QAGrC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;IACtC,CAAC;IAED;;OAEG;IACa,cAAc,CAAC,MAAe,EAAE,WAAoB,EAAE,SAAiB,EAAE,WAAmB,EAAE,EAAmB;QAC7H,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,kCAAkC;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QAED,OAAO,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;CACJ;AAED,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACnC,IAAI,WAAW,EAAE,CAAC;QACd,OAAO;IACX,CAAC;IACD,WAAW,GAAG,IAAI,CAAC;IAEnB,aAAa,CAAC,6BAA6B,EAAE,eAAe,CAAC,CAAC;AAClE,CAAC","sourcesContent":["import { type Vector2 } from \"core/Maths/math.vector.pure\";\r\n\r\nimport { Button } from \"./button.pure\";\r\nimport { type Control } from \"./control.pure\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { type PointerInfoBase } from \"core/Events/pointerEvents\";\r\nimport { type IFocusableControl } from \"./focusableControl\";\r\n\r\n/**\r\n * Class used to create a focusable button that can easily handle keyboard events\r\n * @since 5.0.0\r\n */\r\nexport class FocusableButton extends Button implements IFocusableControl {\r\n constructor(public override name?: string) {\r\n super(name);\r\n\r\n this._unfocusedColor = this.color;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean {\r\n if (!this.isReadOnly) {\r\n // Clicking on button should focus\r\n this.focus();\r\n }\r\n\r\n return super._onPointerDown(target, coordinates, pointerId, buttonIndex, pi);\r\n }\r\n}\r\n\r\nlet _Registered = false;\r\n/**\r\n * Registers the FocusableButton class with the type store for serialization support.\r\n * Safe to call multiple times; only the first call has an effect.\r\n */\r\nexport function RegisterFocusableButton(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n RegisterClass(\"BABYLON.GUI.FocusableButton\", FocusableButton);\r\n}\r\n"]}
|
|
@@ -1,45 +1,5 @@
|
|
|
1
|
-
import { type ICanvasGradient, type ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
|
|
2
|
-
import { BaseGradient } from "./BaseGradient.js";
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createLinearGradient
|
|
2
|
+
* Re-exports the pure implementation and applies the runtime registration side effect.
|
|
3
|
+
* Import "./LinearGradient.pure" for tree-shakeable, side-effect-free usage.
|
|
7
4
|
*/
|
|
8
|
-
export
|
|
9
|
-
private _x0;
|
|
10
|
-
private _y0;
|
|
11
|
-
private _x1;
|
|
12
|
-
private _y1;
|
|
13
|
-
/**
|
|
14
|
-
* Creates a new linear gradient
|
|
15
|
-
* @param x0
|
|
16
|
-
* @param y0
|
|
17
|
-
* @param x1
|
|
18
|
-
* @param y1
|
|
19
|
-
*/
|
|
20
|
-
constructor(x0?: number, y0?: number, x1?: number, y1?: number);
|
|
21
|
-
protected _createCanvasGradient(context: ICanvasRenderingContext): ICanvasGradient;
|
|
22
|
-
/** X axis coordinate of the starting point in the line */
|
|
23
|
-
get x0(): number;
|
|
24
|
-
/** X axis coordinate of the ending point in the line */
|
|
25
|
-
get x1(): number;
|
|
26
|
-
/** Y axis coordinate of the starting point in the line */
|
|
27
|
-
get y0(): number;
|
|
28
|
-
/** Y axis coordinate of the ending point in the line */
|
|
29
|
-
get y1(): number;
|
|
30
|
-
/**
|
|
31
|
-
* Class name of the gradient
|
|
32
|
-
* @returns the class name of the gradient
|
|
33
|
-
*/
|
|
34
|
-
getClassName(): string;
|
|
35
|
-
/**
|
|
36
|
-
* Serializes this gradient
|
|
37
|
-
* @param serializationObject the object to serialize to
|
|
38
|
-
*/
|
|
39
|
-
serialize(serializationObject: any): void;
|
|
40
|
-
/**
|
|
41
|
-
* Parses a gradient from a serialization object
|
|
42
|
-
* @param serializationObject the object to parse from
|
|
43
|
-
*/
|
|
44
|
-
parse(serializationObject: any): void;
|
|
45
|
-
}
|
|
5
|
+
export * from "./LinearGradient.pure.js";
|
|
@@ -1,73 +1,8 @@
|
|
|
1
|
-
import { BaseGradient } from "./BaseGradient.js";
|
|
2
|
-
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createLinearGradient
|
|
2
|
+
* Re-exports the pure implementation and applies the runtime registration side effect.
|
|
3
|
+
* Import "./LinearGradient.pure" for tree-shakeable, side-effect-free usage.
|
|
7
4
|
*/
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
* @param x0
|
|
12
|
-
* @param y0
|
|
13
|
-
* @param x1
|
|
14
|
-
* @param y1
|
|
15
|
-
*/
|
|
16
|
-
constructor(x0, y0, x1, y1) {
|
|
17
|
-
super();
|
|
18
|
-
this._x0 = x0 ?? 0;
|
|
19
|
-
this._y0 = y0 ?? 0;
|
|
20
|
-
this._x1 = x1 ?? 0;
|
|
21
|
-
this._y1 = y1 ?? 0;
|
|
22
|
-
}
|
|
23
|
-
_createCanvasGradient(context) {
|
|
24
|
-
return context.createLinearGradient(this._x0, this._y0, this._x1, this._y1);
|
|
25
|
-
}
|
|
26
|
-
/** X axis coordinate of the starting point in the line */
|
|
27
|
-
get x0() {
|
|
28
|
-
return this._x0;
|
|
29
|
-
}
|
|
30
|
-
/** X axis coordinate of the ending point in the line */
|
|
31
|
-
get x1() {
|
|
32
|
-
return this._x1;
|
|
33
|
-
}
|
|
34
|
-
/** Y axis coordinate of the starting point in the line */
|
|
35
|
-
get y0() {
|
|
36
|
-
return this._y0;
|
|
37
|
-
}
|
|
38
|
-
/** Y axis coordinate of the ending point in the line */
|
|
39
|
-
get y1() {
|
|
40
|
-
return this._y1;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Class name of the gradient
|
|
44
|
-
* @returns the class name of the gradient
|
|
45
|
-
*/
|
|
46
|
-
getClassName() {
|
|
47
|
-
return "LinearGradient";
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Serializes this gradient
|
|
51
|
-
* @param serializationObject the object to serialize to
|
|
52
|
-
*/
|
|
53
|
-
serialize(serializationObject) {
|
|
54
|
-
super.serialize(serializationObject);
|
|
55
|
-
serializationObject.x0 = this._x0;
|
|
56
|
-
serializationObject.y0 = this._y0;
|
|
57
|
-
serializationObject.x1 = this._x1;
|
|
58
|
-
serializationObject.y1 = this._y1;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Parses a gradient from a serialization object
|
|
62
|
-
* @param serializationObject the object to parse from
|
|
63
|
-
*/
|
|
64
|
-
parse(serializationObject) {
|
|
65
|
-
super.parse(serializationObject);
|
|
66
|
-
this._x0 = serializationObject.x0;
|
|
67
|
-
this._y0 = serializationObject.y0;
|
|
68
|
-
this._x1 = serializationObject.x1;
|
|
69
|
-
this._y1 = serializationObject.y1;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
RegisterClass("BABYLON.GUI.LinearGradient", LinearGradient);
|
|
5
|
+
export * from "./LinearGradient.pure.js";
|
|
6
|
+
import { RegisterLinearGradient } from "./LinearGradient.pure.js";
|
|
7
|
+
RegisterLinearGradient();
|
|
73
8
|
//# sourceMappingURL=LinearGradient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinearGradient.js","sourceRoot":"","sources":["../../../../../../dev/gui/src/2D/controls/gradient/LinearGradient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LinearGradient.js","sourceRoot":"","sources":["../../../../../../dev/gui/src/2D/controls/gradient/LinearGradient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,sBAAsB,EAAE,CAAC","sourcesContent":["/**\r\n * Re-exports the pure implementation and applies the runtime registration side effect.\r\n * Import \"./LinearGradient.pure\" for tree-shakeable, side-effect-free usage.\r\n */\r\nexport * from \"./LinearGradient.pure\";\r\n\r\nimport { RegisterLinearGradient } from \"./LinearGradient.pure\";\r\nRegisterLinearGradient();\r\n"]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { type ICanvasGradient, type ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
|
|
2
|
+
import { BaseGradient } from "./BaseGradient.js";
|
|
3
|
+
/**
|
|
4
|
+
* Gradient along a line that connects two coordinates.
|
|
5
|
+
* These coordinates are relative to the canvas' space, not to any control's space.
|
|
6
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createLinearGradient
|
|
7
|
+
*/
|
|
8
|
+
export declare class LinearGradient extends BaseGradient {
|
|
9
|
+
private _x0;
|
|
10
|
+
private _y0;
|
|
11
|
+
private _x1;
|
|
12
|
+
private _y1;
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new linear gradient
|
|
15
|
+
* @param x0
|
|
16
|
+
* @param y0
|
|
17
|
+
* @param x1
|
|
18
|
+
* @param y1
|
|
19
|
+
*/
|
|
20
|
+
constructor(x0?: number, y0?: number, x1?: number, y1?: number);
|
|
21
|
+
protected _createCanvasGradient(context: ICanvasRenderingContext): ICanvasGradient;
|
|
22
|
+
/** X axis coordinate of the starting point in the line */
|
|
23
|
+
get x0(): number;
|
|
24
|
+
/** X axis coordinate of the ending point in the line */
|
|
25
|
+
get x1(): number;
|
|
26
|
+
/** Y axis coordinate of the starting point in the line */
|
|
27
|
+
get y0(): number;
|
|
28
|
+
/** Y axis coordinate of the ending point in the line */
|
|
29
|
+
get y1(): number;
|
|
30
|
+
/**
|
|
31
|
+
* Class name of the gradient
|
|
32
|
+
* @returns the class name of the gradient
|
|
33
|
+
*/
|
|
34
|
+
getClassName(): string;
|
|
35
|
+
/**
|
|
36
|
+
* Serializes this gradient
|
|
37
|
+
* @param serializationObject the object to serialize to
|
|
38
|
+
*/
|
|
39
|
+
serialize(serializationObject: any): void;
|
|
40
|
+
/**
|
|
41
|
+
* Parses a gradient from a serialization object
|
|
42
|
+
* @param serializationObject the object to parse from
|
|
43
|
+
*/
|
|
44
|
+
parse(serializationObject: any): void;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Registers the LinearGradient class with the type store for serialization support.
|
|
48
|
+
* Safe to call multiple times; only the first call has an effect.
|
|
49
|
+
*/
|
|
50
|
+
export declare function RegisterLinearGradient(): void;
|