@babylonjs/gui 5.0.0-alpha.6 → 5.0.0-alpha.63

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 (275) hide show
  1. package/2D/adtInstrumentation.js +1 -1
  2. package/2D/advancedDynamicTexture.d.ts +165 -125
  3. package/2D/advancedDynamicTexture.js +342 -181
  4. package/2D/advancedDynamicTexture.js.map +1 -1
  5. package/2D/controls/button.js +10 -10
  6. package/2D/controls/button.js.map +1 -1
  7. package/2D/controls/checkbox.d.ts +2 -1
  8. package/2D/controls/checkbox.js +10 -8
  9. package/2D/controls/checkbox.js.map +1 -1
  10. package/2D/controls/colorpicker.d.ts +4 -3
  11. package/2D/controls/colorpicker.js +40 -23
  12. package/2D/controls/colorpicker.js.map +1 -1
  13. package/2D/controls/container.d.ts +16 -5
  14. package/2D/controls/container.js +93 -15
  15. package/2D/controls/container.js.map +1 -1
  16. package/2D/controls/control.d.ts +99 -44
  17. package/2D/controls/control.js +267 -129
  18. package/2D/controls/control.js.map +1 -1
  19. package/2D/controls/displayGrid.d.ts +2 -1
  20. package/2D/controls/displayGrid.js +6 -6
  21. package/2D/controls/displayGrid.js.map +1 -1
  22. package/2D/controls/ellipse.d.ts +5 -3
  23. package/2D/controls/ellipse.js +9 -5
  24. package/2D/controls/ellipse.js.map +1 -1
  25. package/2D/controls/focusableButton.d.ts +4 -2
  26. package/2D/controls/focusableButton.js +9 -6
  27. package/2D/controls/focusableButton.js.map +1 -1
  28. package/2D/controls/focusableControl.d.ts +2 -1
  29. package/2D/controls/focusableControl.js.map +1 -1
  30. package/2D/controls/grid.d.ts +13 -2
  31. package/2D/controls/grid.js +108 -24
  32. package/2D/controls/grid.js.map +1 -1
  33. package/2D/controls/image.d.ts +20 -12
  34. package/2D/controls/image.js +154 -111
  35. package/2D/controls/image.js.map +1 -1
  36. package/2D/controls/index.js +29 -29
  37. package/2D/controls/inputPassword.js +4 -4
  38. package/2D/controls/inputPassword.js.map +1 -1
  39. package/2D/controls/inputText.d.ts +6 -4
  40. package/2D/controls/inputText.js +40 -14
  41. package/2D/controls/inputText.js.map +1 -1
  42. package/2D/controls/line.d.ts +3 -2
  43. package/2D/controls/line.js +8 -8
  44. package/2D/controls/line.js.map +1 -1
  45. package/2D/controls/multiLine.d.ts +4 -3
  46. package/2D/controls/multiLine.js +6 -6
  47. package/2D/controls/multiLine.js.map +1 -1
  48. package/2D/controls/radioButton.d.ts +2 -1
  49. package/2D/controls/radioButton.js +10 -7
  50. package/2D/controls/radioButton.js.map +1 -1
  51. package/2D/controls/rectangle.d.ts +8 -3
  52. package/2D/controls/rectangle.js +21 -5
  53. package/2D/controls/rectangle.js.map +1 -1
  54. package/2D/controls/scrollViewers/scrollViewer.d.ts +3 -2
  55. package/2D/controls/scrollViewers/scrollViewer.js +9 -9
  56. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  57. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +4 -3
  58. package/2D/controls/scrollViewers/scrollViewerWindow.js +4 -4
  59. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  60. package/2D/controls/selector.js +8 -8
  61. package/2D/controls/selector.js.map +1 -1
  62. package/2D/controls/sliders/baseSlider.d.ts +1 -1
  63. package/2D/controls/sliders/baseSlider.js +12 -10
  64. package/2D/controls/sliders/baseSlider.js.map +1 -1
  65. package/2D/controls/sliders/imageBasedSlider.d.ts +10 -1
  66. package/2D/controls/sliders/imageBasedSlider.js +29 -5
  67. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  68. package/2D/controls/sliders/imageScrollBar.d.ts +2 -1
  69. package/2D/controls/sliders/imageScrollBar.js +3 -3
  70. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  71. package/2D/controls/sliders/scrollBar.d.ts +2 -1
  72. package/2D/controls/sliders/scrollBar.js +3 -3
  73. package/2D/controls/sliders/scrollBar.js.map +1 -1
  74. package/2D/controls/sliders/slider.d.ts +2 -1
  75. package/2D/controls/sliders/slider.js +4 -4
  76. package/2D/controls/sliders/slider.js.map +1 -1
  77. package/2D/controls/stackPanel.d.ts +10 -3
  78. package/2D/controls/stackPanel.js +35 -13
  79. package/2D/controls/stackPanel.js.map +1 -1
  80. package/2D/controls/statics.js +3 -3
  81. package/2D/controls/statics.js.map +1 -1
  82. package/2D/controls/textBlock.d.ts +9 -8
  83. package/2D/controls/textBlock.js +30 -20
  84. package/2D/controls/textBlock.js.map +1 -1
  85. package/2D/controls/textWrapper.js +2 -2
  86. package/2D/controls/textWrapper.js.map +1 -1
  87. package/2D/controls/toggleButton.d.ts +1 -13
  88. package/2D/controls/toggleButton.js +29 -38
  89. package/2D/controls/toggleButton.js.map +1 -1
  90. package/2D/controls/virtualKeyboard.js +5 -5
  91. package/2D/controls/virtualKeyboard.js.map +1 -1
  92. package/2D/index.d.ts +1 -1
  93. package/2D/index.js +9 -9
  94. package/2D/index.js.map +1 -1
  95. package/2D/math2D.js +2 -2
  96. package/2D/measure.js +1 -1
  97. package/2D/measure.js.map +1 -1
  98. package/2D/multiLinePoint.js +3 -3
  99. package/2D/style.js +2 -2
  100. package/2D/valueAndUnit.d.ts +21 -6
  101. package/2D/valueAndUnit.js +57 -13
  102. package/2D/valueAndUnit.js.map +1 -1
  103. package/2D/xmlLoader.d.ts +17 -3
  104. package/2D/xmlLoader.js +54 -15
  105. package/2D/xmlLoader.js.map +1 -1
  106. package/3D/behaviors/defaultBehavior.d.ts +73 -0
  107. package/3D/behaviors/defaultBehavior.js +122 -0
  108. package/3D/behaviors/defaultBehavior.js.map +1 -0
  109. package/3D/controls/abstractButton3D.d.ts +2 -2
  110. package/3D/controls/abstractButton3D.js +3 -3
  111. package/3D/controls/abstractButton3D.js.map +1 -1
  112. package/3D/controls/button3D.d.ts +0 -24
  113. package/3D/controls/button3D.js +7 -83
  114. package/3D/controls/button3D.js.map +1 -1
  115. package/3D/controls/container3D.js +2 -2
  116. package/3D/controls/contentDisplay3D.d.ts +30 -0
  117. package/3D/controls/contentDisplay3D.js +79 -0
  118. package/3D/controls/contentDisplay3D.js.map +1 -0
  119. package/3D/controls/control3D.d.ts +10 -7
  120. package/3D/controls/control3D.js +42 -28
  121. package/3D/controls/control3D.js.map +1 -1
  122. package/3D/controls/cylinderPanel.js +5 -5
  123. package/3D/controls/handMenu.d.ts +28 -0
  124. package/3D/controls/handMenu.js +48 -0
  125. package/3D/controls/handMenu.js.map +1 -0
  126. package/3D/controls/holographicBackplate.d.ts +48 -0
  127. package/3D/controls/holographicBackplate.js +121 -0
  128. package/3D/controls/holographicBackplate.js.map +1 -0
  129. package/3D/controls/holographicButton.d.ts +1 -1
  130. package/3D/controls/holographicButton.js +27 -24
  131. package/3D/controls/holographicButton.js.map +1 -1
  132. package/3D/controls/holographicSlate.d.ts +118 -0
  133. package/3D/controls/holographicSlate.js +360 -0
  134. package/3D/controls/holographicSlate.js.map +1 -0
  135. package/3D/controls/index.d.ts +10 -0
  136. package/3D/controls/index.js +22 -12
  137. package/3D/controls/index.js.map +1 -1
  138. package/3D/controls/meshButton3D.js +2 -2
  139. package/3D/controls/meshButton3D.js.map +1 -1
  140. package/3D/controls/nearMenu.d.ts +45 -0
  141. package/3D/controls/nearMenu.js +111 -0
  142. package/3D/controls/nearMenu.js.map +1 -0
  143. package/3D/controls/planePanel.js +3 -3
  144. package/3D/controls/scatterPanel.js +4 -4
  145. package/3D/controls/slider3D.d.ts +80 -0
  146. package/3D/controls/slider3D.js +268 -0
  147. package/3D/controls/slider3D.js.map +1 -0
  148. package/3D/controls/spherePanel.js +5 -5
  149. package/3D/controls/stackPanel3D.js +3 -3
  150. package/3D/controls/touchButton3D.d.ts +43 -0
  151. package/3D/controls/touchButton3D.js +133 -0
  152. package/3D/controls/touchButton3D.js.map +1 -0
  153. package/3D/controls/touchHolographicButton.d.ts +100 -0
  154. package/3D/controls/touchHolographicButton.js +408 -0
  155. package/3D/controls/touchHolographicButton.js.map +1 -0
  156. package/3D/controls/touchHolographicMenu.d.ts +61 -0
  157. package/3D/controls/touchHolographicMenu.js +149 -0
  158. package/3D/controls/touchHolographicMenu.js.map +1 -0
  159. package/3D/controls/touchMeshButton3D.d.ts +22 -0
  160. package/3D/controls/touchMeshButton3D.js +63 -0
  161. package/3D/controls/touchMeshButton3D.js.map +1 -0
  162. package/3D/controls/touchToggleButton3D.d.ts +35 -0
  163. package/3D/controls/touchToggleButton3D.js +60 -0
  164. package/3D/controls/touchToggleButton3D.js.map +1 -0
  165. package/3D/controls/volumeBasedPanel.d.ts +1 -1
  166. package/3D/controls/volumeBasedPanel.js +5 -5
  167. package/3D/controls/volumeBasedPanel.js.map +1 -1
  168. package/3D/gizmos/gizmoHandle.d.ts +108 -0
  169. package/3D/gizmos/gizmoHandle.js +210 -0
  170. package/3D/gizmos/gizmoHandle.js.map +1 -0
  171. package/3D/gizmos/index.d.ts +2 -0
  172. package/3D/gizmos/index.js +3 -0
  173. package/3D/gizmos/index.js.map +1 -0
  174. package/3D/gizmos/slateGizmo.d.ts +59 -0
  175. package/3D/gizmos/slateGizmo.js +364 -0
  176. package/3D/gizmos/slateGizmo.js.map +1 -0
  177. package/3D/gui3DManager.d.ts +19 -0
  178. package/3D/gui3DManager.js +73 -13
  179. package/3D/gui3DManager.js.map +1 -1
  180. package/3D/index.d.ts +3 -2
  181. package/3D/index.js +5 -4
  182. package/3D/index.js.map +1 -1
  183. package/3D/materials/fluent/fluentMaterial.d.ts +90 -0
  184. package/3D/materials/fluent/fluentMaterial.js +282 -0
  185. package/3D/materials/fluent/fluentMaterial.js.map +1 -0
  186. package/3D/materials/fluent/index.d.ts +1 -0
  187. package/3D/materials/fluent/index.js +2 -0
  188. package/3D/materials/fluent/index.js.map +1 -0
  189. package/3D/materials/{shaders → fluent/shaders}/fluent.fragment.d.ts +0 -0
  190. package/3D/materials/fluent/shaders/fluent.fragment.js +7 -0
  191. package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -0
  192. package/3D/materials/{shaders → fluent/shaders}/fluent.vertex.d.ts +0 -0
  193. package/3D/materials/{shaders → fluent/shaders}/fluent.vertex.js +2 -2
  194. package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -0
  195. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +154 -0
  196. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +435 -0
  197. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -0
  198. package/3D/materials/fluentBackplate/index.d.ts +1 -0
  199. package/3D/materials/fluentBackplate/index.js +2 -0
  200. package/3D/materials/fluentBackplate/index.js.map +1 -0
  201. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -0
  202. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +7 -0
  203. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -0
  204. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -0
  205. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +7 -0
  206. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -0
  207. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +189 -0
  208. package/3D/materials/fluentButton/fluentButtonMaterial.js +538 -0
  209. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -0
  210. package/3D/materials/fluentButton/index.d.ts +1 -0
  211. package/3D/materials/fluentButton/index.js +2 -0
  212. package/3D/materials/fluentButton/index.js.map +1 -0
  213. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -0
  214. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +7 -0
  215. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -0
  216. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -0
  217. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +7 -0
  218. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -0
  219. package/3D/materials/fluentMaterial.d.ts +2 -88
  220. package/3D/materials/fluentMaterial.js +2 -277
  221. package/3D/materials/fluentMaterial.js.map +1 -1
  222. package/3D/materials/handle/handleMaterial.d.ts +68 -0
  223. package/3D/materials/handle/handleMaterial.js +127 -0
  224. package/3D/materials/handle/handleMaterial.js.map +1 -0
  225. package/3D/materials/handle/index.d.ts +1 -0
  226. package/3D/materials/handle/index.js +2 -0
  227. package/3D/materials/handle/index.js.map +1 -0
  228. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -0
  229. package/3D/materials/handle/shaders/handle.fragment.js +7 -0
  230. package/3D/materials/handle/shaders/handle.fragment.js.map +1 -0
  231. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -0
  232. package/3D/materials/handle/shaders/handle.vertex.js +7 -0
  233. package/3D/materials/handle/shaders/handle.vertex.js.map +1 -0
  234. package/3D/materials/index.d.ts +5 -1
  235. package/3D/materials/index.js +5 -1
  236. package/3D/materials/index.js.map +1 -1
  237. package/3D/materials/mrdl/index.d.ts +3 -0
  238. package/3D/materials/mrdl/index.js +4 -0
  239. package/3D/materials/mrdl/index.js.map +1 -0
  240. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +147 -0
  241. package/3D/materials/mrdl/mrdlBackplateMaterial.js +410 -0
  242. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -0
  243. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +333 -0
  244. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +787 -0
  245. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -0
  246. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +333 -0
  247. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +787 -0
  248. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -0
  249. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -0
  250. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +7 -0
  251. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -0
  252. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -0
  253. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +7 -0
  254. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -0
  255. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -0
  256. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +7 -0
  257. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -0
  258. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -0
  259. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +7 -0
  260. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -0
  261. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -0
  262. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +7 -0
  263. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -0
  264. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -0
  265. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +7 -0
  266. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -0
  267. package/3D/vector3WithInfo.js +1 -1
  268. package/index.d.ts +2 -2
  269. package/index.js +2 -2
  270. package/index.js.map +1 -1
  271. package/legacy/legacy.js +2 -2
  272. package/package.json +126 -9
  273. package/3D/materials/shaders/fluent.fragment.js +0 -7
  274. package/3D/materials/shaders/fluent.fragment.js.map +0 -1
  275. package/3D/materials/shaders/fluent.vertex.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { Nullable } from "@babylonjs/core/types";
