@babylonjs/gui 5.45.1 → 5.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/2D/adtInstrumentation.js +21 -21
  2. package/2D/adtInstrumentation.js.map +1 -1
  3. package/2D/advancedDynamicTexture.d.ts +1 -1
  4. package/2D/advancedDynamicTexture.js +159 -159
  5. package/2D/advancedDynamicTexture.js.map +1 -1
  6. package/2D/controls/button.js +12 -12
  7. package/2D/controls/button.js.map +1 -1
  8. package/2D/controls/checkbox.js +17 -17
  9. package/2D/controls/checkbox.js.map +1 -1
  10. package/2D/controls/colorpicker.js +28 -28
  11. package/2D/controls/colorpicker.js.map +1 -1
  12. package/2D/controls/container.js +40 -40
  13. package/2D/controls/container.js.map +1 -1
  14. package/2D/controls/control.js +191 -191
  15. package/2D/controls/control.js.map +1 -1
  16. package/2D/controls/displayGrid.js +18 -18
  17. package/2D/controls/displayGrid.js.map +1 -1
  18. package/2D/controls/ellipse.js +9 -9
  19. package/2D/controls/ellipse.js.map +1 -1
  20. package/2D/controls/gradient/BaseGradient.d.ts +1 -1
  21. package/2D/controls/grid.js +14 -14
  22. package/2D/controls/grid.js.map +1 -1
  23. package/2D/controls/image.js +33 -33
  24. package/2D/controls/image.js.map +1 -1
  25. package/2D/controls/inputText.js +57 -57
  26. package/2D/controls/inputText.js.map +1 -1
  27. package/2D/controls/inputTextArea.js +34 -34
  28. package/2D/controls/inputTextArea.js.map +1 -1
  29. package/2D/controls/line.js +22 -22
  30. package/2D/controls/line.js.map +1 -1
  31. package/2D/controls/radioButton.js +17 -17
  32. package/2D/controls/radioButton.js.map +1 -1
  33. package/2D/controls/rectangle.js +10 -10
  34. package/2D/controls/rectangle.js.map +1 -1
  35. package/2D/controls/scrollViewers/scrollViewer.js +70 -70
  36. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  37. package/2D/controls/scrollViewers/scrollViewerWindow.js +11 -11
  38. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  39. package/2D/controls/sliders/baseSlider.js +25 -25
  40. package/2D/controls/sliders/baseSlider.js.map +1 -1
  41. package/2D/controls/sliders/imageBasedSlider.js +9 -9
  42. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  43. package/2D/controls/sliders/imageScrollBar.js +15 -15
  44. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  45. package/2D/controls/sliders/scrollBar.js +13 -13
  46. package/2D/controls/sliders/scrollBar.js.map +1 -1
  47. package/2D/controls/sliders/slider.js +14 -14
  48. package/2D/controls/sliders/slider.js.map +1 -1
  49. package/2D/controls/stackPanel.js +17 -17
  50. package/2D/controls/stackPanel.js.map +1 -1
  51. package/2D/controls/textBlock.js +35 -35
  52. package/2D/controls/textBlock.js.map +1 -1
  53. package/2D/controls/toggleButton.js +49 -49
  54. package/2D/controls/toggleButton.js.map +1 -1
  55. package/3D/controls/MRTK3/touchHolographicButton.js +127 -127
  56. package/3D/controls/MRTK3/touchHolographicButton.js.map +1 -1
  57. package/3D/controls/container3D.js +12 -12
  58. package/3D/controls/container3D.js.map +1 -1
  59. package/3D/controls/control3D.js +41 -41
  60. package/3D/controls/control3D.js.map +1 -1
  61. package/3D/controls/handMenu.js +11 -11
  62. package/3D/controls/handMenu.js.map +1 -1
  63. package/3D/controls/holographicBackplate.js +9 -9
  64. package/3D/controls/holographicBackplate.js.map +1 -1
  65. package/3D/controls/holographicButton.js +23 -23
  66. package/3D/controls/holographicButton.js.map +1 -1
  67. package/3D/controls/holographicSlate.js +34 -34
  68. package/3D/controls/holographicSlate.js.map +1 -1
  69. package/3D/controls/nearMenu.js +13 -13
  70. package/3D/controls/nearMenu.js.map +1 -1
  71. package/3D/controls/stackPanel3D.js +13 -13
  72. package/3D/controls/stackPanel3D.js.map +1 -1
  73. package/3D/controls/touchHolographicButton.js +52 -52
  74. package/3D/controls/touchHolographicButton.js.map +1 -1
  75. package/3D/controls/touchHolographicMenu.js +8 -8
  76. package/3D/controls/touchHolographicMenu.js.map +1 -1
  77. package/3D/controls/volumeBasedPanel.js +15 -15
  78. package/3D/controls/volumeBasedPanel.js.map +1 -1
  79. package/3D/gizmos/gizmoHandle.js +15 -15
  80. package/3D/gizmos/gizmoHandle.js.map +1 -1
  81. package/3D/gizmos/slateGizmo.js +29 -29
  82. package/3D/gizmos/slateGizmo.js.map +1 -1
  83. package/3D/gui3DManager.js +33 -33
  84. package/3D/gui3DManager.js.map +1 -1
  85. package/3D/materials/handle/handleMaterial.js +20 -20
  86. package/3D/materials/handle/handleMaterial.js.map +1 -1
  87. package/package.json +2 -2
