@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
|
@@ -1,47 +1,5 @@
|
|
|
1
|
-
import { BaseSlider } from "./baseSlider.js";
|
|
2
|
-
import { Image } from "../image.js";
|
|
3
|
-
import { type ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
|
|
4
|
-
import { type AdvancedDynamicTexture } from "../../advancedDynamicTexture.js";
|
|
5
1
|
/**
|
|
6
|
-
*
|
|
2
|
+
* Re-exports the pure implementation and applies the runtime registration side effect.
|
|
3
|
+
* Import "./imageBasedSlider.pure" for tree-shakeable, side-effect-free usage.
|
|
7
4
|
*/
|
|
8
|
-
export
|
|
9
|
-
name?: string | undefined;
|
|
10
|
-
private _backgroundImage;
|
|
11
|
-
private _thumbImage;
|
|
12
|
-
private _valueBarImage;
|
|
13
|
-
private _tempMeasure;
|
|
14
|
-
get displayThumb(): boolean;
|
|
15
|
-
set displayThumb(value: boolean);
|
|
16
|
-
/**
|
|
17
|
-
* Gets or sets the image used to render the background
|
|
18
|
-
*/
|
|
19
|
-
get backgroundImage(): Image;
|
|
20
|
-
set backgroundImage(value: Image);
|
|
21
|
-
/**
|
|
22
|
-
* Gets or sets the image used to render the value bar
|
|
23
|
-
*/
|
|
24
|
-
get valueBarImage(): Image;
|
|
25
|
-
set valueBarImage(value: Image);
|
|
26
|
-
/**
|
|
27
|
-
* Gets or sets the image used to render the thumb
|
|
28
|
-
*/
|
|
29
|
-
get thumbImage(): Image;
|
|
30
|
-
set thumbImage(value: Image);
|
|
31
|
-
/**
|
|
32
|
-
* Creates a new ImageBasedSlider
|
|
33
|
-
* @param name defines the control name
|
|
34
|
-
*/
|
|
35
|
-
constructor(name?: string | undefined);
|
|
36
|
-
protected _getTypeName(): string;
|
|
37
|
-
_draw(context: ICanvasRenderingContext): void;
|
|
38
|
-
/**
|
|
39
|
-
* Serializes the current control
|
|
40
|
-
* @param serializationObject defined the JSON serialized object
|
|
41
|
-
*/
|
|
42
|
-
serialize(serializationObject: any): void;
|
|
43
|
-
/**
|
|
44
|
-
* @internal
|
|
45
|
-
*/
|
|
46
|
-
_parseFromContent(serializedObject: any, host: AdvancedDynamicTexture): void;
|
|
47
|
-
}
|
|
5
|
+
export * from "./imageBasedSlider.pure.js";
|
|
@@ -1,168 +1,8 @@
|
|
|
1
|
-
import { __decorate } from "@babylonjs/core/tslib.es6.js";
|
|
2
|
-
import { BaseSlider } from "./baseSlider.js";
|
|
3
|
-
import { Measure } from "../../measure.js";
|
|
4
|
-
import { Image } from "../image.js";
|
|
5
|
-
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
6
|
-
import { serialize } from "@babylonjs/core/Misc/decorators.js";
|
|
7
1
|
/**
|
|
8
|
-
*
|
|
2
|
+
* Re-exports the pure implementation and applies the runtime registration side effect.
|
|
3
|
+
* Import "./imageBasedSlider.pure" for tree-shakeable, side-effect-free usage.
|
|
9
4
|
*/
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
set displayThumb(value) {
|
|
15
|
-
if (this._displayThumb === value) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
this._displayThumb = value;
|
|
19
|
-
this._markAsDirty();
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Gets or sets the image used to render the background
|
|
23
|
-
*/
|
|
24
|
-
get backgroundImage() {
|
|
25
|
-
return this._backgroundImage;
|
|
26
|
-
}
|
|
27
|
-
set backgroundImage(value) {
|
|
28
|
-
if (this._backgroundImage === value) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
this._backgroundImage = value;
|
|
32
|
-
if (value && !value.isLoaded) {
|
|
33
|
-
value.onImageLoadedObservable.addOnce(() => this._markAsDirty());
|
|
34
|
-
}
|
|
35
|
-
this._markAsDirty();
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Gets or sets the image used to render the value bar
|
|
39
|
-
*/
|
|
40
|
-
get valueBarImage() {
|
|
41
|
-
return this._valueBarImage;
|
|
42
|
-
}
|
|
43
|
-
set valueBarImage(value) {
|
|
44
|
-
if (this._valueBarImage === value) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
this._valueBarImage = value;
|
|
48
|
-
if (value && !value.isLoaded) {
|
|
49
|
-
value.onImageLoadedObservable.addOnce(() => this._markAsDirty());
|
|
50
|
-
}
|
|
51
|
-
this._markAsDirty();
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Gets or sets the image used to render the thumb
|
|
55
|
-
*/
|
|
56
|
-
get thumbImage() {
|
|
57
|
-
return this._thumbImage;
|
|
58
|
-
}
|
|
59
|
-
set thumbImage(value) {
|
|
60
|
-
if (this._thumbImage === value) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
this._thumbImage = value;
|
|
64
|
-
if (value && !value.isLoaded) {
|
|
65
|
-
value.onImageLoadedObservable.addOnce(() => this._markAsDirty());
|
|
66
|
-
}
|
|
67
|
-
this._markAsDirty();
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Creates a new ImageBasedSlider
|
|
71
|
-
* @param name defines the control name
|
|
72
|
-
*/
|
|
73
|
-
constructor(name) {
|
|
74
|
-
super(name);
|
|
75
|
-
this.name = name;
|
|
76
|
-
this._tempMeasure = new Measure(0, 0, 0, 0);
|
|
77
|
-
}
|
|
78
|
-
_getTypeName() {
|
|
79
|
-
return "ImageBasedSlider";
|
|
80
|
-
}
|
|
81
|
-
_draw(context) {
|
|
82
|
-
context.save();
|
|
83
|
-
this._applyStates(context);
|
|
84
|
-
this._prepareRenderingData("rectangle");
|
|
85
|
-
const thumbPosition = this._getThumbPosition();
|
|
86
|
-
const left = this._renderLeft;
|
|
87
|
-
const top = this._renderTop;
|
|
88
|
-
const width = this._renderWidth;
|
|
89
|
-
const height = this._renderHeight;
|
|
90
|
-
// Background
|
|
91
|
-
if (this._backgroundImage) {
|
|
92
|
-
this._tempMeasure.copyFromFloats(left, top, width, height);
|
|
93
|
-
if (this.isThumbClamped && this.displayThumb) {
|
|
94
|
-
if (this.isVertical) {
|
|
95
|
-
this._tempMeasure.height += this._effectiveThumbThickness;
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
this._tempMeasure.width += this._effectiveThumbThickness;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
this._backgroundImage._currentMeasure.copyFrom(this._tempMeasure);
|
|
102
|
-
this._backgroundImage._draw(context);
|
|
103
|
-
}
|
|
104
|
-
// Bar
|
|
105
|
-
if (this._valueBarImage) {
|
|
106
|
-
if (this.isVertical) {
|
|
107
|
-
if (this.isThumbClamped && this.displayThumb) {
|
|
108
|
-
this._tempMeasure.copyFromFloats(left, top + thumbPosition, width, height - thumbPosition + this._effectiveThumbThickness);
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
this._tempMeasure.copyFromFloats(left, top + thumbPosition, width, height - thumbPosition);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
if (this.isThumbClamped && this.displayThumb) {
|
|
116
|
-
this._tempMeasure.copyFromFloats(left, top, thumbPosition + this._effectiveThumbThickness / 2, height);
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
this._tempMeasure.copyFromFloats(left, top, thumbPosition, height);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
this._valueBarImage._currentMeasure.copyFrom(this._tempMeasure);
|
|
123
|
-
this._valueBarImage._draw(context);
|
|
124
|
-
}
|
|
125
|
-
// Thumb
|
|
126
|
-
if (this.displayThumb) {
|
|
127
|
-
if (this.isVertical) {
|
|
128
|
-
this._tempMeasure.copyFromFloats(left - this._effectiveBarOffset, this._currentMeasure.top + thumbPosition, this._currentMeasure.width, this._effectiveThumbThickness);
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
this._tempMeasure.copyFromFloats(this._currentMeasure.left + thumbPosition, this._currentMeasure.top, this._effectiveThumbThickness, this._currentMeasure.height);
|
|
132
|
-
}
|
|
133
|
-
this._thumbImage._currentMeasure.copyFrom(this._tempMeasure);
|
|
134
|
-
this._thumbImage._draw(context);
|
|
135
|
-
}
|
|
136
|
-
context.restore();
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Serializes the current control
|
|
140
|
-
* @param serializationObject defined the JSON serialized object
|
|
141
|
-
*/
|
|
142
|
-
serialize(serializationObject) {
|
|
143
|
-
super.serialize(serializationObject);
|
|
144
|
-
const backgroundImage = {};
|
|
145
|
-
const thumbImage = {};
|
|
146
|
-
const valueBarImage = {};
|
|
147
|
-
this.backgroundImage.serialize(backgroundImage);
|
|
148
|
-
this.thumbImage.serialize(thumbImage);
|
|
149
|
-
this.valueBarImage.serialize(valueBarImage);
|
|
150
|
-
serializationObject.backgroundImage = backgroundImage;
|
|
151
|
-
serializationObject.thumbImage = thumbImage;
|
|
152
|
-
serializationObject.valueBarImage = valueBarImage;
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* @internal
|
|
156
|
-
*/
|
|
157
|
-
_parseFromContent(serializedObject, host) {
|
|
158
|
-
super._parseFromContent(serializedObject, host);
|
|
159
|
-
this.backgroundImage = Image.Parse(serializedObject.backgroundImage, host);
|
|
160
|
-
this.thumbImage = Image.Parse(serializedObject.thumbImage, host);
|
|
161
|
-
this.valueBarImage = Image.Parse(serializedObject.valueBarImage, host);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
__decorate([
|
|
165
|
-
serialize()
|
|
166
|
-
], ImageBasedSlider.prototype, "displayThumb", null);
|
|
167
|
-
RegisterClass("BABYLON.GUI.ImageBasedSlider", ImageBasedSlider);
|
|
5
|
+
export * from "./imageBasedSlider.pure.js";
|
|
6
|
+
import { RegisterImageBasedSlider } from "./imageBasedSlider.pure.js";
|
|
7
|
+
RegisterImageBasedSlider();
|
|
168
8
|
//# sourceMappingURL=imageBasedSlider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageBasedSlider.js","sourceRoot":"","sources":["../../../../../../dev/gui/src/2D/controls/sliders/imageBasedSlider.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseSlider } from \"./baseSlider\";\r\nimport { Measure } from \"../../measure\";\r\nimport { Image } from \"../image\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { serialize } from \"core/Misc/decorators\";\r\nimport { type ICanvasRenderingContext } from \"core/Engines/ICanvas\";\r\nimport { type AdvancedDynamicTexture } from \"../../advancedDynamicTexture\";\r\n\r\n/**\r\n * Class used to create slider controls based on images\r\n */\r\nexport class ImageBasedSlider extends BaseSlider {\r\n private _backgroundImage: Image;\r\n private _thumbImage: Image;\r\n private _valueBarImage: Image;\r\n private _tempMeasure = new Measure(0, 0, 0, 0);\r\n\r\n @serialize()\r\n public override get displayThumb(): boolean {\r\n return this._displayThumb && this.thumbImage != null;\r\n }\r\n\r\n public override set displayThumb(value: boolean) {\r\n if (this._displayThumb === value) {\r\n return;\r\n }\r\n\r\n this._displayThumb = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Gets or sets the image used to render the background\r\n */\r\n public get backgroundImage(): Image {\r\n return this._backgroundImage;\r\n }\r\n\r\n public set backgroundImage(value: Image) {\r\n if (this._backgroundImage === value) {\r\n return;\r\n }\r\n\r\n this._backgroundImage = value;\r\n\r\n if (value && !value.isLoaded) {\r\n value.onImageLoadedObservable.addOnce(() => this._markAsDirty());\r\n }\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Gets or sets the image used to render the value bar\r\n */\r\n public get valueBarImage(): Image {\r\n return this._valueBarImage;\r\n }\r\n\r\n public set valueBarImage(value: Image) {\r\n if (this._valueBarImage === value) {\r\n return;\r\n }\r\n\r\n this._valueBarImage = value;\r\n\r\n if (value && !value.isLoaded) {\r\n value.onImageLoadedObservable.addOnce(() => this._markAsDirty());\r\n }\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Gets or sets the image used to render the thumb\r\n */\r\n public get thumbImage(): Image {\r\n return this._thumbImage;\r\n }\r\n\r\n public set thumbImage(value: Image) {\r\n if (this._thumbImage === value) {\r\n return;\r\n }\r\n\r\n this._thumbImage = value;\r\n\r\n if (value && !value.isLoaded) {\r\n value.onImageLoadedObservable.addOnce(() => this._markAsDirty());\r\n }\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Creates a new ImageBasedSlider\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 \"ImageBasedSlider\";\r\n }\r\n\r\n public override _draw(context: ICanvasRenderingContext): void {\r\n context.save();\r\n\r\n this._applyStates(context);\r\n\r\n this._prepareRenderingData(\"rectangle\");\r\n const thumbPosition = this._getThumbPosition();\r\n const left = this._renderLeft;\r\n const top = this._renderTop;\r\n const width = this._renderWidth;\r\n const height = this._renderHeight;\r\n\r\n // Background\r\n if (this._backgroundImage) {\r\n this._tempMeasure.copyFromFloats(left, top, width, height);\r\n if (this.isThumbClamped && this.displayThumb) {\r\n if (this.isVertical) {\r\n this._tempMeasure.height += this._effectiveThumbThickness;\r\n } else {\r\n this._tempMeasure.width += this._effectiveThumbThickness;\r\n }\r\n }\r\n this._backgroundImage._currentMeasure.copyFrom(this._tempMeasure);\r\n this._backgroundImage._draw(context);\r\n }\r\n\r\n // Bar\r\n if (this._valueBarImage) {\r\n if (this.isVertical) {\r\n if (this.isThumbClamped && this.displayThumb) {\r\n this._tempMeasure.copyFromFloats(left, top + thumbPosition, width, height - thumbPosition + this._effectiveThumbThickness);\r\n } else {\r\n this._tempMeasure.copyFromFloats(left, top + thumbPosition, width, height - thumbPosition);\r\n }\r\n } else {\r\n if (this.isThumbClamped && this.displayThumb) {\r\n this._tempMeasure.copyFromFloats(left, top, thumbPosition + this._effectiveThumbThickness / 2, height);\r\n } else {\r\n this._tempMeasure.copyFromFloats(left, top, thumbPosition, height);\r\n }\r\n }\r\n this._valueBarImage._currentMeasure.copyFrom(this._tempMeasure);\r\n this._valueBarImage._draw(context);\r\n }\r\n\r\n // Thumb\r\n if (this.displayThumb) {\r\n if (this.isVertical) {\r\n this._tempMeasure.copyFromFloats(\r\n left - this._effectiveBarOffset,\r\n this._currentMeasure.top + thumbPosition,\r\n this._currentMeasure.width,\r\n this._effectiveThumbThickness\r\n );\r\n } else {\r\n this._tempMeasure.copyFromFloats(this._currentMeasure.left + thumbPosition, this._currentMeasure.top, this._effectiveThumbThickness, this._currentMeasure.height);\r\n }\r\n\r\n this._thumbImage._currentMeasure.copyFrom(this._tempMeasure);\r\n this._thumbImage._draw(context);\r\n }\r\n\r\n context.restore();\r\n }\r\n\r\n /**\r\n * Serializes the current control\r\n * @param serializationObject defined the JSON serialized object\r\n */\r\n public override serialize(serializationObject: any) {\r\n super.serialize(serializationObject);\r\n const backgroundImage = {};\r\n const thumbImage = {};\r\n const valueBarImage = {};\r\n this.backgroundImage.serialize(backgroundImage);\r\n this.thumbImage.serialize(thumbImage);\r\n this.valueBarImage.serialize(valueBarImage);\r\n serializationObject.backgroundImage = backgroundImage;\r\n serializationObject.thumbImage = thumbImage;\r\n serializationObject.valueBarImage = valueBarImage;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _parseFromContent(serializedObject: any, host: AdvancedDynamicTexture) {\r\n super._parseFromContent(serializedObject, host);\r\n this.backgroundImage = Image.Parse(serializedObject.backgroundImage, host) as Image;\r\n this.thumbImage = Image.Parse(serializedObject.thumbImage, host) as Image;\r\n this.valueBarImage = Image.Parse(serializedObject.valueBarImage, host) as Image;\r\n }\r\n}\r\nRegisterClass(\"BABYLON.GUI.ImageBasedSlider\", ImageBasedSlider);\r\n"]}
|
|
1
|
+
{"version":3,"file":"imageBasedSlider.js","sourceRoot":"","sources":["../../../../../../dev/gui/src/2D/controls/sliders/imageBasedSlider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,yBAAyB,CAAC;AAExC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,wBAAwB,EAAE,CAAC","sourcesContent":["/**\r\n * Re-exports the pure implementation and applies the runtime registration side effect.\r\n * Import \"./imageBasedSlider.pure\" for tree-shakeable, side-effect-free usage.\r\n */\r\nexport * from \"./imageBasedSlider.pure\";\r\n\r\nimport { RegisterImageBasedSlider } from \"./imageBasedSlider.pure\";\r\nRegisterImageBasedSlider();\r\n"]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { BaseSlider } from "./baseSlider.js";
|
|
2
|
+
import { Image } from "../image.pure.js";
|
|
3
|
+
import { type ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
|
|
4
|
+
import { type AdvancedDynamicTexture } from "../../advancedDynamicTexture.js";
|
|
5
|
+
/**
|
|
6
|
+
* Class used to create slider controls based on images
|
|
7
|
+
*/
|
|
8
|
+
export declare class ImageBasedSlider extends BaseSlider {
|
|
9
|
+
name?: string | undefined;
|
|
10
|
+
private _backgroundImage;
|
|
11
|
+
private _thumbImage;
|
|
12
|
+
private _valueBarImage;
|
|
13
|
+
private _tempMeasure;
|
|
14
|
+
get displayThumb(): boolean;
|
|
15
|
+
set displayThumb(value: boolean);
|
|
16
|
+
/**
|
|
17
|
+
* Gets or sets the image used to render the background
|
|
18
|
+
*/
|
|
19
|
+
get backgroundImage(): Image;
|
|
20
|
+
set backgroundImage(value: Image);
|
|
21
|
+
/**
|
|
22
|
+
* Gets or sets the image used to render the value bar
|
|
23
|
+
*/
|
|
24
|
+
get valueBarImage(): Image;
|
|
25
|
+
set valueBarImage(value: Image);
|
|
26
|
+
/**
|
|
27
|
+
* Gets or sets the image used to render the thumb
|
|
28
|
+
*/
|
|
29
|
+
get thumbImage(): Image;
|
|
30
|
+
set thumbImage(value: Image);
|
|
31
|
+
/**
|
|
32
|
+
* Creates a new ImageBasedSlider
|
|
33
|
+
* @param name defines the control name
|
|
34
|
+
*/
|
|
35
|
+
constructor(name?: string | undefined);
|
|
36
|
+
protected _getTypeName(): string;
|
|
37
|
+
_draw(context: ICanvasRenderingContext): void;
|
|
38
|
+
/**
|
|
39
|
+
* Serializes the current control
|
|
40
|
+
* @param serializationObject defined the JSON serialized object
|
|
41
|
+
*/
|
|
42
|
+
serialize(serializationObject: any): void;
|
|
43
|
+
/**
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
_parseFromContent(serializedObject: any, host: AdvancedDynamicTexture): void;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Registers the ImageBasedSlider class with the type store for serialization support.
|
|
50
|
+
* Safe to call multiple times; only the first call has an effect.
|
|
51
|
+
*/
|
|
52
|
+
export declare function RegisterImageBasedSlider(): void;
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { __decorate } from "@babylonjs/core/tslib.es6.js";
|
|
2
|
+
import { BaseSlider } from "./baseSlider.js";
|
|
3
|
+
import { Measure } from "../../measure.js";
|
|
4
|
+
import { Image } from "../image.pure.js";
|
|
5
|
+
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
6
|
+
import { serialize } from "@babylonjs/core/Misc/decorators.js";
|
|
7
|
+
/**
|
|
8
|
+
* Class used to create slider controls based on images
|
|
9
|
+
*/
|
|
10
|
+
export class ImageBasedSlider extends BaseSlider {
|
|
11
|
+
get displayThumb() {
|
|
12
|
+
return this._displayThumb && this.thumbImage != null;
|
|
13
|
+
}
|
|
14
|
+
set displayThumb(value) {
|
|
15
|
+
if (this._displayThumb === value) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
this._displayThumb = value;
|
|
19
|
+
this._markAsDirty();
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Gets or sets the image used to render the background
|
|
23
|
+
*/
|
|
24
|
+
get backgroundImage() {
|
|
25
|
+
return this._backgroundImage;
|
|
26
|
+
}
|
|
27
|
+
set backgroundImage(value) {
|
|
28
|
+
if (this._backgroundImage === value) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
this._backgroundImage = value;
|
|
32
|
+
if (value && !value.isLoaded) {
|
|
33
|
+
value.onImageLoadedObservable.addOnce(() => this._markAsDirty());
|
|
34
|
+
}
|
|
35
|
+
this._markAsDirty();
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Gets or sets the image used to render the value bar
|
|
39
|
+
*/
|
|
40
|
+
get valueBarImage() {
|
|
41
|
+
return this._valueBarImage;
|
|
42
|
+
}
|
|
43
|
+
set valueBarImage(value) {
|
|
44
|
+
if (this._valueBarImage === value) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
this._valueBarImage = value;
|
|
48
|
+
if (value && !value.isLoaded) {
|
|
49
|
+
value.onImageLoadedObservable.addOnce(() => this._markAsDirty());
|
|
50
|
+
}
|
|
51
|
+
this._markAsDirty();
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Gets or sets the image used to render the thumb
|
|
55
|
+
*/
|
|
56
|
+
get thumbImage() {
|
|
57
|
+
return this._thumbImage;
|
|
58
|
+
}
|
|
59
|
+
set thumbImage(value) {
|
|
60
|
+
if (this._thumbImage === value) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
this._thumbImage = value;
|
|
64
|
+
if (value && !value.isLoaded) {
|
|
65
|
+
value.onImageLoadedObservable.addOnce(() => this._markAsDirty());
|
|
66
|
+
}
|
|
67
|
+
this._markAsDirty();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Creates a new ImageBasedSlider
|
|
71
|
+
* @param name defines the control name
|
|
72
|
+
*/
|
|
73
|
+
constructor(name) {
|
|
74
|
+
super(name);
|
|
75
|
+
this.name = name;
|
|
76
|
+
this._tempMeasure = new Measure(0, 0, 0, 0);
|
|
77
|
+
}
|
|
78
|
+
_getTypeName() {
|
|
79
|
+
return "ImageBasedSlider";
|
|
80
|
+
}
|
|
81
|
+
_draw(context) {
|
|
82
|
+
context.save();
|
|
83
|
+
this._applyStates(context);
|
|
84
|
+
this._prepareRenderingData("rectangle");
|
|
85
|
+
const thumbPosition = this._getThumbPosition();
|
|
86
|
+
const left = this._renderLeft;
|
|
87
|
+
const top = this._renderTop;
|
|
88
|
+
const width = this._renderWidth;
|
|
89
|
+
const height = this._renderHeight;
|
|
90
|
+
// Background
|
|
91
|
+
if (this._backgroundImage) {
|
|
92
|
+
this._tempMeasure.copyFromFloats(left, top, width, height);
|
|
93
|
+
if (this.isThumbClamped && this.displayThumb) {
|
|
94
|
+
if (this.isVertical) {
|
|
95
|
+
this._tempMeasure.height += this._effectiveThumbThickness;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
this._tempMeasure.width += this._effectiveThumbThickness;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
this._backgroundImage._currentMeasure.copyFrom(this._tempMeasure);
|
|
102
|
+
this._backgroundImage._draw(context);
|
|
103
|
+
}
|
|
104
|
+
// Bar
|
|
105
|
+
if (this._valueBarImage) {
|
|
106
|
+
if (this.isVertical) {
|
|
107
|
+
if (this.isThumbClamped && this.displayThumb) {
|
|
108
|
+
this._tempMeasure.copyFromFloats(left, top + thumbPosition, width, height - thumbPosition + this._effectiveThumbThickness);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
this._tempMeasure.copyFromFloats(left, top + thumbPosition, width, height - thumbPosition);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
if (this.isThumbClamped && this.displayThumb) {
|
|
116
|
+
this._tempMeasure.copyFromFloats(left, top, thumbPosition + this._effectiveThumbThickness / 2, height);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
this._tempMeasure.copyFromFloats(left, top, thumbPosition, height);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
this._valueBarImage._currentMeasure.copyFrom(this._tempMeasure);
|
|
123
|
+
this._valueBarImage._draw(context);
|
|
124
|
+
}
|
|
125
|
+
// Thumb
|
|
126
|
+
if (this.displayThumb) {
|
|
127
|
+
if (this.isVertical) {
|
|
128
|
+
this._tempMeasure.copyFromFloats(left - this._effectiveBarOffset, this._currentMeasure.top + thumbPosition, this._currentMeasure.width, this._effectiveThumbThickness);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
this._tempMeasure.copyFromFloats(this._currentMeasure.left + thumbPosition, this._currentMeasure.top, this._effectiveThumbThickness, this._currentMeasure.height);
|
|
132
|
+
}
|
|
133
|
+
this._thumbImage._currentMeasure.copyFrom(this._tempMeasure);
|
|
134
|
+
this._thumbImage._draw(context);
|
|
135
|
+
}
|
|
136
|
+
context.restore();
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Serializes the current control
|
|
140
|
+
* @param serializationObject defined the JSON serialized object
|
|
141
|
+
*/
|
|
142
|
+
serialize(serializationObject) {
|
|
143
|
+
super.serialize(serializationObject);
|
|
144
|
+
const backgroundImage = {};
|
|
145
|
+
const thumbImage = {};
|
|
146
|
+
const valueBarImage = {};
|
|
147
|
+
this.backgroundImage.serialize(backgroundImage);
|
|
148
|
+
this.thumbImage.serialize(thumbImage);
|
|
149
|
+
this.valueBarImage.serialize(valueBarImage);
|
|
150
|
+
serializationObject.backgroundImage = backgroundImage;
|
|
151
|
+
serializationObject.thumbImage = thumbImage;
|
|
152
|
+
serializationObject.valueBarImage = valueBarImage;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* @internal
|
|
156
|
+
*/
|
|
157
|
+
_parseFromContent(serializedObject, host) {
|
|
158
|
+
super._parseFromContent(serializedObject, host);
|
|
159
|
+
this.backgroundImage = Image.Parse(serializedObject.backgroundImage, host);
|
|
160
|
+
this.thumbImage = Image.Parse(serializedObject.thumbImage, host);
|
|
161
|
+
this.valueBarImage = Image.Parse(serializedObject.valueBarImage, host);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
__decorate([
|
|
165
|
+
serialize()
|
|
166
|
+
], ImageBasedSlider.prototype, "displayThumb", null);
|
|
167
|
+
let _Registered = false;
|
|
168
|
+
/**
|
|
169
|
+
* Registers the ImageBasedSlider class with the type store for serialization support.
|
|
170
|
+
* Safe to call multiple times; only the first call has an effect.
|
|
171
|
+
*/
|
|
172
|
+
export function RegisterImageBasedSlider() {
|
|
173
|
+
if (_Registered) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
_Registered = true;
|
|
177
|
+
RegisterClass("BABYLON.GUI.ImageBasedSlider", ImageBasedSlider);
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=imageBasedSlider.pure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageBasedSlider.pure.js","sourceRoot":"","sources":["../../../../../../dev/gui/src/2D/controls/sliders/imageBasedSlider.pure.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseSlider } from \"./baseSlider\";\r\nimport { Measure } from \"../../measure\";\r\nimport { Image } from \"../image.pure\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { serialize } from \"core/Misc/decorators\";\r\nimport { type ICanvasRenderingContext } from \"core/Engines/ICanvas\";\r\nimport { type AdvancedDynamicTexture } from \"../../advancedDynamicTexture\";\r\n\r\n/**\r\n * Class used to create slider controls based on images\r\n */\r\nexport class ImageBasedSlider extends BaseSlider {\r\n private _backgroundImage: Image;\r\n private _thumbImage: Image;\r\n private _valueBarImage: Image;\r\n private _tempMeasure = new Measure(0, 0, 0, 0);\r\n\r\n @serialize()\r\n public override get displayThumb(): boolean {\r\n return this._displayThumb && this.thumbImage != null;\r\n }\r\n\r\n public override set displayThumb(value: boolean) {\r\n if (this._displayThumb === value) {\r\n return;\r\n }\r\n\r\n this._displayThumb = value;\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Gets or sets the image used to render the background\r\n */\r\n public get backgroundImage(): Image {\r\n return this._backgroundImage;\r\n }\r\n\r\n public set backgroundImage(value: Image) {\r\n if (this._backgroundImage === value) {\r\n return;\r\n }\r\n\r\n this._backgroundImage = value;\r\n\r\n if (value && !value.isLoaded) {\r\n value.onImageLoadedObservable.addOnce(() => this._markAsDirty());\r\n }\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Gets or sets the image used to render the value bar\r\n */\r\n public get valueBarImage(): Image {\r\n return this._valueBarImage;\r\n }\r\n\r\n public set valueBarImage(value: Image) {\r\n if (this._valueBarImage === value) {\r\n return;\r\n }\r\n\r\n this._valueBarImage = value;\r\n\r\n if (value && !value.isLoaded) {\r\n value.onImageLoadedObservable.addOnce(() => this._markAsDirty());\r\n }\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Gets or sets the image used to render the thumb\r\n */\r\n public get thumbImage(): Image {\r\n return this._thumbImage;\r\n }\r\n\r\n public set thumbImage(value: Image) {\r\n if (this._thumbImage === value) {\r\n return;\r\n }\r\n\r\n this._thumbImage = value;\r\n\r\n if (value && !value.isLoaded) {\r\n value.onImageLoadedObservable.addOnce(() => this._markAsDirty());\r\n }\r\n\r\n this._markAsDirty();\r\n }\r\n\r\n /**\r\n * Creates a new ImageBasedSlider\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 \"ImageBasedSlider\";\r\n }\r\n\r\n public override _draw(context: ICanvasRenderingContext): void {\r\n context.save();\r\n\r\n this._applyStates(context);\r\n\r\n this._prepareRenderingData(\"rectangle\");\r\n const thumbPosition = this._getThumbPosition();\r\n const left = this._renderLeft;\r\n const top = this._renderTop;\r\n const width = this._renderWidth;\r\n const height = this._renderHeight;\r\n\r\n // Background\r\n if (this._backgroundImage) {\r\n this._tempMeasure.copyFromFloats(left, top, width, height);\r\n if (this.isThumbClamped && this.displayThumb) {\r\n if (this.isVertical) {\r\n this._tempMeasure.height += this._effectiveThumbThickness;\r\n } else {\r\n this._tempMeasure.width += this._effectiveThumbThickness;\r\n }\r\n }\r\n this._backgroundImage._currentMeasure.copyFrom(this._tempMeasure);\r\n this._backgroundImage._draw(context);\r\n }\r\n\r\n // Bar\r\n if (this._valueBarImage) {\r\n if (this.isVertical) {\r\n if (this.isThumbClamped && this.displayThumb) {\r\n this._tempMeasure.copyFromFloats(left, top + thumbPosition, width, height - thumbPosition + this._effectiveThumbThickness);\r\n } else {\r\n this._tempMeasure.copyFromFloats(left, top + thumbPosition, width, height - thumbPosition);\r\n }\r\n } else {\r\n if (this.isThumbClamped && this.displayThumb) {\r\n this._tempMeasure.copyFromFloats(left, top, thumbPosition + this._effectiveThumbThickness / 2, height);\r\n } else {\r\n this._tempMeasure.copyFromFloats(left, top, thumbPosition, height);\r\n }\r\n }\r\n this._valueBarImage._currentMeasure.copyFrom(this._tempMeasure);\r\n this._valueBarImage._draw(context);\r\n }\r\n\r\n // Thumb\r\n if (this.displayThumb) {\r\n if (this.isVertical) {\r\n this._tempMeasure.copyFromFloats(\r\n left - this._effectiveBarOffset,\r\n this._currentMeasure.top + thumbPosition,\r\n this._currentMeasure.width,\r\n this._effectiveThumbThickness\r\n );\r\n } else {\r\n this._tempMeasure.copyFromFloats(this._currentMeasure.left + thumbPosition, this._currentMeasure.top, this._effectiveThumbThickness, this._currentMeasure.height);\r\n }\r\n\r\n this._thumbImage._currentMeasure.copyFrom(this._tempMeasure);\r\n this._thumbImage._draw(context);\r\n }\r\n\r\n context.restore();\r\n }\r\n\r\n /**\r\n * Serializes the current control\r\n * @param serializationObject defined the JSON serialized object\r\n */\r\n public override serialize(serializationObject: any) {\r\n super.serialize(serializationObject);\r\n const backgroundImage = {};\r\n const thumbImage = {};\r\n const valueBarImage = {};\r\n this.backgroundImage.serialize(backgroundImage);\r\n this.thumbImage.serialize(thumbImage);\r\n this.valueBarImage.serialize(valueBarImage);\r\n serializationObject.backgroundImage = backgroundImage;\r\n serializationObject.thumbImage = thumbImage;\r\n serializationObject.valueBarImage = valueBarImage;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _parseFromContent(serializedObject: any, host: AdvancedDynamicTexture) {\r\n super._parseFromContent(serializedObject, host);\r\n this.backgroundImage = Image.Parse(serializedObject.backgroundImage, host) as Image;\r\n this.thumbImage = Image.Parse(serializedObject.thumbImage, host) as Image;\r\n this.valueBarImage = Image.Parse(serializedObject.valueBarImage, host) as Image;\r\n }\r\n}\r\n\r\nlet _Registered = false;\r\n/**\r\n * Registers the ImageBasedSlider 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 RegisterImageBasedSlider(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n RegisterClass(\"BABYLON.GUI.ImageBasedSlider\", ImageBasedSlider);\r\n}\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pure.js","sourceRoot":"","sources":["../../../../../../dev/gui/src/2D/controls/sliders/pure.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC","sourcesContent":["/** Pure barrel — re-exports only side-effect-free modules */\nexport * from \"./imageBasedSlider.pure\";\nexport * from \"./scrollBar.pure\";\nexport * from \"./slider.pure\";\n"]}
|
|
@@ -1,50 +1,5 @@
|
|
|
1
|
-
import { type Vector2 } from "@babylonjs/core/Maths/math.vector.js";
|
|
2
|
-
import { BaseSlider } from "./baseSlider.js";
|
|
3
|
-
import { type Control } from "../control.js";
|
|
4
|
-
import { type PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
|
|
5
|
-
import { type ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas.js";
|
|
6
|
-
import { type Nullable } from "@babylonjs/core/types.js";
|
|
7
|
-
import { type BaseGradient } from "../gradient/BaseGradient.js";
|
|
8
|
-
import { type AdvancedDynamicTexture } from "../../advancedDynamicTexture.js";
|
|
9
1
|
/**
|
|
10
|
-
*
|
|
2
|
+
* Re-exports the pure implementation and applies the runtime registration side effect.
|
|
3
|
+
* Import "./scrollBar.pure" for tree-shakeable, side-effect-free usage.
|
|
11
4
|
*/
|
|
12
|
-
export
|
|
13
|
-
name?: string | undefined;
|
|
14
|
-
private _background;
|
|
15
|
-
private _borderColor;
|
|
16
|
-
private _tempMeasure;
|
|
17
|
-
private _invertScrollDirection;
|
|
18
|
-
private _backgroundGradient;
|
|
19
|
-
/** Gets or sets border color */
|
|
20
|
-
get borderColor(): string;
|
|
21
|
-
set borderColor(value: string);
|
|
22
|
-
/** Gets or sets background color */
|
|
23
|
-
get background(): string;
|
|
24
|
-
set background(value: string);
|
|
25
|
-
/** Gets or sets background gradient. Takes precedence over gradient. */
|
|
26
|
-
get backgroundGradient(): Nullable<BaseGradient>;
|
|
27
|
-
set backgroundGradient(value: Nullable<BaseGradient>);
|
|
28
|
-
/** Inverts the scrolling direction (default: false) */
|
|
29
|
-
get invertScrollDirection(): boolean;
|
|
30
|
-
set invertScrollDirection(invert: boolean);
|
|
31
|
-
/**
|
|
32
|
-
* Creates a new Slider
|
|
33
|
-
* @param name defines the control name
|
|
34
|
-
*/
|
|
35
|
-
constructor(name?: string | undefined);
|
|
36
|
-
protected _getTypeName(): string;
|
|
37
|
-
protected _getThumbThickness(): number;
|
|
38
|
-
private _getBackgroundColor;
|
|
39
|
-
_draw(context: ICanvasRenderingContext): void;
|
|
40
|
-
private _first;
|
|
41
|
-
private _originX;
|
|
42
|
-
private _originY;
|
|
43
|
-
/**
|
|
44
|
-
* @internal
|
|
45
|
-
*/
|
|
46
|
-
protected _updateValueFromPointer(x: number, y: number): void;
|
|
47
|
-
_onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean;
|
|
48
|
-
serialize(serializationObject: any): void;
|
|
49
|
-
_parseFromContent(serializationObject: any, host: AdvancedDynamicTexture): void;
|
|
50
|
-
}
|
|
5
|
+
export * from "./scrollBar.pure.js";
|