2
2
  import { Observable } from "@babylonjs/core/Misc/observable";
3
3
  import { Vector2, Vector3 } from "@babylonjs/core/Maths/math.vector";
4
- import { PointerInfoBase } from '@babylonjs/core/Events/pointerEvents';
4
+ import { PointerInfoBase } from "@babylonjs/core/Events/pointerEvents";
5
5
  import { TransformNode } from "@babylonjs/core/Meshes/transformNode";
6
6
  import { Scene } from "@babylonjs/core/scene";
7
7
  import { Container } from "./container";
@@ -10,6 +10,7 @@ import { ValueAndUnit } from "../valueAndUnit";
10
10
  import { Measure } from "../measure";
11
11
  import { Style } from "../style";
12
12
  import { Matrix2D, Vector2WithInfo } from "../math2D";
13
+ import { ICanvasRenderingContext } from "@babylonjs/core/Engines/ICanvas";
13
14
  /**
14
15
  * Root class used for all 2D controls
15
16
  * @see https://doc.babylonjs.com/how_to/gui#controls
@@ -30,6 +31,8 @@ export declare class Control {
30
31
  parent: Nullable<Container>;
31
32
  /** @hidden */
32
33
  _currentMeasure: Measure;
34
+ /** @hidden */
35
+ _tempPaddingMeasure: Measure;
33
36
  private _fontFamily;
