@reffy/infinite-canvas 0.1.2 → 0.2.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/README.md +12 -31
- package/dist/API.d.ts +19 -2
- package/dist/API.d.ts.map +1 -1
- package/dist/Canvas.d.ts +2 -1
- package/dist/Canvas.d.ts.map +1 -1
- package/dist/Component.d.ts +1 -1
- package/dist/Component.d.ts.map +1 -1
- package/dist/bounding/Marquee.d.ts.map +1 -1
- package/dist/bounding/MultiBoundingBox.d.ts +1 -1
- package/dist/bounding/MultiBoundingBox.d.ts.map +1 -1
- package/dist/contextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/contextMenu/Interaction.d.ts +1 -1
- package/dist/contextMenu/Interaction.d.ts.map +1 -1
- package/dist/index.js +2856 -2600
- package/dist/index.js.map +1 -1
- package/dist/manager/ContextMenu.d.ts +2 -0
- package/dist/manager/ContextMenu.d.ts.map +1 -1
- package/dist/manager/PointerEvent.d.ts.map +1 -1
- package/dist/manager/Selection.d.ts.map +1 -1
- package/dist/serializer/schema.d.ts +1 -0
- package/dist/serializer/schema.d.ts.map +1 -1
- package/dist/serializer/serializer.d.ts.map +1 -1
- package/dist/storage/defaultStorage.d.ts +91 -19
- package/dist/storage/defaultStorage.d.ts.map +1 -1
- package/dist/storage/storage.d.ts +21 -6
- package/dist/storage/storage.d.ts.map +1 -1
- package/dist/util/clipboard.d.ts +2 -1
- package/dist/util/clipboard.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,20 +10,13 @@ A TypeScript Web Component (`<infinite-canvas>`) that provides an infinite, GPU-
|
|
|
10
10
|
|
|
11
11
|
Live Demo Site: https://trash-lobster.github.io/reffy-infinite-canvas/
|
|
12
12
|
|
|
13
|
-
##
|
|
14
|
-
|
|
15
|
-
Before you carry on to read the rest of the documentation, I would like to first state that this project was heavily influenced by the following open-sourced projects:
|
|
16
|
-
|
|
17
|
-
- [Excalidraw](https://excalidraw.com/)
|
|
18
|
-
- [An infinite canvas tutorial](https://infinitecanvas.cc/)
|
|
19
|
-
|
|
20
|
-
They are both incredible resources and have sped up my own learning and I highly recommend browsing through their materials. I am still learning as I go and working on this project.
|
|
21
|
-
|
|
22
|
-
Additionally, I referenced [PureRef](https://www.pureref.com/) for a lot of the available functions. In fact, as the project continued development, it became clear that I wanted to create a version of PureRef, but for the web.
|
|
13
|
+
## Installation
|
|
23
14
|
|
|
24
|
-
|
|
15
|
+
```powershell
|
|
16
|
+
npm i reffy-infinite-canvas
|
|
17
|
+
```
|
|
25
18
|
|
|
26
|
-
##
|
|
19
|
+
## Project Context
|
|
27
20
|
|
|
28
21
|
While working on a separate, but related project, I was making a lot of progress leveraging Excalidraw and enjoying the fact that I did not have to think or write my own implementation. However, Excalidraw, despite how fantastic it is, came coupled with a predetermined setup (toolbars and such) and a lot of functions that a pure image reference board would not need.
|
|
29
22
|
|
|
@@ -31,25 +24,16 @@ Thus, I made the challenging decision to try to write my own. Reffy Infinite Can
|
|
|
31
24
|
|
|
32
25
|
While not everything is customisable, it does offer more options than Excalidraw, achieving part of the initial goal.
|
|
33
26
|
|
|
34
|
-
|
|
27
|
+
Before you carry on to read the rest of the documentation (found in the `documentation` directory), I would like to credit that this project was heavily influenced by the following open-sourced projects:
|
|
35
28
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## API
|
|
29
|
+
- [Excalidraw](https://excalidraw.com/)
|
|
30
|
+
- [An infinite canvas tutorial](https://infinitecanvas.cc/)
|
|
41
31
|
|
|
42
|
-
|
|
32
|
+
They are both incredible resources and have sped up my own learning and I highly recommend browsing through their materials. I am still learning as I work on this project.
|
|
43
33
|
|
|
44
|
-
|
|
45
|
-
const el = document.querySelector('#canvas') as InfiniteCanvasElement;
|
|
34
|
+
Additionally, I referenced [PureRef](https://www.pureref.com/) for a lot of the available functions. In fact, as the project continued development, it became clear that I wanted to create a version of PureRef, but for the web.
|
|
46
35
|
|
|
47
|
-
|
|
48
|
-
// example: toggling the grid mode for the canvas
|
|
49
|
-
const modeButton = document.getElementById('mode-button') as HTMLButtonElement;
|
|
50
|
-
modeButton.onclick = api.toggleMode.bind(api);
|
|
51
|
-
};
|
|
52
|
-
```
|
|
36
|
+
Happy learning!
|
|
53
37
|
|
|
54
38
|
## Image transformation
|
|
55
39
|
|
|
@@ -60,6 +44,7 @@ Available image transformations:
|
|
|
60
44
|
- Align
|
|
61
45
|
- Scale
|
|
62
46
|
- Move
|
|
47
|
+
- Rotate (to be added)
|
|
63
48
|
|
|
64
49
|
## Persistent storage
|
|
65
50
|
|
|
@@ -90,7 +75,3 @@ The design for image storage is styled after Excalidraw. This means breaking the
|
|
|
90
75
|
The canvas is reconstructed each time you load the canvas.
|
|
91
76
|
|
|
92
77
|
When setting up the canvasStorage, you can add the custom canvas storage and add a frequency, measured in ms. The default is 300000 ms (or, 5 minutes).
|
|
93
|
-
|
|
94
|
-
### TODO:
|
|
95
|
-
|
|
96
|
-
- Add method to allow custom setting of how frequent auto save should be
|
package/dist/API.d.ts
CHANGED
|
@@ -1,15 +1,32 @@
|
|
|
1
|
-
import { CanvasStorage } from './storage';
|
|
1
|
+
import { CanvasStorage, CanvasStorageEntry, FileDeletionResult, FileStorage } from './storage';
|
|
2
2
|
import { InfiniteCanvasElement } from './Component';
|
|
3
3
|
export declare class InfiniteCanvasAPI {
|
|
4
4
|
private el;
|
|
5
5
|
constructor(el: InfiniteCanvasElement);
|
|
6
6
|
static forElement(selectorOrElement: string | InfiniteCanvasElement): Promise<InfiniteCanvasAPI>;
|
|
7
|
+
static getAllCanvasNames(canvasStorage?: CanvasStorage): Promise<string[]>;
|
|
8
|
+
static getAllCanvasData(canvasStorage?: CanvasStorage): Promise<CanvasStorageEntry[]>;
|
|
7
9
|
/**
|
|
8
|
-
*
|
|
10
|
+
* Writes an empty entry to the database
|
|
11
|
+
*/
|
|
12
|
+
static registerCanvas(id: string, canvasStorage?: CanvasStorage): Promise<string | number>;
|
|
13
|
+
static deleteCanvas(id: string): Promise<import('./storage').CanvasStorageData>;
|
|
14
|
+
/**
|
|
15
|
+
* This is a long process that reviews and cleans up the file storage.
|
|
16
|
+
* Only cleans the file storage in IndexedDB.
|
|
17
|
+
* Since the storage uses a queuing system, there is no risk of accidentally deleting new entries.
|
|
18
|
+
* However, please account for the noticeable delay that will incur when your file storage gets too big.
|
|
19
|
+
* Failed deletion does not interupt the deletion
|
|
20
|
+
* @returns {Promise<FileDeletionResult>} The result of the deletion. Check for the ok status and error to see if deletion succeeded or not.
|
|
21
|
+
*/
|
|
22
|
+
static clearFileDataInIDB(): Promise<FileDeletionResult[]>;
|
|
23
|
+
/**
|
|
24
|
+
* Without assigning storage, the canvas will write to indexDB
|
|
9
25
|
* @param storage
|
|
10
26
|
* @param saveFrequency How often auto save occurs in ms
|
|
11
27
|
*/
|
|
12
28
|
assignCanvasStorage(storage: CanvasStorage, saveFrequency?: number): this;
|
|
29
|
+
assignFileStorage(storage: FileStorage): this;
|
|
13
30
|
zoomIn(): Promise<void>;
|
|
14
31
|
zoomOut(): Promise<void>;
|
|
15
32
|
toggleMode(): Promise<void>;
|
package/dist/API.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"API.d.ts","sourceRoot":"src/","sources":["../API.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"API.d.ts","sourceRoot":"src/","sources":["../API.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EAGlB,kBAAkB,EAClB,WAAW,EACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGpD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAAwB;gBAEtB,EAAE,EAAE,qBAAqB;WAkBxB,UAAU,CACrB,iBAAiB,EAAE,MAAM,GAAG,qBAAqB,GAChD,OAAO,CAAC,iBAAiB,CAAC;WAmBhB,iBAAiB,CAAC,aAAa,CAAC,EAAE,aAAa;WAM/C,gBAAgB,CAC3B,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAWhC;;OAEG;WACU,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa;WAaxD,YAAY,CAAC,EAAE,EAAE,MAAM;IAKpC;;;;;;;OAOG;WACU,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAOhE;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,GAAE,MAAa;IAKxE,iBAAiB,CAAC,OAAO,EAAE,WAAW;IAKhC,MAAM;IAIN,OAAO;IAIP,UAAU;IAIhB,YAAY;IAIN,iBAAiB,CAAC,QAAQ,EAAE,QAAQ;IAepC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM;IAI9B,YAAY,CAAC,QAAQ,EAAE,QAAQ;IAK/B,WAAW;IAIX,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAIvD,wBAAwB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAIxD,QAAQ,CAAC,GAAG,EAAE,MAAM;CAG3B"}
|
package/dist/Canvas.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { SelectionManager, PointerEventManager, ContextMenuManager } from './man
|
|
|
3
3
|
import { Camera } from './camera';
|
|
4
4
|
import { CanvasHistory } from './history';
|
|
5
5
|
import { default as EventEmitter } from 'eventemitter3';
|
|
6
|
+
import { ImageFileMetadata } from './storage';
|
|
6
7
|
export declare class Canvas extends Renderable {
|
|
7
8
|
#private;
|
|
8
9
|
writeToStorage: () => void;
|
|
@@ -24,7 +25,7 @@ export declare class Canvas extends Renderable {
|
|
|
24
25
|
get isGlobalClick(): boolean;
|
|
25
26
|
set isGlobalClick(val: boolean);
|
|
26
27
|
get basicShapeProgram(): WebGLProgram;
|
|
27
|
-
constructor(canvas: HTMLCanvasElement, history: CanvasHistory, eventHub: EventEmitter, writeToStorage: () => void, saveImgFileToStorage: (data: string) => Promise<string | number | null>, getContainerDimension: () => number[]);
|
|
28
|
+
constructor(canvas: HTMLCanvasElement, history: CanvasHistory, eventHub: EventEmitter, writeToStorage: () => void, getFileFromStorage: (id: string) => Promise<ImageFileMetadata>, saveImgFileToStorage: (data: string) => Promise<string | number | null>, getContainerDimension: () => number[]);
|
|
28
29
|
engine(): this;
|
|
29
30
|
get totalNumberOfChildren(): number;
|
|
30
31
|
get numberOfChildrenRendered(): number;
|
package/dist/Canvas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Canvas.d.ts","sourceRoot":"src/","sources":["../Canvas.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAS,GAAG,EAAE,UAAU,EAAE,IAAI,EAAa,MAAM,UAAU,CAAC;AACnE,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EAEnB,kBAAkB,EAEnB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,YAAY,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Canvas.d.ts","sourceRoot":"src/","sources":["../Canvas.ts"],"names":[],"mappings":"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"}
|
package/dist/Component.d.ts
CHANGED
|
@@ -118,7 +118,7 @@ export declare class InfiniteCanvasElement extends LitElement {
|
|
|
118
118
|
*/
|
|
119
119
|
addImageFromUrl(url: string): Promise<void>;
|
|
120
120
|
copyImage(): Promise<void>;
|
|
121
|
-
pasteImage(
|
|
121
|
+
pasteImage(): Promise<void>;
|
|
122
122
|
flipVertical(): void;
|
|
123
123
|
flipHorizontal(): void;
|
|
124
124
|
align(direction: AlignDirection): void;
|
package/dist/Component.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.d.ts","sourceRoot":"src/","sources":["../Component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAO,MAAM,KAAK,CAAC;AAkBtD,OAAO,EACL,cAAc,EAId,aAAa,EACb,eAAe,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAGL,gBAAgB,EAOjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,aAAa,EAGb,WAAW,EACX,iBAAiB,EAClB,MAAM,WAAW,CAAC;AACnB,OAAO,YAAY,MAAM,eAAe,CAAC;AAazC,KAAK,iBAAiB,GAAG,YAAY,GAAG,UAAU,CAAC;AAEnD,qBACa,qBAAsB,SAAQ,UAAU;;IACnD,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;MAKf;IAEF,4KAA4K;IAC5K,IAAI,EAAE,MAAM,CAAW;IACvB,+HAA+H;IAC/H,KAAK,EAAE,MAAM,CAAC;IACd,gIAAgI;IAChI,MAAM,EAAE,MAAM,CAAC;IACf,yIAAyI;IACzI,WAAW,EAAE,iBAAiB,CAAgB;IAE9C,MAAM,CAAC,MAAM,0BA2IX;IAoBF,OAAO,CAAC,cAAc,CAAwD;IAC9E,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,mBAAmB,CAAgB;IAE3C,IAAI,sBAAsB,qBAEzB;IACD,IAAI,qBAAqB,qBAExB;IACD,IAAI,sBAAsB,qBAEzB;IAED;;;;OAIG;IACH,IAAI,cAAc,IAKK,MAAM,IAAI,CADhC;IACD,IAAI,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,EAGhC;IAED,sBAAsB,CAAC,EAAE,EAAE,MAAM,IAAI;IAIrC,wBAAwB,CAAC,EAAE,EAAE,MAAM,IAAI;IAIvC,IAAI,QAAQ,uCAEX;IACD,IAAI,OAAO,mBAEV;IAGD,iBAAiB;IASjB,oBAAoB;
|
|
1
|
+
{"version":3,"file":"Component.d.ts","sourceRoot":"src/","sources":["../Component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAO,MAAM,KAAK,CAAC;AAkBtD,OAAO,EACL,cAAc,EAId,aAAa,EACb,eAAe,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAGL,gBAAgB,EAOjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,aAAa,EAGb,WAAW,EACX,iBAAiB,EAClB,MAAM,WAAW,CAAC;AACnB,OAAO,YAAY,MAAM,eAAe,CAAC;AAazC,KAAK,iBAAiB,GAAG,YAAY,GAAG,UAAU,CAAC;AAEnD,qBACa,qBAAsB,SAAQ,UAAU;;IACnD,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;MAKf;IAEF,4KAA4K;IAC5K,IAAI,EAAE,MAAM,CAAW;IACvB,+HAA+H;IAC/H,KAAK,EAAE,MAAM,CAAC;IACd,gIAAgI;IAChI,MAAM,EAAE,MAAM,CAAC;IACf,yIAAyI;IACzI,WAAW,EAAE,iBAAiB,CAAgB;IAE9C,MAAM,CAAC,MAAM,0BA2IX;IAoBF,OAAO,CAAC,cAAc,CAAwD;IAC9E,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,mBAAmB,CAAgB;IAE3C,IAAI,sBAAsB,qBAEzB;IACD,IAAI,qBAAqB,qBAExB;IACD,IAAI,sBAAsB,qBAEzB;IAED;;;;OAIG;IACH,IAAI,cAAc,IAKK,MAAM,IAAI,CADhC;IACD,IAAI,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,EAGhC;IAED,sBAAsB,CAAC,EAAE,EAAE,MAAM,IAAI;IAIrC,wBAAwB,CAAC,EAAE,EAAE,MAAM,IAAI;IAIvC,IAAI,QAAQ,uCAEX;IACD,IAAI,OAAO,mBAEV;IAGD,iBAAiB;IASjB,oBAAoB;IAuBpB,SAAS,CAAC,YAAY,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAShE,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc;YAkB3B,UAAU;IAqFxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,YAAY;IAuCpB,OAAO,CAAC,cAAc;YA0BR,aAAa;IAW3B,aAAa;IAIb;;OAEG;IACH,gBAAgB;IAQhB;;;OAGG;IACH,mBAAmB,CACjB,OAAO,EAAE,aAAa,EACtB,aAAa,GAAE,MAA4B;IAW7C;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,WAAW;IAItC;;;;OAIG;IACG,qBAAqB,CACzB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAgBlC;;;OAGG;IACG,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAWtE;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAYtD,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3C,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAI7D;;;;;OAKG;IACG,wBAAwB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAI9D;;OAEG;IACH,2BAA2B,CAAC,OAAO,GAAE,MAAa;IAQ5C,mBAAmB;IAoBnB,6BAA6B;IAkC7B,4BAA4B;IAW5B,qBAAqB,CAAC,OAAO,EAAE,MAAM;IAY3C,iBAAiB;IAKjB,UAAU;IAKV,MAAM;IAKN,OAAO;IAKP,YAAY;IAKN,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAe5B,WAAW,CAAC,EAAE,EAAE,MAAM;IAQ5B,eAAe;IASf;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM;IAa3B,SAAS;IAST,UAAU;IAoBhB,YAAY;IAKZ,cAAc;IAKd,KAAK,CAAC,SAAS,EAAE,cAAc;IAK/B,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa;IAK7D,oBAAoB,CAAC,OAAO,EAAE,OAAO;IAKrC,aAAa;IAOb,oBAAoB;IAKd,YAAY,CAAC,QAAQ,SAAyB;IAS9C,YAAY,CAAC,QAAQ,EAAE,QAAQ;IA2CrC,WAAW;IAKX;;OAEG;IACH,wBAAwB;IAKxB;;OAEG;IACH,2BAA2B;IAM3B,OAAO,CAAC,uBAAuB,CAO7B;CACH;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,qBAAqB,CAAC;KAC1C;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Marquee.d.ts","sourceRoot":"src/","sources":["../../bounding/bounding/Marquee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAUtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAI9B;;GAEG;AACH,qBAAa,mBAAmB;IAG9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAK;IAClB,MAAM,EAAE,MAAM,CAAK;IACnB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAa;IACrC,UAAU,EAAE,MAAM,CAAK;IACvB,IAAI,EAAE,IAAI,CAAC;gBAEC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;IAOvD,OAAO,CAAC,aAAa;IAqCrB,MAAM,CAAC,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAQ9D,MAAM;IAKN,OAAO;IAMP;;;OAGG;IACH,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"Marquee.d.ts","sourceRoot":"src/","sources":["../../bounding/bounding/Marquee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAUtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAI9B;;GAEG;AACH,qBAAa,mBAAmB;IAG9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAK;IAClB,MAAM,EAAE,MAAM,CAAK;IACnB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAa;IACrC,UAAU,EAAE,MAAM,CAAK;IACvB,IAAI,EAAE,IAAI,CAAC;gBAEC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;IAOvD,OAAO,CAAC,aAAa;IAqCrB,MAAM,CAAC,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAQ9D,MAAM;IAKN,OAAO;IAMP;;;OAGG;IACH,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE;IAgBjE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;IAMpD,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,WAAW;CAepB"}
|
|
@@ -19,7 +19,7 @@ export declare class MultiBoundingBox {
|
|
|
19
19
|
destroy(): void;
|
|
20
20
|
move(dx: number, dy: number): void;
|
|
21
21
|
resize(dx: number, dy: number, direction: BoundingBoxCollisionType, parentMatrix: number[]): void;
|
|
22
|
-
flip(
|
|
22
|
+
flip(direction: FlipDirection, getWorldCoords: (x: number, y: number) => number[]): FlipSnapshotItem[];
|
|
23
23
|
align(direction: AlignDirection): TransformSnapshotItem[];
|
|
24
24
|
normalize(type: NormalizeOption, mode: NormalizeMode): TransformSnapshotItem[];
|
|
25
25
|
getPositions(): number[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiBoundingBox.d.ts","sourceRoot":"src/","sources":["../../bounding/bounding/MultiBoundingBox.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,wBAAwB,EAIzB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,qBAAqB,EACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAOtC,qBAAa,gBAAgB;IAC3B,OAAO,EAAE,IAAI,EAAE,CAAM;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAa;IACvC,UAAU,EAAE,MAAM,CAAK;IACvB,OAAO,EAAE,MAAM,CAAK;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;gBAEJ,MAAM,CAAC,EAAE,IAAI,EAAE;IAM3B,GAAG,CAAC,KAAK,EAAE,IAAI;IAMf,MAAM,CAAC,KAAK,EAAE,IAAI;IAKlB,MAAM,CAAC,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAQ9D,MAAM;IAQN,OAAO;IAMP,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAO3B,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,wBAAwB,EACnC,YAAY,EAAE,MAAM,EAAE;IAgFxB,IAAI,CACF,
|
|
1
|
+
{"version":3,"file":"MultiBoundingBox.d.ts","sourceRoot":"src/","sources":["../../bounding/bounding/MultiBoundingBox.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,wBAAwB,EAIzB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,qBAAqB,EACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAOtC,qBAAa,gBAAgB;IAC3B,OAAO,EAAE,IAAI,EAAE,CAAM;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAa;IACvC,UAAU,EAAE,MAAM,CAAK;IACvB,OAAO,EAAE,MAAM,CAAK;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;gBAEJ,MAAM,CAAC,EAAE,IAAI,EAAE;IAM3B,GAAG,CAAC,KAAK,EAAE,IAAI;IAMf,MAAM,CAAC,KAAK,EAAE,IAAI;IAKlB,MAAM,CAAC,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAQ9D,MAAM;IAQN,OAAO;IAMP,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAO3B,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,wBAAwB,EACnC,YAAY,EAAE,MAAM,EAAE;IAgFxB,IAAI,CACF,SAAS,EAAE,aAAa,EACxB,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE;IAwCpD,KAAK,CAAC,SAAS,EAAE,cAAc;IA8C/B,SAAS,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa;IAgFpD,YAAY,IAAI,MAAM,EAAE;IAaxB,OAAO,CACL,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,MAAM,EAAE,GACpB,wBAAwB,GAAG,IAAI;IA0BlC,OAAO,CAAC,SAAS;IAuBjB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,eAAe;CAsDxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.d.ts","sourceRoot":"src/","sources":["../../contextMenu/contextMenu/ContextMenu.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5D,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAEF,KAAK,mBAAmB,GACpB,CAAC,uBAAuB,GAAG;IACzB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACpC,CAAC,GACF,CAAC,uBAAuB,GAAG;IAAE,YAAY,EAAE,mBAAmB,EAAE,CAAA;CAAE,CAAC,CAAC;AAExE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,EAAE,mBAAmB,EAAE,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAW;IACtB,GAAG,EAAE,cAAc,CAAC;IACpB,OAAO,EAAE,gBAAgB,EAAE,CAAM;IACjC,QAAQ,EAAE,gBAAgB,GAAG,WAAW,CAAC;IAEzC,IAAI,EAAE,mBAEL;gBAGC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,gBAAgB,GAAG,WAAW;IAkB1C,cAAc,CAAC,MAAM,EAAE,IAAI;IAI3B,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"ContextMenu.d.ts","sourceRoot":"src/","sources":["../../contextMenu/contextMenu/ContextMenu.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5D,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAEF,KAAK,mBAAmB,GACpB,CAAC,uBAAuB,GAAG;IACzB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACpC,CAAC,GACF,CAAC,uBAAuB,GAAG;IAAE,YAAY,EAAE,mBAAmB,EAAE,CAAA;CAAE,CAAC,CAAC;AAExE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,EAAE,mBAAmB,EAAE,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAW;IACtB,GAAG,EAAE,cAAc,CAAC;IACpB,OAAO,EAAE,gBAAgB,EAAE,CAAM;IACjC,QAAQ,EAAE,gBAAgB,GAAG,WAAW,CAAC;IAEzC,IAAI,EAAE,mBAEL;gBAGC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,gBAAgB,GAAG,WAAW;IAkB1C,cAAc,CAAC,MAAM,EAAE,IAAI;IAI3B,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,UAAU;CAKnB;AAED,qBAAa,gBAAgB;IAC3B,GAAG,EAAE,cAAc,CAAC;IACpB,YAAY,EAAE,kBAAkB,EAAE,CAAM;IACxC,QAAQ,EAAE,gBAAgB,GAAG,WAAW,CAAC;IAEzC,IAAI,EAAE,mBAEL;gBAGC,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,EAAE,gBAAgB,GAAG,WAAW;IAS1C,cAAc,CAAC,MAAM,EAAE,IAAI;IAI3B,OAAO,CAAC,mBAAmB;CAK5B;AAED;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,iBAAiB,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,gBAAgB,GAAG,WAAW,CAAC;IAEzC,IAAI,EAAE,sBAEL;gBAGC,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,gBAAgB,GAAG,WAAW;CAuB3C"}
|
|
@@ -18,7 +18,7 @@ export declare function createSingleImageMenuOptions(base?: ContextMenuGroupProp
|
|
|
18
18
|
export declare function createMultiImageMenuOptions(base?: ContextMenuGroupProps[]): {
|
|
19
19
|
options: ContextMenuGroupProps[];
|
|
20
20
|
};
|
|
21
|
-
export declare function
|
|
21
|
+
export declare function createCanvasMenuOptions(base?: ContextMenuGroupProps[]): {
|
|
22
22
|
options: ContextMenuGroupProps[];
|
|
23
23
|
};
|
|
24
24
|
//# sourceMappingURL=Interaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Interaction.d.ts","sourceRoot":"src/","sources":["../../contextMenu/contextMenu/Interaction.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,qBAAqB,EACrB,eAAe,EAChB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Interaction.d.ts","sourceRoot":"src/","sources":["../../contextMenu/contextMenu/Interaction.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,qBAAqB,EACrB,eAAe,EAChB,MAAM,eAAe,CAAC;AAiBvB,wBAAgB,cAAc,CAC5B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,IAAI,GAAE,eAA0B,QAqDjC;AAED,wBAAgB,gBAAgB,SAQ/B;AAED,wBAAgB,mBAAmB,YAElC;AAED,wBAAgB,2BAA2B;;;;;;;EAqC1C;AAED,wBAAgB,4BAA4B,CAAC,IAAI,CAAC,EAAE,qBAAqB,EAAE;;;;EA2C1E;AAED,wBAAgB,2BAA2B,CAAC,IAAI,CAAC,EAAE,qBAAqB,EAAE;;EA+HzE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE,qBAAqB,EAAE;;EA+BrE"}
|