@babylonjs/gui 5.0.0-alpha.8 → 5.0.0-beta.3

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