34
37
  private _fontStyle;
35
38
  private _fontWeight;
@@ -62,6 +65,7 @@ export declare class Control {
62
65
  _prevCurrentMeasureTransformedIntoGlobalSpace: Measure;
63
66
  /** @hidden */
64
67
  protected _cachedParentMeasure: Measure;
68
+ private _descendentsOnlyPadding;
65
69
  private _paddingLeft;
66
70
  private _paddingRight;
67
71
  private _paddingTop;
@@ -86,6 +90,8 @@ export declare class Control {
86
90
  private _cachedOffsetY;
87
91
  private _isVisible;
88
92
  private _isHighlighted;
93
+ private _highlightColor;
94
+ protected _highlightLineWidth: number;
89
95
  /** @hidden */
90
96
  _linkedMesh: Nullable<TransformNode>;
91
97
  private _fontSet;
@@ -94,9 +100,12 @@ export declare class Control {
94
100
  private _enterCount;
95
101
  private _doNotRender;
96
102
  private _downPointerIds;
103
+ private _evaluatedMeasure;
104
+ private _evaluatedParentMeasure;
97
105
  protected _isEnabled: boolean;
98
106
  protected _disabledColor: string;
99
107
  protected _disabledColorItem: string;
108
+ protected _isReadOnly: boolean;
100
109
  /** @hidden */
101
110
  protected _rebuildLayout: boolean;
102
111
  /** @hidden */
@@ -111,6 +120,12 @@ export declare class Control {
111
120
  * Gets or sets the unique id of the node. Please note that this number will be updated when the control is added to a container
112
121
  */
113
122
  uniqueId: number;
123
+ /**
124
+ * Gets or sets a boolean indicating if the control is readonly (default: false).
125
+ * A readonly control will still raise pointer events but will not react to them
126
+ */
127
+ get isReadOnly(): boolean;
128
+ set isReadOnly(value: boolean);
114
129
  /**
115
130
  * Gets or sets an object used to store user defined information for the node
116
131
  */
@@ -145,6 +160,7 @@ export declare class Control {
145
160
  get shadowOffsetY(): number;
146
161
  set shadowOffsetY(value: number);
147
162
  private _shadowBlur;
163
+ private _previousShadowBlur;
148
164
  /** Gets or sets a value indicating the amount of blur to use to render the shadow */
149
165
  get shadowBlur(): number;
150
166
  set shadowBlur(value: number);
@@ -166,36 +182,36 @@ export declare class Control {
166
182
  */
167
183
  getClassName(): string;
168
184
  /**
169
- * An event triggered when pointer wheel is scrolled
170
- */
185
+ * An event triggered when pointer wheel is scrolled
186
+ */
171
187
  onWheelObservable: Observable<Vector2>;
172
188
  /**
173
- * An event triggered when the pointer move over the control.
174
- */
189
+ * An event triggered when the pointer moves over the control.
190
+ */
175
191
  onPointerMoveObservable: Observable<Vector2>;
176
192
  /**
177
- * An event triggered when the pointer move out of the control.
178
- */
193
+ * An event triggered when the pointer moves out of the control.
194
+ */
179
195
  onPointerOutObservable: Observable<Control>;
180
196
  /**
181
- * An event triggered when the pointer taps the control
182
- */
197
+ * An event triggered when the pointer taps the control
198
+ */
183
199
  onPointerDownObservable: Observable<Vector2WithInfo>;
184
200
  /**
185
- * An event triggered when pointer up
186
- */
201
+ * An event triggered when pointer up
202
+ */
187
203
  onPointerUpObservable: Observable<Vector2WithInfo>;
188
204
  /**
189
- * An event triggered when a control is clicked on
190
- */
205
+ * An event triggered when a control is clicked on
206
+ */
191
207
  onPointerClickObservable: Observable<Vector2WithInfo>;
192
208
  /**
193
- * An event triggered when pointer enters the control
194
- */
209
+ * An event triggered when pointer enters the control
210
+ */
195
211
  onPointerEnterObservable: Observable<Control>;
196
212
  /**
197
- * An event triggered when the control is marked as dirty
198
- */
213
+ * An event triggered when the control is marked as dirty
214
+ */
199
215
  onDirtyObservable: Observable<Control>;
200
216
  /**
201
217
  * An event triggered before drawing the control
@@ -206,8 +222,8 @@ export declare class Control {
206
222
  */
207
223
  onAfterDrawObservable: Observable<Control>;
208
224
  /**
209
- * An event triggered when the control has been disposed
210
- */
225
+ * An event triggered when the control has been disposed
226
+ */
211
227
  onDisposeObservable: Observable<Control>;
212
228
  /**
213
229
  * Get the hosting AdvancedDynamicTexture
@@ -227,34 +243,44 @@ export declare class Control {
227
243
  /** Gets or sets alpha value for the control (1 means opaque and 0 means entirely transparent) */
228
244
  get alpha(): number;
229
245
  set alpha(value: number);
246
+ /**
247
+ * Gets or sets a number indicating size of stroke we want to highlight the control with (mostly for debugging purpose)
248
+ */
249
+ get highlightLineWidth(): number;
250
+ set highlightLineWidth(value: number);
230
251
  /**
231
252
  * Gets or sets a boolean indicating that we want to highlight the control (mostly for debugging purpose)
232
253
  */
233
254
  get isHighlighted(): boolean;
234
255
  set isHighlighted(value: boolean);
256
+ /**
257
+ * Gets or sets a string defining the color to use for highlighting this control
258
+ */
259
+ get highlightColor(): string;
260
+ set highlightColor(value: string);
235
261
  /** Gets or sets a value indicating the scale factor on X axis (1 by default)
236
262
  * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
237
- */
263
+ */
238
264
  get scaleX(): number;
239
265
  set scaleX(value: number);
240
266
  /** Gets or sets a value indicating the scale factor on Y axis (1 by default)
241
267
  * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
242
- */
268
+ */
243
269
  get scaleY(): number;
244
270
  set scaleY(value: number);
245
271
  /** Gets or sets the rotation angle (0 by default)
246
272
  * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
247
- */
273
+ */
248
274
  get rotation(): number;
249
275
  set rotation(value: number);
250
276
  /** Gets or sets the transformation center on Y axis (0 by default)
251
277
  * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
252
- */
278
+ */
253
279
  get transformCenterY(): number;
254
280
  set transformCenterY(value: number);
255
281
  /** Gets or sets the transformation center on X axis (0 by default)
256
282
  * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
257
- */
283
+ */
258
284
  get transformCenterX(): number;
259
285
  set transformCenterX(value: number);
260
286
  /**
@@ -342,6 +368,12 @@ export declare class Control {
342
368
  * Gets the current linked mesh (or null if none)
343
369
  */
344
370
  get linkedMesh(): Nullable<TransformNode>;
371
+ /**
372
+ * Gets or sets a value indicating the padding should work like in CSS.
373
+ * Basically, it will add the padding amount on each side of the parent control for its children.
374
+ */
375
+ get descendentsOnlyPadding(): boolean;
376
+ set descendentsOnlyPadding(value: boolean);
345
377
  /**
346
378
  * Gets or sets a value indicating the padding to use on the left of the control
347
379
  * @see https://doc.babylonjs.com/how_to/gui#position-and-size
@@ -354,6 +386,8 @@ export declare class Control {
354
386
  */
355
387
  get paddingLeftInPixels(): number;
356
388
  set paddingLeftInPixels(value: number);
389
+ /** @hidden */
390
+ get _paddingLeftInPixels(): number;
357
391
  /**
358
392
  * Gets or sets a value indicating the padding to use on the right of the control
359
393
  * @see https://doc.babylonjs.com/how_to/gui#position-and-size
@@ -366,6 +400,8 @@ export declare class Control {
366
400
  */
367
401
  get paddingRightInPixels(): number;
368
402
  set paddingRightInPixels(value: number);
403
+ /** @hidden */
404
+ get _paddingRightInPixels(): number;
369
405
  /**
370
406
  * Gets or sets a value indicating the padding to use on the top of the control
371
407
  * @see https://doc.babylonjs.com/how_to/gui#position-and-size
@@ -378,6 +414,8 @@ export declare class Control {
378
414
  */
379
415
  get paddingTopInPixels(): number;
380
416
  set paddingTopInPixels(value: number);
417
+ /** @hidden */
418
+ get _paddingTopInPixels(): number;
381
419
  /**
382
420
  * Gets or sets a value indicating the padding to use on the bottom of the control
383
421
  * @see https://doc.babylonjs.com/how_to/gui#position-and-size
@@ -390,6 +428,8 @@ export declare class Control {
390
428
  */
391
429
  get paddingBottomInPixels(): number;
392
430
  set paddingBottomInPixels(value: number);
431
+ /** @hidden */
432
+ get _paddingBottomInPixels(): number;
393
433
  /**
394
434
  * Gets or sets a value indicating the left coordinate of the control
395
435
  * @see https://doc.babylonjs.com/how_to/gui#position-and-size
@@ -451,6 +491,17 @@ export declare class Control {
451
491
  /** Gets or sets front color of control if it's disabled */
452
492
  get disabledColorItem(): string;
453
493
  set disabledColorItem(value: string);
494
+ /**
495
+ * Gets/sets the overlap group of the control.
496
+ * Controls with overlapGroup set to a number can be deoverlapped.
497
+ * Controls with overlapGroup set to undefined are not deoverlapped.
498
+ * @see https://doc.babylonjs.com/how_to/gui#deoverlapping
499
+ */
500
+ overlapGroup?: number;
501
+ /**
502
+ * Gets/sets the deoverlap movement multiplier
503
+ */
504
+ overlapDeltaMultiplier?: number;
454
505
  /**
455
506
  * Creates a new control
456
507
  * @param name defines the name of the control
@@ -520,13 +571,13 @@ export declare class Control {
520
571
  */
521
572
  linkWithMesh(mesh: Nullable<TransformNode>): void;
522
573
  /**
523
- * Shorthand funtion to set the top, right, bottom, and left padding values on the control.
524
- * @param { string | number} paddingTop - The value of the top padding.
525
- * @param { string | number} paddingRight - The value of the right padding. If omitted, top is used.
526
- * @param { string | number} paddingBottom - The value of the bottom padding. If omitted, top is used.
527
- * @param { string | number} paddingLeft - The value of the left padding. If omitted, right is used.
528
- * @see https://doc.babylonjs.com/how_to/gui#position-and-size
529
- */
574
+ * Shorthand funtion to set the top, right, bottom, and left padding values on the control.
575
+ * @param { string | number} paddingTop - The value of the top padding.
576
+ * @param { string | number} paddingRight - The value of the right padding. If omitted, top is used.
577
+ * @param { string | number} paddingBottom - The value of the bottom padding. If omitted, top is used.
578
+ * @param { string | number} paddingLeft - The value of the left padding. If omitted, right is used.
579
+ * @see https://doc.babylonjs.com/how_to/gui#position-and-size
580
+ */
530
581
  setPadding(paddingTop: string | number, paddingRight?: string | number, paddingBottom?: string | number, paddingLeft?: string | number): void;
531
582
  /**
532
583
  * Shorthand funtion to set the top, right, bottom, and left padding values in pixels on the control.
@@ -550,6 +601,10 @@ export declare class Control {
550
601
  /** @hidden */
551
602
  _intersectsRect(rect: Measure): boolean;
552
603
  /** @hidden */
604
+ protected _computeAdditionnalOffsetX(): number;
605
+ /** @hidden */
606
+ protected _computeAdditionnalOffsetY(): number;
607
+ /** @hidden */
553
608
  protected invalidateRect(): void;
554
609
  /** @hidden */
555
610
  _markAsDirty(force?: boolean): void;
@@ -558,35 +613,35 @@ export declare class Control {
558
613
  /** @hidden */
559
614
  _link(host: AdvancedDynamicTexture): void;
560
615
  /** @hidden */
561
- protected _transform(context?: CanvasRenderingContext2D): void;
616
+ protected _transform(context?: ICanvasRenderingContext): void;
562
617
  /** @hidden */
563
- _renderHighlight(context: CanvasRenderingContext2D): void;
618
+ _renderHighlight(context: ICanvasRenderingContext): void;
564
619
  /** @hidden */
565
- _renderHighlightSpecific(context: CanvasRenderingContext2D): void;
620
+ _renderHighlightSpecific(context: ICanvasRenderingContext): void;
566
621
  /** @hidden */
567
- protected _applyStates(context: CanvasRenderingContext2D): void;
622
+ protected _applyStates(context: ICanvasRenderingContext): void;
568
623
  /** @hidden */
569
- _layout(parentMeasure: Measure, context: CanvasRenderingContext2D): boolean;
624
+ _layout(parentMeasure: Measure, context: ICanvasRenderingContext): boolean;
570
625
  /** @hidden */
571
- protected _processMeasures(parentMeasure: Measure, context: CanvasRenderingContext2D): void;
626
+ protected _processMeasures(parentMeasure: Measure, context: ICanvasRenderingContext): void;
572
627
  protected _evaluateClippingState(parentMeasure: Measure): void;
573
628
  /** @hidden */
574
629
  _measure(): void;
575
630
  /** @hidden */
576
- protected _computeAlignment(parentMeasure: Measure, context: CanvasRenderingContext2D): void;
631
+ protected _computeAlignment(parentMeasure: Measure, context: ICanvasRenderingContext): void;
577
632
  /** @hidden */
578
- protected _preMeasure(parentMeasure: Measure, context: CanvasRenderingContext2D): void;
633
+ protected _preMeasure(parentMeasure: Measure, context: ICanvasRenderingContext): void;
579
634
  /** @hidden */
580
- protected _additionalProcessing(parentMeasure: Measure, context: CanvasRenderingContext2D): void;
635
+ protected _additionalProcessing(parentMeasure: Measure, context: ICanvasRenderingContext): void;
581
636
  /** @hidden */
582
- protected _clipForChildren(context: CanvasRenderingContext2D): void;
637
+ protected _clipForChildren(context: ICanvasRenderingContext): void;
583
638
  private static _ClipMeasure;
584
639
  private _tmpMeasureA;
585
640
  private _clip;
586
641
  /** @hidden */
587
- _render(context: CanvasRenderingContext2D, invalidatedRectangle?: Nullable<Measure>): boolean;
642
+ _render(context: ICanvasRenderingContext, invalidatedRectangle?: Nullable<Measure>): boolean;
588
643
  /** @hidden */
589
- _draw(context: CanvasRenderingContext2D, invalidatedRectangle?: Nullable<Measure>): void;
644
+ _draw(context: ICanvasRenderingContext, invalidatedRectangle?: Nullable<Measure>): void;
590
645
  /**
591
646
  * Tests if a given coordinates belong to the current control
592
647
  * @param x defines x coordinate to test
@@ -671,5 +726,5 @@ export declare class Control {
671
726
  controlFirst: boolean;
672
727
  }) => any;
673
728
  /** @hidden */
674
- protected static drawEllipse(x: number, y: number, width: number, height: number, context: CanvasRenderingContext2D): void;
729
+ protected static drawEllipse(x: number, y: number, width: number, height: number, context: ICanvasRenderingContext): void;
675
730
  }