@idraw/core 0.3.0-beta.3 → 0.3.0-beta.7

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 (38) hide show
  1. package/dist/esm/index.d.ts +44 -44
  2. package/dist/esm/index.js +85 -80
  3. package/dist/esm/lib/calculate.d.ts +3 -3
  4. package/dist/esm/lib/calculate.js +5 -5
  5. package/dist/esm/lib/check.d.ts +4 -4
  6. package/dist/esm/lib/check.js +1 -1
  7. package/dist/esm/lib/config.d.ts +2 -2
  8. package/dist/esm/lib/core-event.d.ts +21 -21
  9. package/dist/esm/lib/diff.d.ts +6 -6
  10. package/dist/esm/lib/diff.js +9 -7
  11. package/dist/esm/lib/draw/base.d.ts +5 -5
  12. package/dist/esm/lib/draw/wrapper.d.ts +4 -4
  13. package/dist/esm/lib/element.d.ts +8 -8
  14. package/dist/esm/lib/element.js +15 -11
  15. package/dist/esm/lib/engine-temp.d.ts +4 -4
  16. package/dist/esm/lib/engine.d.ts +5 -5
  17. package/dist/esm/lib/helper.d.ts +12 -12
  18. package/dist/esm/lib/is.d.ts +3 -3
  19. package/dist/esm/lib/mapper.d.ts +4 -4
  20. package/dist/esm/lib/parse.d.ts +2 -2
  21. package/dist/esm/lib/parse.js +6 -3
  22. package/dist/esm/lib/transform.d.ts +4 -4
  23. package/dist/esm/lib/transform.js +1 -1
  24. package/dist/esm/mixins/element.d.ts +12 -14
  25. package/dist/esm/mixins/element.js +60 -62
  26. package/dist/esm/plugins/helper.d.ts +7 -7
  27. package/dist/esm/plugins/helper.js +5 -10
  28. package/dist/index.global.js +400 -439
  29. package/dist/index.global.min.js +1 -1
  30. package/package.json +6 -6
  31. package/dist/esm/lib/element/element-base.d.ts +0 -3
  32. package/dist/esm/lib/element/element-base.js +0 -5
  33. package/dist/esm/lib/element/element-controller.d.ts +0 -3
  34. package/dist/esm/lib/element/element-controller.js +0 -3
  35. package/dist/esm/lib/element/element-hub.d.ts +0 -9
  36. package/dist/esm/lib/element/element-hub.js +0 -16
  37. package/dist/esm/names.d.ts +0 -15
  38. package/dist/esm/names.js +0 -15