@@ -15,197 +15,6 @@ import { EngineStore } from "@babylonjs/core/Engines/engineStore.js";
15
15
  * @see https://doc.babylonjs.com/features/featuresDeepDive/gui/gui#controls
16
16
  */
17
17
  export class Control {
18
- // Functions
19
- /**
20
- * Creates a new control
21
- * @param name defines the name of the control
22
- */
23
- constructor(
24
- /** defines the name of the control */
25
- name) {
26
- this.name = name;
27
- this._alpha = 1;
28
- this._alphaSet = false;
29
- this._zIndex = 0;
30
- /** @internal */
31
- this._currentMeasure = Measure.Empty();
32
- /** @internal */
33
- this._tempPaddingMeasure = Measure.Empty();
34
- this._fontFamily = "Arial";
35
- this._fontStyle = "";
36
- this._fontWeight = "";
37
- this._fontSize = new ValueAndUnit(18, ValueAndUnit.UNITMODE_PIXEL, false);
38
- /** @internal */
39
- this._width = new ValueAndUnit(1, ValueAndUnit.UNITMODE_PERCENTAGE, false);
40
- /** @internal */
41
- this._height = new ValueAndUnit(1, ValueAndUnit.UNITMODE_PERCENTAGE, false);
42
- this._color = "";
43
- this._style = null;
44
- /** @internal */
45
- this._horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_CENTER;
46
- /** @internal */
47
- this._verticalAlignment = Control.VERTICAL_ALIGNMENT_CENTER;
48
- /** @internal */
49
- this._isDirty = true;
50
- /** @internal */
51
- this._wasDirty = false;
52
- /** @internal */
53
- this._tempParentMeasure = Measure.Empty();
54
- /** @internal */
55
- this._prevCurrentMeasureTransformedIntoGlobalSpace = Measure.Empty();
56
- /** @internal */
57
- this._cachedParentMeasure = Measure.Empty();
58
- this._descendantsOnlyPadding = false;
59
- this._paddingLeft = new ValueAndUnit(0);
60
- this._paddingRight = new ValueAndUnit(0);
61
- this._paddingTop = new ValueAndUnit(0);
62
- this._paddingBottom = new ValueAndUnit(0);
63
- /** @internal */
64
- this._left = new ValueAndUnit(0);
65
- /** @internal */
66
- this._top = new ValueAndUnit(0);
67
- this._scaleX = 1.0;
68
- this._scaleY = 1.0;
69
- this._rotation = 0;
70
- this._transformCenterX = 0.5;
71
- this._transformCenterY = 0.5;
72
- /** @internal */
73
- this._transformMatrix = Matrix2D.Identity();
74
- /** @internal */
75
- this._invertTransformMatrix = Matrix2D.Identity();
76
- /** @internal */
77
- this._transformedPosition = Vector2.Zero();
78
- this._isMatrixDirty = true;
79
- this._isVisible = true;
80
- this._isHighlighted = false;
81
- this._highlightColor = "#4affff";
82
- this._highlightLineWidth = 2;
83
- this._fontSet = false;
84
- this._dummyVector2 = Vector2.Zero();
85
- this._downCount = 0;
86
- this._enterCount = -1;
87
- this._doNotRender = false;
88
- this._downPointerIds = {};
89
- this._evaluatedMeasure = new Measure(0, 0, 0, 0);
90
- this._evaluatedParentMeasure = new Measure(0, 0, 0, 0);
91
- this._isEnabled = true;
92
- this._disabledColor = "#9a9a9a";
93
- this._disabledColorItem = "#6a6a6a";
94
- this._isReadOnly = false;
95
- this._gradient = null;
96
- /** @internal */
97
- this._rebuildLayout = false;
98
- /** @internal */
99
- this._customData = {};
100
- /** @internal */
101
- this._isClipped = false;
102
- /** @internal */
103
- this._automaticSize = false;
104
- /**
105
- * Gets or sets an object used to store user defined information for the node
106
- */
107
- this.metadata = null;
108
- /** Gets or sets a boolean indicating if the control can be hit with pointer events */
109
- this.isHitTestVisible = true;
110
- /** Gets or sets a boolean indicating if the control can block pointer events. False by default except on the following controls:
111
- * * Button controls (Button, RadioButton, ToggleButton)
112
- * * Checkbox
113
- * * ColorPicker
114
- * * InputText
115
- * * Slider
116
- */
117
- this.isPointerBlocker = false;
118
- /** Gets or sets a boolean indicating if the control can be focusable */
119
- this.isFocusInvisible = false;
120
- /**
121
- * Gets or sets a boolean indicating if the children are clipped to the current control bounds.
122
- * Please note that not clipping children may generate issues with adt.useInvalidateRectOptimization so it is recommended to turn this optimization off if you want to use unclipped children
123
- */
124
- this.clipChildren = true;
125
- /**
126
- * Gets or sets a boolean indicating that control content must be clipped
127
- * Please note that not clipping children may generate issues with adt.useInvalidateRectOptimization so it is recommended to turn this optimization off if you want to use unclipped children
128
- */
129
- this.clipContent = true;
130
- /**
131
- * Gets or sets a boolean indicating that the current control should cache its rendering (useful when the control does not change often)
132
- */
133
- this.useBitmapCache = false;
134
- this._shadowOffsetX = 0;
135
- this._shadowOffsetY = 0;
136
- this._shadowBlur = 0;
137
- this._previousShadowBlur = 0;
138
- this._shadowColor = "black";
139
- /** Gets or sets the cursor to use when the control is hovered */
140
- this.hoverCursor = "";
141
- /** @internal */
142
- this._linkOffsetX = new ValueAndUnit(0);
143
- /** @internal */
144
- this._linkOffsetY = new ValueAndUnit(0);
145
- this._accessibilityTag = null;
146
- this.onAccessibilityTagChangedObservable = new Observable();
147
- /**
148
- * An event triggered when pointer wheel is scrolled
149
- */
150
- this.onWheelObservable = new Observable();
151
- /**
152
- * An event triggered when the pointer moves over the control.
153
- */
154
- this.onPointerMoveObservable = new Observable();
155
- /**
156
- * An event triggered when the pointer moves out of the control.
157
- */
158
- this.onPointerOutObservable = new Observable();
159
- /**
160
- * An event triggered when the pointer taps the control
161
- */
162
- this.onPointerDownObservable = new Observable();
163
- /**
164
- * An event triggered when pointer up
165
- */
166
- this.onPointerUpObservable = new Observable();
167
- /**
168
- * An event triggered when a control is clicked on
169
- */
170
- this.onPointerClickObservable = new Observable();
171
- /**
172
- * An event triggered when pointer enters the control
173
- */
174
- this.onPointerEnterObservable = new Observable();
175
- /**
176
- * An event triggered when the control is marked as dirty
177
- */
178
- this.onDirtyObservable = new Observable();
179
- /**
180
- * An event triggered before drawing the control
181
- */
182
- this.onBeforeDrawObservable = new Observable();
183
- /**
184
- * An event triggered after the control was drawn
185
- */
186
- this.onAfterDrawObservable = new Observable();
187
- /**
188
- * An event triggered when the control has been disposed
189
- */
190
- this.onDisposeObservable = new Observable();
191
- /**
192
- * An event triggered when the control isVisible is changed
193
- */
194
- this.onIsVisibleChangedObservable = new Observable();
195
- /**
196
- * Gets or sets a fixed ratio for this control.
197
- * When different from 0, the ratio is used to compute the "second" dimension.
198
- * The first dimension used in the computation is the last one set (by setting width / widthInPixels or height / heightInPixels), and the
199
- * second dimension is computed as first dimension * fixedRatio
200
- */
201
- this.fixedRatio = 0;
202
- this._fixedRatioMasterIsWidth = true;
203
- /**
204
- * Array of animations
205
- */
206
- this.animations = null;
207
- this._tmpMeasureA = new Measure(0, 0, 0, 0);
208
- }
209
18
  /**
210
19
  * Gets or sets a boolean indicating if the control is readonly (default: false).
211
20
  * A readonly control will still raise pointer events but will not react to them
@@ -965,6 +774,197 @@ export class Control {
965
774
  this._disabledColorItem = value;
966
775
  this._markAsDirty();
967
776
  }
777
+ // Functions
778
+ /**
779
+ * Creates a new control
780
+ * @param name defines the name of the control
781
+ */
782
+ constructor(
783
+ /** defines the name of the control */
784
+ name) {
785
+ this.name = name;
786
+ this._alpha = 1;
787
+ this._alphaSet = false;
788
+ this._zIndex = 0;
789
+ /** @internal */
790
+ this._currentMeasure = Measure.Empty();
791
+ /** @internal */
792
+ this._tempPaddingMeasure = Measure.Empty();
793
+ this._fontFamily = "Arial";
794
+ this._fontStyle = "";
795
+ this._fontWeight = "";
796
+ this._fontSize = new ValueAndUnit(18, ValueAndUnit.UNITMODE_PIXEL, false);
797
+ /** @internal */
798
+ this._width = new ValueAndUnit(1, ValueAndUnit.UNITMODE_PERCENTAGE, false);
799
+ /** @internal */
800
+ this._height = new ValueAndUnit(1, ValueAndUnit.UNITMODE_PERCENTAGE, false);
801
+ this._color = "";
802
+ this._style = null;
803
+ /** @internal */
804
+ this._horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_CENTER;
805
+ /** @internal */
806
+ this._verticalAlignment = Control.VERTICAL_ALIGNMENT_CENTER;
807
+ /** @internal */
808
+ this._isDirty = true;
809
+ /** @internal */
810
+ this._wasDirty = false;
811
+ /** @internal */
812
+ this._tempParentMeasure = Measure.Empty();
813
+ /** @internal */
814
+ this._prevCurrentMeasureTransformedIntoGlobalSpace = Measure.Empty();
815
+ /** @internal */
816
+ this._cachedParentMeasure = Measure.Empty();
817
+ this._descendantsOnlyPadding = false;
818
+ this._paddingLeft = new ValueAndUnit(0);
819
+ this._paddingRight = new ValueAndUnit(0);
820
+ this._paddingTop = new ValueAndUnit(0);
821
+ this._paddingBottom = new ValueAndUnit(0);
822
+ /** @internal */
823
+ this._left = new ValueAndUnit(0);
824
+ /** @internal */
825
+ this._top = new ValueAndUnit(0);
826
+ this._scaleX = 1.0;
827
+ this._scaleY = 1.0;
828
+ this._rotation = 0;
829
+ this._transformCenterX = 0.5;
830
+ this._transformCenterY = 0.5;
831
+ /** @internal */
832
+ this._transformMatrix = Matrix2D.Identity();
833
+ /** @internal */
834
+ this._invertTransformMatrix = Matrix2D.Identity();
835
+ /** @internal */
836
+ this._transformedPosition = Vector2.Zero();
837
+ this._isMatrixDirty = true;
838
+ this._isVisible = true;
839
+ this._isHighlighted = false;
840
+ this._highlightColor = "#4affff";
841
+ this._highlightLineWidth = 2;
842
+ this._fontSet = false;
843
+ this._dummyVector2 = Vector2.Zero();
844
+ this._downCount = 0;
845
+ this._enterCount = -1;
846
+ this._doNotRender = false;
847
+ this._downPointerIds = {};
848
+ this._evaluatedMeasure = new Measure(0, 0, 0, 0);
849
+ this._evaluatedParentMeasure = new Measure(0, 0, 0, 0);
850
+ this._isEnabled = true;
851
+ this._disabledColor = "#9a9a9a";
852
+ this._disabledColorItem = "#6a6a6a";
853
+ this._isReadOnly = false;
854
+ this._gradient = null;
855
+ /** @internal */
856
+ this._rebuildLayout = false;
857
+ /** @internal */
858
+ this._customData = {};
859
+ /** @internal */
860
+ this._isClipped = false;
861
+ /** @internal */
862
+ this._automaticSize = false;
863
+ /**
864
+ * Gets or sets an object used to store user defined information for the node
865
+ */
866
+ this.metadata = null;
867
+ /** Gets or sets a boolean indicating if the control can be hit with pointer events */
868
+ this.isHitTestVisible = true;
869
+ /** Gets or sets a boolean indicating if the control can block pointer events. False by default except on the following controls:
870
+ * * Button controls (Button, RadioButton, ToggleButton)
871
+ * * Checkbox
872
+ * * ColorPicker
873
+ * * InputText
874
+ * * Slider
875
+ */
876
+ this.isPointerBlocker = false;
877
+ /** Gets or sets a boolean indicating if the control can be focusable */
878
+ this.isFocusInvisible = false;
879
+ /**
880
+ * Gets or sets a boolean indicating if the children are clipped to the current control bounds.
881
+ * Please note that not clipping children may generate issues with adt.useInvalidateRectOptimization so it is recommended to turn this optimization off if you want to use unclipped children
882
+ */
883
+ this.clipChildren = true;
884
+ /**
885
+ * Gets or sets a boolean indicating that control content must be clipped
886
+ * Please note that not clipping children may generate issues with adt.useInvalidateRectOptimization so it is recommended to turn this optimization off if you want to use unclipped children
887
+ */
888
+ this.clipContent = true;
889
+ /**
890
+ * Gets or sets a boolean indicating that the current control should cache its rendering (useful when the control does not change often)
891
+ */
892
+ this.useBitmapCache = false;
893
+ this._shadowOffsetX = 0;
894
+ this._shadowOffsetY = 0;
895
+ this._shadowBlur = 0;
896
+ this._previousShadowBlur = 0;
897
+ this._shadowColor = "black";
898
+ /** Gets or sets the cursor to use when the control is hovered */
899
+ this.hoverCursor = "";
900
+ /** @internal */
901
+ this._linkOffsetX = new ValueAndUnit(0);
902
+ /** @internal */
903
+ this._linkOffsetY = new ValueAndUnit(0);
904
+ this._accessibilityTag = null;
905
+ this.onAccessibilityTagChangedObservable = new Observable();
906
+ /**
907
+ * An event triggered when pointer wheel is scrolled
908
+ */
909
+ this.onWheelObservable = new Observable();
910
+ /**
911
+ * An event triggered when the pointer moves over the control.
912
+ */
913
+ this.onPointerMoveObservable = new Observable();
914
+ /**
915
+ * An event triggered when the pointer moves out of the control.
916
+ */
917
+ this.onPointerOutObservable = new Observable();
918
+ /**
919
+ * An event triggered when the pointer taps the control
920
+ */
921
+ this.onPointerDownObservable = new Observable();
922
+ /**
923
+ * An event triggered when pointer up
924
+ */
925
+ this.onPointerUpObservable = new Observable();
926
+ /**
927
+ * An event triggered when a control is clicked on
928
+ */
929
+ this.onPointerClickObservable = new Observable();
930
+ /**
931
+ * An event triggered when pointer enters the control
932
+ */
933
+ this.onPointerEnterObservable = new Observable();
934
+ /**
935
+ * An event triggered when the control is marked as dirty
936
+ */
937
+ this.onDirtyObservable = new Observable();
938
+ /**
939
+ * An event triggered before drawing the control
940
+ */
941
+ this.onBeforeDrawObservable = new Observable();
942
+ /**
943
+ * An event triggered after the control was drawn
944
+ */
945
+ this.onAfterDrawObservable = new Observable();
946
+ /**
947
+ * An event triggered when the control has been disposed
948
+ */
949
+ this.onDisposeObservable = new Observable();
950
+ /**
951
+ * An event triggered when the control isVisible is changed
952
+ */
953
+ this.onIsVisibleChangedObservable = new Observable();
954
+ /**
955
+ * Gets or sets a fixed ratio for this control.
956
+ * When different from 0, the ratio is used to compute the "second" dimension.
957
+ * The first dimension used in the computation is the last one set (by setting width / widthInPixels or height / heightInPixels), and the
958
+ * second dimension is computed as first dimension * fixedRatio
959
+ */
960
+ this.fixedRatio = 0;
961
+ this._fixedRatioMasterIsWidth = true;
962
+ /**
963
+ * Array of animations
964
+ */
965
+ this.animations = null;
966
+ this._tmpMeasureA = new Measure(0, 0, 0, 0);
967
+ }
968
968
  /** @internal */
969
969
  _getTypeName() {
970
970
  return "Control";