@babylonjs/gui-editor 5.0.0-beta.9 → 5.0.0-rc.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/babylon.guiEditor.max.js +881 -603
- package/babylon.guiEditor.max.js.map +1 -1
- package/babylon.guiEditor.module.d.ts +140 -88
- package/package.json +2 -2
@@ -24,7 +24,7 @@ declare module "@babylonjs/gui-editor/tools" {
|
|
24
24
|
import { Grid } from "@babylonjs/gui/2D/controls/grid";
|
25
25
|
import { Vector2 } from "@babylonjs/core/Maths/math";
|
26
26
|
export class Tools {
|
27
|
-
static
|
27
|
+
static LookForItems(item: any, selectedEntities: any[], firstIteration?: boolean): boolean;
|
28
28
|
private static _RecursiveRemoveHiddenMeshesAndHoistChildren;
|
29
29
|
static SortAndFilter(parent: any, items: any[]): any[];
|
30
30
|
static getCellInfo(grid: Grid, control: Control): Vector2;
|
@@ -54,6 +54,7 @@ declare module "@babylonjs/gui-editor/diagram/coordinateHelper" {
|
|
54
54
|
right: number;
|
55
55
|
bottom: number;
|
56
56
|
constructor(left: number, top: number, right: number, bottom: number);
|
57
|
+
clone(): Rect;
|
57
58
|
get center(): Vector2;
|
58
59
|
get width(): number;
|
59
60
|
get height(): number;
|
@@ -101,7 +102,6 @@ declare module "@babylonjs/gui-editor/diagram/coordinateHelper" {
|
|
101
102
|
declare module "@babylonjs/gui-editor/diagram/workbench" {
|
102
103
|
import * as React from "react";
|
103
104
|
import { GlobalState } from "@babylonjs/gui-editor/globalState";
|
104
|
-
import { Nullable } from "@babylonjs/core/types";
|
105
105
|
import { Control } from "@babylonjs/gui/2D/controls/control";
|
106
106
|
import { Vector2, Vector3 } from "@babylonjs/core/Maths/math.vector";
|
107
107
|
import { Scene } from "@babylonjs/core/scene";
|
@@ -122,28 +122,22 @@ declare module "@babylonjs/gui-editor/diagram/workbench" {
|
|
122
122
|
private _mouseStartPointX;
|
123
123
|
private _mouseStartPointY;
|
124
124
|
_scene: Scene;
|
125
|
-
private _selectedGuiNodes;
|
126
125
|
private _ctrlKeyIsPressed;
|
127
126
|
private _altKeyIsPressed;
|
128
127
|
private _constraintDirection;
|
129
128
|
private _forcePanning;
|
130
129
|
private _forceZooming;
|
131
130
|
private _forceSelecting;
|
132
|
-
private _outlines;
|
133
131
|
private _panning;
|
134
132
|
private _canvas;
|
135
133
|
private _responsive;
|
136
134
|
private _isOverGUINode;
|
137
|
-
private _clipboard;
|
138
|
-
private _selectAll;
|
139
|
-
private _pasted;
|
140
135
|
private _engine;
|
141
136
|
private _liveRenderObserver;
|
142
137
|
private _guiRenderObserver;
|
143
138
|
private _mainSelection;
|
144
139
|
private _selectionDepth;
|
145
140
|
private _doubleClick;
|
146
|
-
private _lockMainSelection;
|
147
141
|
_liveGuiTextureRerender: boolean;
|
148
142
|
private _anyControlClicked;
|
149
143
|
private _visibleRegionContainer;
|
@@ -171,12 +165,12 @@ declare module "@babylonjs/gui-editor/diagram/workbench" {
|
|
171
165
|
private _getParentWithDepth;
|
172
166
|
private _getMaxParent;
|
173
167
|
constructor(props: IWorkbenchComponentProps);
|
174
|
-
determineMouseSelection(selection:
|
168
|
+
determineMouseSelection(selection: Control): void;
|
175
169
|
keyEvent: (evt: KeyboardEvent) => void;
|
176
|
-
private
|
177
|
-
|
178
|
-
|
179
|
-
pasteFromClipboard():
|
170
|
+
private _deleteSelectedNodes;
|
171
|
+
copyToClipboard(copyFn: (content: string) => void): void;
|
172
|
+
cutToClipboard(copyFn: (content: string) => void): void;
|
173
|
+
pasteFromClipboard(clipboardContents: string): boolean;
|
180
174
|
CopyGUIControl(original: Control): void;
|
181
175
|
private selectAllGUI;
|
182
176
|
blurEvent: () => void;
|
@@ -184,7 +178,7 @@ declare module "@babylonjs/gui-editor/diagram/workbench" {
|
|
184
178
|
loadFromJson(serializationObject: any): void;
|
185
179
|
loadFromSnippet(snippetId: string): Promise<void>;
|
186
180
|
loadToEditor(): void;
|
187
|
-
|
181
|
+
updateNodeOutlines(): void;
|
188
182
|
findNodeFromGuiElement(guiControl: Control): Control;
|
189
183
|
appendBlock(guiElement: Control): Control;
|
190
184
|
private _isMainSelectionParent;
|
@@ -207,6 +201,7 @@ declare module "@babylonjs/gui-editor/diagram/workbench" {
|
|
207
201
|
synchronizeLiveGUI(): void;
|
208
202
|
addControls(scene: Scene): void;
|
209
203
|
panning(): void;
|
204
|
+
moveControls(moveHorizontal: boolean, amount: number): void;
|
210
205
|
zoomWheel(event: IWheelEvent): number;
|
211
206
|
zooming(delta: number): void;
|
212
207
|
zeroIfClose(vec: Vector3): void;
|
@@ -224,58 +219,6 @@ declare module "@babylonjs/gui-editor/sharedUiComponents/tabs/propertyGrids/lock
|
|
224
219
|
lock: boolean;
|
225
220
|
}
|
226
221
|
}
|
227
|
-
declare module "@babylonjs/gui-editor/diagram/guiGizmo" {
|
228
|
-
import { Vector2 } from "@babylonjs/core/Maths/math.vector";
|
229
|
-
import * as React from "react";
|
230
|
-
import { GlobalState } from "@babylonjs/gui-editor/globalState";
|
231
|
-
import { Rect } from "@babylonjs/gui-editor/diagram/coordinateHelper";
|
232
|
-
export interface IGuiGizmoProps {
|
233
|
-
globalState: GlobalState;
|
234
|
-
}
|
235
|
-
enum ScalePointPosition {
|
236
|
-
Top = -1,
|
237
|
-
Left = -1,
|
238
|
-
Center = 0,
|
239
|
-
Right = 1,
|
240
|
-
Bottom = 1
|
241
|
-
}
|
242
|
-
interface IScalePoint {
|
243
|
-
position: Vector2;
|
244
|
-
horizontalPosition: ScalePointPosition;
|
245
|
-
verticalPosition: ScalePointPosition;
|
246
|
-
rotation: number;
|
247
|
-
isPivot: boolean;
|
248
|
-
}
|
249
|
-
interface IGuiGizmoState {
|
250
|
-
canvasBounds: Rect;
|
251
|
-
scalePoints: IScalePoint[];
|
252
|
-
scalePointDragging: number;
|
253
|
-
isRotating: boolean;
|
254
|
-
}
|
255
|
-
export class GuiGizmoComponent extends React.Component<IGuiGizmoProps, IGuiGizmoState> {
|
256
|
-
private _responsive;
|
257
|
-
private _storedValues;
|
258
|
-
private _localBounds;
|
259
|
-
private _rotation;
|
260
|
-
constructor(props: IGuiGizmoProps);
|
261
|
-
componentDidMount(): void;
|
262
|
-
/**
|
263
|
-
* Update the gizmo's positions
|
264
|
-
* @param force should the update be forced. otherwise it will be updated only when the pointer is down
|
265
|
-
*/
|
266
|
-
updateGizmo(force?: boolean): void;
|
267
|
-
onUp(evt?: React.PointerEvent): void;
|
268
|
-
private _onUp;
|
269
|
-
onMove(evt: React.PointerEvent): void;
|
270
|
-
private _onMove;
|
271
|
-
private _rotate;
|
272
|
-
private _dragLocalBounds;
|
273
|
-
private _updateNodeFromLocalBounds;
|
274
|
-
private _beginDraggingScalePoint;
|
275
|
-
private _beginRotate;
|
276
|
-
render(): JSX.Element | null;
|
277
|
-
}
|
278
|
-
}
|
279
222
|
declare module "@babylonjs/gui-editor/globalState" {
|
280
223
|
import { Nullable } from "@babylonjs/core/types";
|
281
224
|
import { Observable } from "@babylonjs/core/Misc/observable";
|
@@ -287,7 +230,6 @@ declare module "@babylonjs/gui-editor/globalState" {
|
|
287
230
|
import { Scene } from "@babylonjs/core/scene";
|
288
231
|
import { Control } from "@babylonjs/gui/2D/controls/control";
|
289
232
|
import { LockObject } from "@babylonjs/gui-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
|
290
|
-
import { GuiGizmoComponent } from "@babylonjs/gui-editor/diagram/guiGizmo";
|
291
233
|
import { ISize } from "@babylonjs/core/Maths/math";
|
292
234
|
export enum DragOverLocation {
|
293
235
|
ABOVE = 0,
|
@@ -296,13 +238,13 @@ declare module "@babylonjs/gui-editor/globalState" {
|
|
296
238
|
NONE = 3
|
297
239
|
}
|
298
240
|
export class GlobalState {
|
299
|
-
[x: string]: any;
|
300
241
|
liveGuiTexture: Nullable<AdvancedDynamicTexture>;
|
301
242
|
guiTexture: AdvancedDynamicTexture;
|
302
243
|
hostElement: HTMLElement;
|
303
244
|
hostDocument: HTMLDocument;
|
304
245
|
hostWindow: Window;
|
305
|
-
|
246
|
+
selectedControls: Control[];
|
247
|
+
onSelectionChangedObservable: Observable<void>;
|
306
248
|
onResizeObservable: Observable<ISize>;
|
307
249
|
onBuiltObservable: Observable<void>;
|
308
250
|
onResetRequiredObservable: Observable<void>;
|
@@ -314,25 +256,26 @@ declare module "@babylonjs/gui-editor/globalState" {
|
|
314
256
|
onNewSceneObservable: Observable<Nullable<Scene>>;
|
315
257
|
onGuiNodeRemovalObservable: Observable<Control>;
|
316
258
|
onPopupClosedObservable: Observable<void>;
|
317
|
-
_backgroundColor
|
259
|
+
private _backgroundColor;
|
260
|
+
private _outlines;
|
261
|
+
isMultiSelecting: boolean;
|
262
|
+
onOutlineChangedObservable: Observable<void>;
|
318
263
|
blockKeyboardEvents: boolean;
|
319
264
|
controlCamera: boolean;
|
320
265
|
selectionLock: boolean;
|
321
266
|
workbench: WorkbenchComponent;
|
322
|
-
guiGizmo: GuiGizmoComponent;
|
323
267
|
onPropertyChangedObservable: Observable<PropertyChangedEvent>;
|
324
268
|
onZoomObservable: Observable<void>;
|
325
269
|
onFitToWindowObservable: Observable<void>;
|
326
270
|
onPanObservable: Observable<void>;
|
327
271
|
onSelectionButtonObservable: Observable<void>;
|
328
|
-
onMoveObservable: Observable<void>;
|
329
272
|
onLoadObservable: Observable<File>;
|
330
273
|
onSaveObservable: Observable<void>;
|
331
274
|
onSnippetLoadObservable: Observable<void>;
|
332
275
|
onSnippetSaveObservable: Observable<void>;
|
333
|
-
onOutlinesObservable: Observable<void>;
|
334
276
|
onResponsiveChangeObservable: Observable<boolean>;
|
335
277
|
onParentingChangeObservable: Observable<Nullable<Control>>;
|
278
|
+
onDropObservable: Observable<void>;
|
336
279
|
onPropertyGridUpdateRequiredObservable: Observable<void>;
|
337
280
|
onDraggingEndObservable: Observable<void>;
|
338
281
|
onDraggingStartObservable: Observable<void>;
|
@@ -340,8 +283,13 @@ declare module "@babylonjs/gui-editor/globalState" {
|
|
340
283
|
onGizmoUpdateRequireObservable: Observable<void>;
|
341
284
|
onArtBoardUpdateRequiredObservable: Observable<void>;
|
342
285
|
onBackgroundColorChangeObservable: Observable<void>;
|
286
|
+
onPointerMoveObservable: Observable<import("react").PointerEvent<HTMLCanvasElement>>;
|
287
|
+
onPointerUpObservable: Observable<Nullable<PointerEvent | import("react").PointerEvent<HTMLCanvasElement>>>;
|
343
288
|
draggedControl: Nullable<Control>;
|
344
289
|
draggedControlDirection: DragOverLocation;
|
290
|
+
onCopyObservable: Observable<(content: string) => void>;
|
291
|
+
onCutObservable: Observable<(content: string) => void>;
|
292
|
+
onPasteObservable: Observable<string>;
|
345
293
|
isSaving: boolean;
|
346
294
|
lockObject: LockObject;
|
347
295
|
storeEditorData: (serializationObject: any) => void;
|
@@ -354,8 +302,16 @@ declare module "@babylonjs/gui-editor/globalState" {
|
|
354
302
|
action: (data: string) => Promise<string>;
|
355
303
|
};
|
356
304
|
constructor();
|
305
|
+
/** adds copy, cut and paste listeners to the host window */
|
306
|
+
registerEventListeners(): void;
|
307
|
+
private _updateKeys;
|
357
308
|
get backgroundColor(): Color3;
|
358
309
|
set backgroundColor(value: Color3);
|
310
|
+
get outlines(): boolean;
|
311
|
+
set outlines(value: boolean);
|
312
|
+
select(control: Control): void;
|
313
|
+
setSelection(controls: Control[]): void;
|
314
|
+
isMultiSelectable(control: Control): boolean;
|
359
315
|
}
|
360
316
|
}
|
361
317
|
declare module "@babylonjs/gui-editor/sharedUiComponents/lines/buttonLineComponent" {
|
@@ -555,6 +511,19 @@ declare module "@babylonjs/gui-editor/sharedUiComponents/lines/sliderLineCompone
|
|
555
511
|
render(): JSX.Element;
|
556
512
|
}
|
557
513
|
}
|
514
|
+
declare module "@babylonjs/gui-editor/sharedUiComponents/lines/inputArrowsComponent" {
|
515
|
+
import * as React from "react";
|
516
|
+
interface IInputArrowsComponentProps {
|
517
|
+
incrementValue: (amount: number) => void;
|
518
|
+
setDragging: (dragging: boolean) => void;
|
519
|
+
}
|
520
|
+
export class InputArrowsComponent extends React.Component<IInputArrowsComponentProps> {
|
521
|
+
private _arrowsRef;
|
522
|
+
private _drag;
|
523
|
+
private _releaseListener;
|
524
|
+
render(): JSX.Element;
|
525
|
+
}
|
526
|
+
}
|
558
527
|
declare module "@babylonjs/gui-editor/sharedUiComponents/lines/textInputLineComponent" {
|
559
528
|
import * as React from "react";
|
560
529
|
import { Observable } from "@babylonjs/core/Misc/observable";
|
@@ -576,18 +545,25 @@ declare module "@babylonjs/gui-editor/sharedUiComponents/lines/textInputLineComp
|
|
576
545
|
unit?: string;
|
577
546
|
onUnitClicked?: (unit: string) => void;
|
578
547
|
unitLocked?: boolean;
|
548
|
+
arrows?: boolean;
|
549
|
+
arrowsIncrement?: (amount: number) => void;
|
550
|
+
step?: number;
|
579
551
|
}
|
580
552
|
export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
|
581
553
|
value: string;
|
554
|
+
dragging: boolean;
|
582
555
|
}> {
|
583
556
|
private _localChange;
|
584
557
|
constructor(props: ITextInputLineComponentProps);
|
585
558
|
componentWillUnmount(): void;
|
586
559
|
shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
|
587
560
|
value: string;
|
561
|
+
dragging: boolean;
|
588
562
|
}): boolean;
|
589
563
|
raiseOnPropertyChanged(newValue: string, previousValue: string): void;
|
590
564
|
updateValue(value: string): void;
|
565
|
+
incrementValue(amount: number): void;
|
566
|
+
onKeyDown(event: React.KeyboardEvent): void;
|
591
567
|
render(): JSX.Element;
|
592
568
|
}
|
593
569
|
}
|
@@ -800,10 +776,13 @@ declare module "@babylonjs/gui-editor/components/propertyTab/propertyGrids/gui/c
|
|
800
776
|
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
801
777
|
}
|
802
778
|
export class CommonControlPropertyGridComponent extends React.Component<ICommonControlPropertyGridComponentProps> {
|
779
|
+
private _onPropertyChangedObserver;
|
803
780
|
constructor(props: ICommonControlPropertyGridComponentProps);
|
781
|
+
private _getTransformedReferenceCoordinate;
|
804
782
|
private _updateAlignment;
|
805
783
|
private _checkAndUpdateValues;
|
806
784
|
private _markChildrenAsDirty;
|
785
|
+
componentWillUnmount(): void;
|
807
786
|
render(): JSX.Element;
|
808
787
|
}
|
809
788
|
}
|
@@ -1213,22 +1192,18 @@ declare module "@babylonjs/gui-editor/guiNodeTools" {
|
|
1213
1192
|
import { ImageBasedSlider } from "@babylonjs/gui/2D/controls/sliders/imageBasedSlider";
|
1214
1193
|
export class GUINodeTools {
|
1215
1194
|
static ImageControlDefaultUrl: string;
|
1216
|
-
static CreateControlFromString(data: string): Grid | Rectangle | Line |
|
1195
|
+
static CreateControlFromString(data: string): Grid | Rectangle | Line | TextBlock | Image | Slider | ImageBasedSlider | RadioButton | InputText | ColorPicker | StackPanel | Ellipse | Checkbox | DisplayGrid;
|
1217
1196
|
}
|
1218
1197
|
}
|
1219
1198
|
declare module "@babylonjs/gui-editor/components/propertyTab/propertyTabComponent" {
|
1220
1199
|
import * as React from "react";
|
1221
1200
|
import { GlobalState } from "@babylonjs/gui-editor/globalState";
|
1222
|
-
import { Nullable } from "@babylonjs/core/types";
|
1223
1201
|
import { Control } from "@babylonjs/gui/2D/controls/control";
|
1224
1202
|
import { AdvancedDynamicTexture } from "@babylonjs/gui/2D/advancedDynamicTexture";
|
1225
1203
|
interface IPropertyTabComponentProps {
|
1226
1204
|
globalState: GlobalState;
|
1227
1205
|
}
|
1228
|
-
|
1229
|
-
currentNode: Nullable<Control>;
|
1230
|
-
}
|
1231
|
-
export class PropertyTabComponent extends React.Component<IPropertyTabComponentProps, IPropertyTabComponentState> {
|
1206
|
+
export class PropertyTabComponent extends React.Component<IPropertyTabComponentProps> {
|
1232
1207
|
private _onBuiltObserver;
|
1233
1208
|
private _timerIntervalId;
|
1234
1209
|
private _lockObject;
|
@@ -1326,7 +1301,7 @@ declare module "@babylonjs/gui-editor/components/sceneExplorer/entities/gui/cont
|
|
1326
1301
|
onClick: () => void;
|
1327
1302
|
globalState: GlobalState;
|
1328
1303
|
isHovered: boolean;
|
1329
|
-
|
1304
|
+
isDragOver: boolean;
|
1330
1305
|
dragOverLocation: DragOverLocation;
|
1331
1306
|
}
|
1332
1307
|
export class ControlTreeItemComponent extends React.Component<IControlTreeItemComponentProps, {
|
@@ -1348,22 +1323,29 @@ declare module "@babylonjs/gui-editor/components/sceneExplorer/treeItemSelectabl
|
|
1348
1323
|
import { DragOverLocation, GlobalState } from "@babylonjs/gui-editor/globalState";
|
1349
1324
|
export interface ITreeItemSelectableComponentProps {
|
1350
1325
|
entity: any;
|
1351
|
-
|
1326
|
+
selectedEntities: any[];
|
1352
1327
|
mustExpand?: boolean;
|
1353
1328
|
offset: number;
|
1354
1329
|
globalState: GlobalState;
|
1355
1330
|
extensibilityGroups?: IExplorerExtensibilityGroup[];
|
1356
1331
|
filter: Nullable<string>;
|
1357
1332
|
}
|
1358
|
-
export
|
1333
|
+
export interface ITreeItemSelectableComponentState {
|
1334
|
+
dragOver: boolean;
|
1359
1335
|
isSelected: boolean;
|
1360
1336
|
isHovered: boolean;
|
1361
1337
|
dragOverLocation: DragOverLocation;
|
1362
|
-
}
|
1363
|
-
|
1338
|
+
}
|
1339
|
+
export class TreeItemSelectableComponent extends React.Component<ITreeItemSelectableComponentProps, ITreeItemSelectableComponentState> {
|
1364
1340
|
private _onSelectionChangedObservable;
|
1365
1341
|
private _onDraggingEndObservable;
|
1366
1342
|
private _onDraggingStartObservable;
|
1343
|
+
/** flag flipped onDragEnter if dragOver is already true
|
1344
|
+
* prevents dragLeave from immediately setting dragOver to false
|
1345
|
+
* required to make dragging work as expected
|
1346
|
+
* see: see: https://github.com/transformation-dev/matrx/tree/master/packages/dragster
|
1347
|
+
*/
|
1348
|
+
private _secondDragEnter;
|
1367
1349
|
constructor(props: ITreeItemSelectableComponentProps);
|
1368
1350
|
switchExpandedState(): void;
|
1369
1351
|
shouldComponentUpdate(nextProps: ITreeItemSelectableComponentProps, nextState: {
|
@@ -1375,6 +1357,7 @@ declare module "@babylonjs/gui-editor/components/sceneExplorer/treeItemSelectabl
|
|
1375
1357
|
renderChildren(isExpanded: boolean, offset?: boolean): (JSX.Element | null)[] | null;
|
1376
1358
|
render(): JSX.Element | (JSX.Element | null)[] | null;
|
1377
1359
|
dragOver(event: React.DragEvent<HTMLDivElement>): void;
|
1360
|
+
updateDragOverLocation(event: React.DragEvent<HTMLDivElement>): void;
|
1378
1361
|
drop(): void;
|
1379
1362
|
}
|
1380
1363
|
}
|
@@ -1391,7 +1374,7 @@ declare module "@babylonjs/gui-editor/components/sceneExplorer/treeItemComponent
|
|
1391
1374
|
forceSubitems?: boolean;
|
1392
1375
|
globalState: GlobalState;
|
1393
1376
|
entity?: any;
|
1394
|
-
|
1377
|
+
selectedEntities: any[];
|
1395
1378
|
extensibilityGroups?: IExplorerExtensibilityGroup[];
|
1396
1379
|
contextMenuItems?: {
|
1397
1380
|
label: string;
|
@@ -1501,9 +1484,77 @@ declare module "@babylonjs/gui-editor/components/commandBarComponent" {
|
|
1501
1484
|
private _panning;
|
1502
1485
|
private _zooming;
|
1503
1486
|
private _selecting;
|
1504
|
-
private _outlines;
|
1505
1487
|
constructor(props: ICommandBarComponentProps);
|
1506
|
-
|
1488
|
+
render(): JSX.Element;
|
1489
|
+
}
|
1490
|
+
}
|
1491
|
+
declare module "@babylonjs/gui-editor/diagram/guiGizmo" {
|
1492
|
+
import { Control } from "@babylonjs/gui/2D/controls/control";
|
1493
|
+
import { Vector2 } from "@babylonjs/core/Maths/math.vector";
|
1494
|
+
import * as React from "react";
|
1495
|
+
import { GlobalState } from "@babylonjs/gui-editor/globalState";
|
1496
|
+
import { Rect } from "@babylonjs/gui-editor/diagram/coordinateHelper";
|
1497
|
+
export interface IGuiGizmoProps {
|
1498
|
+
globalState: GlobalState;
|
1499
|
+
control: Control;
|
1500
|
+
}
|
1501
|
+
enum ScalePointPosition {
|
1502
|
+
Top = -1,
|
1503
|
+
Left = -1,
|
1504
|
+
Center = 0,
|
1505
|
+
Right = 1,
|
1506
|
+
Bottom = 1
|
1507
|
+
}
|
1508
|
+
interface IScalePoint {
|
1509
|
+
position: Vector2;
|
1510
|
+
horizontalPosition: ScalePointPosition;
|
1511
|
+
verticalPosition: ScalePointPosition;
|
1512
|
+
rotation: number;
|
1513
|
+
isPivot: boolean;
|
1514
|
+
}
|
1515
|
+
interface IGuiGizmoState {
|
1516
|
+
canvasBounds: Rect;
|
1517
|
+
scalePoints: IScalePoint[];
|
1518
|
+
scalePointDragging: number;
|
1519
|
+
isRotating: boolean;
|
1520
|
+
}
|
1521
|
+
export class GuiGizmoComponent extends React.Component<IGuiGizmoProps, IGuiGizmoState> {
|
1522
|
+
private _storedValues;
|
1523
|
+
private _localBounds;
|
1524
|
+
private _rotation;
|
1525
|
+
private _gizmoUpdateObserver;
|
1526
|
+
private _pointerUpObserver;
|
1527
|
+
private _pointerMoveObserver;
|
1528
|
+
constructor(props: IGuiGizmoProps);
|
1529
|
+
componentWillUnmount(): void;
|
1530
|
+
/**
|
1531
|
+
* Update the gizmo's positions
|
1532
|
+
* @param force should the update be forced. otherwise it will be updated only when the pointer is down
|
1533
|
+
*/
|
1534
|
+
updateGizmo(force?: boolean): void;
|
1535
|
+
private _onUp;
|
1536
|
+
private _onMove;
|
1537
|
+
private _rotate;
|
1538
|
+
private _modulo;
|
1539
|
+
private _dragLocalBounds;
|
1540
|
+
private _updateNodeFromLocalBounds;
|
1541
|
+
private _beginDraggingScalePoint;
|
1542
|
+
private _beginRotate;
|
1543
|
+
render(): JSX.Element;
|
1544
|
+
}
|
1545
|
+
}
|
1546
|
+
declare module "@babylonjs/gui-editor/diagram/guiGizmoWrapper" {
|
1547
|
+
import { Nullable } from "@babylonjs/core/types";
|
1548
|
+
import { Observer } from "@babylonjs/core/Misc/observable";
|
1549
|
+
import * as React from "react";
|
1550
|
+
import { GlobalState } from "@babylonjs/gui-editor/globalState";
|
1551
|
+
export interface IGizmoWrapperProps {
|
1552
|
+
globalState: GlobalState;
|
1553
|
+
}
|
1554
|
+
export class GizmoWrapper extends React.Component<IGizmoWrapperProps> {
|
1555
|
+
observer: Nullable<Observer<void>>;
|
1556
|
+
componentWillMount(): void;
|
1557
|
+
componentWillUnmount(): void;
|
1507
1558
|
render(): JSX.Element;
|
1508
1559
|
}
|
1509
1560
|
}
|
@@ -1526,6 +1577,7 @@ declare module "@babylonjs/gui-editor/diagram/artBoard" {
|
|
1526
1577
|
declare module "@babylonjs/gui-editor/workbenchEditor" {
|
1527
1578
|
import * as React from "react";
|
1528
1579
|
import { GlobalState } from "@babylonjs/gui-editor/globalState";
|
1580
|
+
import { Control } from "@babylonjs/gui/2D/controls/control";
|
1529
1581
|
interface IGraphEditorProps {
|
1530
1582
|
globalState: GlobalState;
|
1531
1583
|
}
|
@@ -1565,7 +1617,7 @@ declare module "@babylonjs/gui-editor/workbenchEditor" {
|
|
1565
1617
|
subItems?: string[];
|
1566
1618
|
}[];
|
1567
1619
|
createItems(): void;
|
1568
|
-
onCreate(value: string):
|
1620
|
+
onCreate(value: string): Control;
|
1569
1621
|
createToolbar(): JSX.Element;
|
1570
1622
|
}
|
1571
1623
|
}
|
package/package.json
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
},
|
5
5
|
"name": "@babylonjs/gui-editor",
|
6
6
|
"description": "The Babylon.js GUI editor.",
|
7
|
-
"version": "5.0.0-
|
7
|
+
"version": "5.0.0-rc.0",
|
8
8
|
"repository": {
|
9
9
|
"type": "git",
|
10
10
|
"url": "https://github.com/BabylonJS/Babylon.js.git"
|
11
11
|
},
|
12
12
|
"license": "Apache-2.0",
|
13
13
|
"dependencies": {
|
14
|
-
"@babylonjs/core": "5.0.0-
|
14
|
+
"@babylonjs/core": "5.0.0-rc.0",
|
15
15
|
"tslib": "^2.3.1"
|
16
16
|
},
|
17
17
|
"files": [
|