@@ -1,59 +1,59 @@
1
- import { TypeData, TypePoint, TypeBoardSizeOptions, TypeConfig, TypeElementBase, TypeElement, TypeElemDesc, TypeContext, TypeCoreOptions, TypeScreenContext, TypeScreenData } from '@idraw/types';
2
- import { TypeIs } from './lib/is';
3
- import { TypeCheck } from './lib/check';
4
- import { TypeCoreEventArgMap } from './lib';
5
- import { _board, _data, _opts, _config, _renderer, _element, _tempData, _draw, _coreEvent, _emitChangeScreen, _emitChangeData, _engine } from './names';
1
+ import { IDrawData, Point, BoardSizeOptions, IDrawConfig, DataElementBase, DataElement, DataElemDesc, IDrawContext, CoreOptions, ScreenContext, ScreenData } from '@idraw/types';
2
+ import { IsTypeUtil } from './lib/is';
3
+ import { CheckTypeUtil } from './lib/check';
4
+ import { Element, TypeCoreEventArgMap } from './lib';
5
+ import { Engine } from './lib/engine';
6
6
  export default class Core {
7
- private [_board];
8
- private [_data];
9
- private [_opts];
10
- private [_config];
11
- private [_renderer];
12
- private [_element];
13
- private [_coreEvent];
14
- private [_tempData];
15
- private [_engine];
16
- static is: TypeIs;
17
- static check: TypeCheck;
18
- constructor(mount: HTMLDivElement, opts: TypeCoreOptions, config?: TypeConfig);
19
- [_draw](opts?: {
7
+ $data: IDrawData;
8
+ private _board;
9
+ private _opts;
10
+ private _config;
11
+ private _renderer;
12
+ private _elementHandler;
13
+ private _coreEvent;
14
+ private _tempData;
15
+ private _engine;
16
+ static is: IsTypeUtil;
17
+ static check: CheckTypeUtil;
18
+ constructor(mount: HTMLDivElement, opts: CoreOptions, config?: IDrawConfig);
19
+ private _emitChangeScreen;
20
+ $draw(opts?: {
20
21
  resourceChangeUUIDs?: string[];
21
22
  }): void;
22
- getElement(uuid: string): TypeElement<keyof TypeElemDesc> | null;
23
- getElementByIndex(index: number): TypeElement<keyof TypeElemDesc> | null;
23
+ getElement(uuid: string): DataElement<keyof DataElemDesc> | null;
24
+ getElementByIndex(index: number): DataElement<keyof DataElemDesc> | null;
24
25
  selectElementByIndex(index: number): void;
25
26
  selectElement(uuid: string): void;
26
27
  cancelElementByIndex(index: number): void;
27
- cancelElement(uuid: string, opts?: {
28
- useMode?: boolean;
29
- }): void;
28
+ cancelElement(uuid: string): void;
30
29
  moveUpElement(uuid: string): void;
31
30
  moveDownElement(uuid: string): void;
32
- updateElement(elem: TypeElement<keyof TypeElemDesc>): void;
33
- addElement(elem: TypeElementBase<keyof TypeElemDesc>): string | null;
31
+ updateElement(elem: DataElement<keyof DataElemDesc>): void;
32
+ addElement(elem: DataElementBase<keyof DataElemDesc>): string | null;
34
33
  deleteElement(uuid: string): void;
35
- insertElementBefore(elem: TypeElementBase<keyof TypeElemDesc>, beforeUUID: string): any;
36
- insertElementBeforeIndex(elem: TypeElementBase<keyof TypeElemDesc>, index: number): any;
37
- getSelectedElements(): TypeElement<keyof TypeElemDesc>[];
38
- insertElementAfter(elem: TypeElementBase<keyof TypeElemDesc>, beforeUUID: string): any;
39
- insertElementAfterIndex(elem: TypeElementBase<keyof TypeElemDesc>, index: number): any;
40
- resetSize(opts: TypeBoardSizeOptions): void;
41
- scale(ratio: number): TypeScreenContext;
42
- scrollLeft(left: number): TypeScreenContext;
43
- scrollTop(top: number): TypeScreenContext;
44
- getScreenTransform(): TypeScreenData;
45
- getData(): TypeData;
46
- setData(data: any | TypeData, opts?: {
34
+ insertElementBefore(elem: DataElementBase<keyof DataElemDesc>, beforeUUID: string): any;
35
+ insertElementBeforeIndex(elem: DataElementBase<keyof DataElemDesc>, index: number): any;
36
+ getSelectedElements(): DataElement<keyof DataElemDesc>[];
37
+ insertElementAfter(elem: DataElementBase<keyof DataElemDesc>, beforeUUID: string): any;
38
+ insertElementAfterIndex(elem: DataElementBase<keyof DataElemDesc>, index: number): any;
39
+ resetSize(opts: BoardSizeOptions): void;
40
+ scale(ratio: number): ScreenContext;
41
+ scrollLeft(left: number): ScreenContext;
42
+ scrollTop(top: number): ScreenContext;
43
+ getScreenTransform(): ScreenData;
44
+ getData(): IDrawData;
45
+ setData(data: any | IDrawData, opts?: {
47
46
  triggerChangeEvent: boolean;
48
47
  }): void;
49
48
  clearOperation(): void;
50
49
  on<T extends keyof TypeCoreEventArgMap>(key: T, callback: (p: TypeCoreEventArgMap[T]) => void): void;
51
50
  off<T extends keyof TypeCoreEventArgMap>(key: T, callback: (p: TypeCoreEventArgMap[T]) => void): void;
52
- pointScreenToContext(p: TypePoint): TypePoint;
53
- pointContextToScreen(p: TypePoint): TypePoint;
54
- __getBoardContext(): TypeContext;
55
- __getDisplayContext2D(): CanvasRenderingContext2D;
56
- __getOriginContext2D(): CanvasRenderingContext2D;
57
- private [_emitChangeScreen];
58
- private [_emitChangeData];
51
+ getEngine(): Engine;
52
+ pointScreenToContext(p: Point): Point;
53
+ pointContextToScreen(p: Point): Point;
54
+ $getBoardContext(): IDrawContext;
55
+ $getDisplayContext2D(): CanvasRenderingContext2D;
56
+ $getOriginContext2D(): CanvasRenderingContext2D;
57
+ $emitChangeData(): void;
58
+ $getElementHandler(): Element;
59
59
  }
package/dist/esm/index.js CHANGED
@@ -1,70 +1,73 @@
1
- var _a, _b;
2
1
  import Board from '@idraw/board';
3
2
  import { deepClone } from '@idraw/util';
4
3
  import Renderer from '@idraw/renderer';
5
4
  import is from './lib/is';
6
5
  import check from './lib/check';
7
6
  import { Element, mergeConfig, CoreEvent, parseData, TempData, diffElementResourceChangeList } from './lib';
8
- import { _board, _data, _opts, _config, _renderer, _element, _tempData, _draw, _coreEvent, _emitChangeScreen, _emitChangeData, _engine } from './names';
9
7
  import { getSelectedElements, updateElement, selectElementByIndex, selectElement, cancelElementByIndex, cancelElement, getElement, getElementByIndex, moveUpElement, moveDownElement, addElement, deleteElement, insertElementBefore, insertElementBeforeIndex, insertElementAfter, insertElementAfterIndex } from './mixins/element';
10
8
  import { Engine } from './lib/engine';
11
9
  import { drawElementWrapper, drawAreaWrapper, drawElementListWrappers } from './lib/draw/wrapper';
12
- export default class Core {
10
+ class Core {
13
11
  constructor(mount, opts, config) {
14
- var _c, _d, _e;
15
- this[_a] = new CoreEvent();
16
- this[_b] = new TempData();
17
- this[_data] = { elements: [] };
18
- this[_opts] = opts;
19
- this[_config] = mergeConfig(config || {});
20
- this[_board] = new Board(mount, Object.assign(Object.assign({}, this[_opts]), { canScroll: (_c = config === null || config === void 0 ? void 0 : config.scrollWrapper) === null || _c === void 0 ? void 0 : _c.use, scrollConfig: Object.assign({ color: ((_d = config === null || config === void 0 ? void 0 : config.scrollWrapper) === null || _d === void 0 ? void 0 : _d.color) || '#000000', width: ((_e = config === null || config === void 0 ? void 0 : config.scrollWrapper) === null || _e === void 0 ? void 0 : _e.width) || 12 }, ((config === null || config === void 0 ? void 0 : config.scrollWrapper) || {})) }));
21
- this[_renderer] = new Renderer();
12
+ var _a, _b, _c;
13
+ this._coreEvent = new CoreEvent();
14
+ this._tempData = new TempData();
15
+ this.$data = { elements: [] };
16
+ this._opts = opts;
17
+ this._config = mergeConfig(config || {});
18
+ this._board = new Board(mount, Object.assign(Object.assign({}, this._opts), { canScroll: (_a = config === null || config === void 0 ? void 0 : config.scrollWrapper) === null || _a === void 0 ? void 0 : _a.use, scrollConfig: Object.assign({ color: ((_b = config === null || config === void 0 ? void 0 : config.scrollWrapper) === null || _b === void 0 ? void 0 : _b.color) || '#000000', width: ((_c = config === null || config === void 0 ? void 0 : config.scrollWrapper) === null || _c === void 0 ? void 0 : _c.width) || 12 }, ((config === null || config === void 0 ? void 0 : config.scrollWrapper) || {})) }));
19
+ this._renderer = new Renderer();
22
20
  const drawFrame = () => {
23
- const helperCtx = this[_board].getHelperContext();
24
- const helperConfig = this[_engine].getHelperConfig();
25
- this[_board].clear();
26
- const { contextWidth, contextHeight, devicePixelRatio } = this[_opts];
21
+ const helperCtx = this._board.getHelperContext();
22
+ const helperConfig = this._engine.getHelperConfig();
23
+ this._board.clear();
24
+ const { contextWidth, contextHeight, devicePixelRatio } = this._opts;
27
25
  helperCtx.clearRect(0, 0, contextWidth * devicePixelRatio, contextHeight * devicePixelRatio);
28
26
  drawElementWrapper(helperCtx, helperConfig);
29
27
  drawAreaWrapper(helperCtx, helperConfig);
30
28
  drawElementListWrappers(helperCtx, helperConfig);
31
- this[_board].draw();
29
+ this._board.draw();
32
30
  };
33
- this[_renderer].on('drawFrame', () => {
31
+ this._renderer.on('drawFrame', () => {
34
32
  drawFrame();
35
33
  });
36
- this[_renderer].on('drawFrameComplete', () => {
34
+ this._renderer.on('drawFrameComplete', () => {
37
35
  drawFrame();
38
36
  });
39
- this[_element] = new Element(this[_board].getContext());
40
- this[_engine] = new Engine({
41
- coreEvent: this[_coreEvent],
42
- board: this[_board],
43
- element: this[_element],
44
- config: this[_config],
45
- drawFeekback: this[_draw].bind(this),
46
- getDataFeekback: () => this[_data],
37
+ this._elementHandler = new Element(this._board.getContext());
38
+ this._engine = new Engine({
39
+ coreEvent: this._coreEvent,
40
+ board: this._board,
41
+ element: this._elementHandler,
42
+ config: this._config,
43
+ drawFeekback: this.$draw.bind(this),
44
+ getDataFeekback: () => this.$data,
47
45
  selectElementByIndex: this.selectElementByIndex.bind(this),
48
- emitChangeScreen: this[_emitChangeScreen].bind(this),
49
- emitChangeData: this[_emitChangeData].bind(this)
46
+ emitChangeScreen: this._emitChangeScreen.bind(this),
47
+ emitChangeData: this.$emitChangeData.bind(this)
50
48
  });
51
- this[_engine].init();
52
- this[_renderer].on('drawFrame', () => {
53
- this[_coreEvent].trigger('drawFrame', undefined);
49
+ this._engine.init();
50
+ this._renderer.on('drawFrame', () => {
51
+ this._coreEvent.trigger('drawFrame', undefined);
54
52
  });
55
- this[_renderer].on('drawFrameComplete', () => {
56
- this[_coreEvent].trigger('drawFrameComplete', undefined);
53
+ this._renderer.on('drawFrameComplete', () => {
54
+ this._coreEvent.trigger('drawFrameComplete', undefined);
57
55
  });
58
- this[_tempData].set('hasInited', true);
56
+ this._tempData.set('hasInited', true);
59
57
  }
60
- [(_a = _coreEvent, _b = _tempData, _draw)](opts) {
61
- this[_engine].updateHelperConfig({
62
- width: this[_opts].width,
63
- height: this[_opts].height,
64
- devicePixelRatio: this[_opts].devicePixelRatio
58
+ _emitChangeScreen() {
59
+ if (this._coreEvent.has('changeScreen')) {
60
+ this._coreEvent.trigger('changeScreen', Object.assign({}, this.getScreenTransform()));
61
+ }
62
+ }
63
+ $draw(opts) {
64
+ this._engine.updateHelperConfig({
65
+ width: this._opts.width,
66
+ height: this._opts.height,
67
+ devicePixelRatio: this._opts.devicePixelRatio
65
68
  });
66
- this[_renderer].thaw();
67
- this[_renderer].render(this[_board].getContext(), this[_data], {
69
+ this._renderer.thaw();
70
+ this._renderer.render(this._board.getContext(), this.$data, {
68
71
  changeResourceUUIDs: (opts === null || opts === void 0 ? void 0 : opts.resourceChangeUUIDs) || []
69
72
  });
70
73
  }
@@ -83,8 +86,8 @@ export default class Core {
83
86
  cancelElementByIndex(index) {
84
87
  return cancelElementByIndex(this, index);
85
88
  }
86
- cancelElement(uuid, opts) {
87
- return cancelElement(this, uuid, opts);
89
+ cancelElement(uuid) {
90
+ return cancelElement(this, uuid);
88
91
  }
89
92
  moveUpElement(uuid) {
90
93
  return moveUpElement(this, uuid);
@@ -117,30 +120,30 @@ export default class Core {
117
120
  return insertElementAfterIndex(this, elem, index);
118
121
  }
119
122
  resetSize(opts) {
120
- this[_opts] = Object.assign(Object.assign({}, this[_opts]), opts);
121
- this[_board].resetSize(opts);
122
- this[_draw]();
123
+ this._opts = Object.assign(Object.assign({}, this._opts), opts);
124
+ this._board.resetSize(opts);
125
+ this.$draw();
123
126
  }
124
127
  scale(ratio) {
125
- const screen = this[_board].scale(ratio);
126
- this[_draw]();
127
- this[_emitChangeScreen]();
128
+ const screen = this._board.scale(ratio);
129
+ this.$draw();
130
+ this._emitChangeScreen();
128
131
  return screen;
129
132
  }
130
133
  scrollLeft(left) {
131
- const screen = this[_board].scrollX(0 - left);
132
- this[_draw]();
133
- this[_emitChangeScreen]();
134
+ const screen = this._board.scrollX(0 - left);
135
+ this.$draw();
136
+ this._emitChangeScreen();
134
137
  return screen;
135
138
  }
136
139
  scrollTop(top) {
137
- const screen = this[_board].scrollY(0 - top);
138
- this[_draw]();
139
- this[_emitChangeScreen]();
140
+ const screen = this._board.scrollY(0 - top);
141
+ this.$draw();
142
+ this._emitChangeScreen();
140
143
  return screen;
141
144
  }
142
145
  getScreenTransform() {
143
- const transform = this[_board].getTransform();
146
+ const transform = this._board.getTransform();
144
147
  return {
145
148
  scale: transform.scale,
146
149
  scrollTop: Math.max(0, 0 - transform.scrollY),
@@ -148,51 +151,53 @@ export default class Core {
148
151
  };
149
152
  }
150
153
  getData() {
151
- return deepClone(this[_data]);
154
+ return deepClone(this.$data);
152
155
  }
153
156
  setData(data, opts) {
154
- const resourceChangeUUIDs = diffElementResourceChangeList(this[_data], data);
155
- this[_data] = this[_element].initData(deepClone(parseData(data)));
157
+ const resourceChangeUUIDs = diffElementResourceChangeList(this.$data, data);
158
+ this.$data = this._elementHandler.initData(deepClone(parseData(data)));
156
159
  if (opts && opts.triggerChangeEvent === true) {
157
- this[_emitChangeData]();
160
+ this.$emitChangeData();
158
161
  }
159
- this[_draw]({ resourceChangeUUIDs });
162
+ this.$draw({ resourceChangeUUIDs });
160
163
  }
161
164
  clearOperation() {
162
- this[_tempData].clear();
163
- this[_draw]();
165
+ this._tempData.clear();
166
+ this.$draw();
164
167
  }
165
168
  on(key, callback) {
166
- this[_coreEvent].on(key, callback);
169
+ this._coreEvent.on(key, callback);
167
170
  }
168
171
  off(key, callback) {
169
- this[_coreEvent].off(key, callback);
172
+ this._coreEvent.off(key, callback);
173
+ }
174
+ getEngine() {
175
+ return this._engine;
170
176
  }
171
177
  pointScreenToContext(p) {
172
- return this[_board].pointScreenToContext(p);
178
+ return this._board.pointScreenToContext(p);
173
179
  }
174
180
  pointContextToScreen(p) {
175
- return this[_board].pointContextToScreen(p);
181
+ return this._board.pointContextToScreen(p);
176
182
  }
177
- __getBoardContext() {
178
- return this[_board].getContext();
183
+ $getBoardContext() {
184
+ return this._board.getContext();
179
185
  }
180
- __getDisplayContext2D() {
181
- return this[_board].getDisplayContext2D();
186
+ $getDisplayContext2D() {
187
+ return this._board.getDisplayContext2D();
182
188
  }
183
- __getOriginContext2D() {
184
- return this[_board].getOriginContext2D();
189
+ $getOriginContext2D() {
190
+ return this._board.getOriginContext2D();
185
191
  }
186
- [_emitChangeScreen]() {
187
- if (this[_coreEvent].has('changeScreen')) {
188
- this[_coreEvent].trigger('changeScreen', Object.assign({}, this.getScreenTransform()));
192
+ $emitChangeData() {
193
+ if (this._coreEvent.has('changeData')) {
194
+ this._coreEvent.trigger('changeData', deepClone(this.$data));
189
195
  }
190
196
  }
191
- [_emitChangeData]() {
192
- if (this[_coreEvent].has('changeData')) {
193
- this[_coreEvent].trigger('changeData', deepClone(this[_data]));
194
- }
197
+ $getElementHandler() {
198
+ return this._elementHandler;
195
199
  }
196
200
  }
197
201
  Core.is = is;
198
202
  Core.check = check;
203
+ export default Core;
@@ -1,5 +1,5 @@
1
- import { TypeElement, TypeElemDesc, TypePoint } from '@idraw/types';
1
+ import { DataElement, DataElemDesc, Point } from '@idraw/types';
2
2
  export declare function parseRadianToAngle(radian: number): number;
3
3
  export declare function parseAngleToRadian(angle: number): number;
4
- export declare function calcElementCenter(elem: TypeElement<keyof TypeElemDesc>): TypePoint;
5
- export declare function calcRadian(center: TypePoint, start: TypePoint, end: TypePoint): number;
4
+ export declare function calcElementCenter(elem: DataElement<keyof DataElemDesc>): Point;
5
+ export declare function calcRadian(center: Point, start: Point, end: Point): number;
@@ -1,13 +1,13 @@
1
1
  export function parseRadianToAngle(radian) {
2
- return radian / Math.PI * 180;
2
+ return (radian / Math.PI) * 180;
3
3
  }
4
4
  export function parseAngleToRadian(angle) {
5
- return angle / 180 * Math.PI;
5
+ return (angle / 180) * Math.PI;
6
6
  }
7
7
  export function calcElementCenter(elem) {
8
8
  const p = {
9
9
  x: elem.x + elem.w / 2,
10
- y: elem.y + elem.h / 2,
10
+ y: elem.y + elem.h / 2
11
11
  };
12
12
  return p;
13
13
  }
@@ -15,10 +15,10 @@ export function calcRadian(center, start, end) {
15
15
  const startAngle = calcLineAngle(center, start);
16
16
  const endAngle = calcLineAngle(center, end);
17
17
  if (endAngle !== null && startAngle !== null) {
18
- if (startAngle > Math.PI * 3 / 2 && endAngle < Math.PI / 2) {
18
+ if (startAngle > (Math.PI * 3) / 2 && endAngle < Math.PI / 2) {
19
19
  return endAngle + (Math.PI * 2 - startAngle);
20
20
  }
21
- else if (endAngle > Math.PI * 3 / 2 && startAngle < Math.PI / 2) {
21
+ else if (endAngle > (Math.PI * 3) / 2 && startAngle < Math.PI / 2) {
22
22
  return startAngle + (Math.PI * 2 - endAngle);
23
23
  }
24
24
  else {
@@ -1,5 +1,5 @@
1
- import { TypeElementAttrs } from '@idraw/types';
2
- declare function attrs(attrs: TypeElementAttrs): boolean;
1
+ import { DataElementAttrs } from '@idraw/types';
2
+ declare function attrs(attrs: DataElementAttrs): boolean;
3
3
  declare function rectDesc(desc: any): boolean;
4
4
  declare function circleDesc(desc: any): boolean;
5
5
  declare function imageDesc(desc: any): boolean;
@@ -15,7 +15,7 @@ declare const check: {
15
15
  svgDesc: typeof svgDesc;
16
16
  htmlDesc: typeof htmlDesc;
17
17
  };
18
- type TypeCheck = {
18
+ type CheckTypeUtil = {
19
19
  attrs: (value: any) => boolean;
20
20
  rectDesc: (value: any) => boolean;
21
21
  circleDesc: (value: any) => boolean;
@@ -24,5 +24,5 @@ type TypeCheck = {
24
24
  htmlDesc: (value: any) => boolean;
25
25
  textDesc: (value: any) => boolean;
26
26
  };
27
- export { TypeCheck };
27
+ export { CheckTypeUtil };
28
28
  export default check;
@@ -110,6 +110,6 @@ const check = {
110
110
  circleDesc,
111
111
  imageDesc,
112
112
  svgDesc,
113
- htmlDesc,
113
+ htmlDesc
114
114
  };
115
115
  export default check;
@@ -1,3 +1,3 @@
1
- import { TypeConfig, TypeConfigStrict } from '@idraw/types';
2
- declare function mergeConfig(config?: TypeConfig): TypeConfigStrict;
1
+ import { IDrawConfig, IDrawConfigStrict } from '@idraw/types';
2
+ declare function mergeConfig(config?: IDrawConfig): IDrawConfigStrict;
3
3
  export { mergeConfig };
@@ -1,38 +1,38 @@
1
- import { TypeElement, TypeElemDesc, TypePoint, TypeData, TypeScreenData } from '@idraw/types';
1
+ import { DataElement, DataElemDesc, Point, IDrawData, ScreenData } from '@idraw/types';
2
2
  export type TypeCoreEventSelectBaseArg = {
3
3
  index: number | null;
4
4
  uuid: string | null;
5
5
  };
6
6
  export type TypeCoreEventArgMap = {
7
- 'error': any;
8
- 'mouseOverScreen': TypePoint;
9
- 'mouseLeaveScreen': void;
10
- 'mouseOverElement': TypeCoreEventSelectBaseArg & {
11
- element: TypeElement<keyof TypeElemDesc>;
7
+ error: any;
8
+ mouseOverScreen: Point;
9
+ mouseLeaveScreen: void;
10
+ mouseOverElement: TypeCoreEventSelectBaseArg & {
11
+ element: DataElement<keyof DataElemDesc>;
12
12
  };
13
- 'mouseLeaveElement': TypeCoreEventSelectBaseArg & {
14
- element: TypeElement<keyof TypeElemDesc>;
13
+ mouseLeaveElement: TypeCoreEventSelectBaseArg & {
14
+ element: DataElement<keyof DataElemDesc>;
15
15
  };
16
- 'screenClickElement': TypeCoreEventSelectBaseArg & {
17
- element: TypeElement<keyof TypeElemDesc>;
16
+ screenClickElement: TypeCoreEventSelectBaseArg & {
17
+ element: DataElement<keyof DataElemDesc>;
18
18
  };
19
- 'screenDoubleClickElement': TypeCoreEventSelectBaseArg & {
20
- element: TypeElement<keyof TypeElemDesc>;
19
+ screenDoubleClickElement: TypeCoreEventSelectBaseArg & {
20
+ element: DataElement<keyof DataElemDesc>;
21
21
  };
22
- 'screenSelectElement': TypeCoreEventSelectBaseArg & {
23
- element: TypeElement<keyof TypeElemDesc>;
22
+ screenSelectElement: TypeCoreEventSelectBaseArg & {
23
+ element: DataElement<keyof DataElemDesc>;
24
24
  };
25
- 'screenMoveElementStart': TypeCoreEventSelectBaseArg & TypePoint;
26
- 'screenMoveElementEnd': TypeCoreEventSelectBaseArg & TypePoint;
27
- 'screenChangeElement': TypeCoreEventSelectBaseArg & {
25
+ screenMoveElementStart: TypeCoreEventSelectBaseArg & Point;
26
+ screenMoveElementEnd: TypeCoreEventSelectBaseArg & Point;
27
+ screenChangeElement: TypeCoreEventSelectBaseArg & {
28
28
  width: number;
29
29
  height: number;
30
30
  angle: number;
31
31
  };
32
- 'changeData': TypeData;
33
- 'changeScreen': TypeScreenData;
34
- 'drawFrameComplete': void;
35
- 'drawFrame': void;
32
+ changeData: IDrawData;
33
+ changeScreen: ScreenData;
34
+ drawFrameComplete: void;
35
+ drawFrame: void;
36
36
  };
37
37
  export interface TypeCoreEvent {
38
38
  on<T extends keyof TypeCoreEventArgMap>(key: T, callback: (p: TypeCoreEventArgMap[T]) => void): void;
@@ -1,6 +1,6 @@
1
- import { TypeElement, TypeData, TypeElemDesc } from '@idraw/types';
2
- export declare function isChangeImageElementResource(before: TypeElement<'image'>, after: TypeElement<'image'>): boolean;
3
- export declare function isChangeSVGElementResource(before: TypeElement<'svg'>, after: TypeElement<'svg'>): boolean;
4
- export declare function isChangeHTMLElementResource(before: TypeElement<'html'>, after: TypeElement<'html'>): boolean;
5
- export declare function diffElementResourceChange(before: TypeElement<keyof TypeElemDesc>, after: TypeElement<keyof TypeElemDesc>): string | null;
6
- export declare function diffElementResourceChangeList(before: TypeData, after: TypeData): string[];
1
+ import { DataElement, IDrawData, DataElemDesc } from '@idraw/types';
2
+ export declare function isChangeImageElementResource(before: DataElement<'image'>, after: DataElement<'image'>): boolean;
3
+ export declare function isChangeSVGElementResource(before: DataElement<'svg'>, after: DataElement<'svg'>): boolean;
4
+ export declare function isChangeHTMLElementResource(before: DataElement<'html'>, after: DataElement<'html'>): boolean;
5
+ export declare function diffElementResourceChange(before: DataElement<keyof DataElemDesc>, after: DataElement<keyof DataElemDesc>): string | null;
6
+ export declare function diffElementResourceChangeList(before: IDrawData, after: IDrawData): string[];
@@ -1,16 +1,16 @@
1
1
  export function isChangeImageElementResource(before, after) {
2
2
  var _a, _b;
3
- return (((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.src) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.src));
3
+ return ((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.src) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.src);
4
4
  }
5
5
  export function isChangeSVGElementResource(before, after) {
6
6
  var _a, _b;
7
- return (((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.svg) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.svg));
7
+ return ((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.svg) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.svg);
8
8
  }
9
9
  export function isChangeHTMLElementResource(before, after) {
10
10
  var _a, _b, _c, _d, _e, _f;
11
- return (((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.html) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.html)
12
- || ((_c = before === null || before === void 0 ? void 0 : before.desc) === null || _c === void 0 ? void 0 : _c.width) !== ((_d = after === null || after === void 0 ? void 0 : after.desc) === null || _d === void 0 ? void 0 : _d.width)
13
- || ((_e = before === null || before === void 0 ? void 0 : before.desc) === null || _e === void 0 ? void 0 : _e.height) !== ((_f = after === null || after === void 0 ? void 0 : after.desc) === null || _f === void 0 ? void 0 : _f.height));
11
+ return (((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.html) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.html) ||
12
+ ((_c = before === null || before === void 0 ? void 0 : before.desc) === null || _c === void 0 ? void 0 : _c.width) !== ((_d = after === null || after === void 0 ? void 0 : after.desc) === null || _d === void 0 ? void 0 : _d.width) ||
13
+ ((_e = before === null || before === void 0 ? void 0 : before.desc) === null || _e === void 0 ? void 0 : _e.height) !== ((_f = after === null || after === void 0 ? void 0 : after.desc) === null || _f === void 0 ? void 0 : _f.height));
14
14
  }
15
15
  export function diffElementResourceChange(before, after) {
16
16
  let result = null;
@@ -28,7 +28,8 @@ export function diffElementResourceChange(before, after) {
28
28
  isChange = isChangeHTMLElementResource(before, after);
29
29
  break;
30
30
  }
31
- default: break;
31
+ default:
32
+ break;
32
33
  }
33
34
  if (isChange === true) {
34
35
  result = after.uuid;
@@ -59,7 +60,8 @@ export function diffElementResourceChangeList(before, after) {
59
60
  isChange = isChangeHTMLElementResource(beforeMap[uuid], afterMap[uuid]);
60
61
  break;
61
62
  }
62
- default: break;
63
+ default:
64
+ break;
63
65
  }
64
66
  if (isChange === true) {
65
67
  uuids.push(uuid);
@@ -1,5 +1,5 @@
1
- import { TypeContext, TypeElement } from '@idraw/types';
2
- export declare function clearContext(ctx: TypeContext): void;
3
- export declare function drawBgColor(ctx: TypeContext, color: string): void;
4
- export declare function drawBox(ctx: TypeContext, elem: TypeElement<'text' | 'rect'>, pattern: string | CanvasPattern | null): void;
5
- export declare function drawBoxBorder(ctx: TypeContext, elem: TypeElement<'text' | 'rect'>): void;
1
+ import { IDrawContext, DataElement } from '@idraw/types';
2
+ export declare function clearContext(ctx: IDrawContext): void;
3
+ export declare function drawBgColor(ctx: IDrawContext, color: string): void;
4
+ export declare function drawBox(ctx: IDrawContext, elem: DataElement<'text' | 'rect'>, pattern: string | CanvasPattern | null): void;
5
+ export declare function drawBoxBorder(ctx: IDrawContext, elem: DataElement<'text' | 'rect'>): void;
@@ -1,4 +1,4 @@
1
- import { TypeContext, TypeHelperConfig } from '@idraw/types';
2
- export declare function drawElementWrapper(ctx: TypeContext, config: TypeHelperConfig): void;
3
- export declare function drawAreaWrapper(ctx: TypeContext, config: TypeHelperConfig): void;
4
- export declare function drawElementListWrappers(ctx: TypeContext, config: TypeHelperConfig): void;
1
+ import { IDrawContext, HelperConfig } from '@idraw/types';
2
+ export declare function drawElementWrapper(ctx: IDrawContext, config: HelperConfig): void;
3
+ export declare function drawAreaWrapper(ctx: IDrawContext, config: HelperConfig): void;
4
+ export declare function drawElementListWrappers(ctx: IDrawContext, config: HelperConfig): void;
@@ -1,15 +1,15 @@
1
- import { TypeContext, TypePoint, TypeData, TypeHelperWrapperControllerDirection, TypeElement, TypeElemDesc } from '@idraw/types';
1
+ import { IDrawContext, Point, IDrawData, HelperWrapperControllerDirection, DataElement, DataElemDesc } from '@idraw/types';
2
2
  export declare class Element {
3
3
  private _ctx;
4
- constructor(ctx: TypeContext);
5
- initData(data: TypeData): TypeData;
6
- isPointInElement(p: TypePoint, data: TypeData): [number, string | null];
7
- dragElement(data: TypeData, uuid: string, point: TypePoint, prevPoint: TypePoint, scale: number): void;
8
- transformElement(data: TypeData, uuid: string, point: TypePoint, prevPoint: TypePoint, scale: number, direction: TypeHelperWrapperControllerDirection): null | {
4
+ constructor(ctx: IDrawContext);
5
+ initData(data: IDrawData): IDrawData;
6
+ isPointInElement(p: Point, data: IDrawData): [number, string | null];
7
+ dragElement(data: IDrawData, uuid: string, point: Point, prevPoint: Point, scale: number): void;
8
+ transformElement(data: IDrawData, uuid: string, point: Point, prevPoint: Point, scale: number, direction: HelperWrapperControllerDirection): null | {
9
9
  width: number;
10
10
  height: number;
11
11
  angle: number;
12
12
  };
13
- getElementIndex(data: TypeData, uuid: string): number;
14
- limitElementAttrs(elem: TypeElement<keyof TypeElemDesc>): void;
13
+ getElementIndex(data: IDrawData, uuid: string): number;
14
+ limitElementAttrs(elem: DataElement<keyof DataElemDesc>): void;
15
15
  }