@hzab/map-combine 0.4.1 → 0.4.2-alpha.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/CHANGELOG.md +5 -0
- package/package.json +1 -1
- package/src/basic/BasicElement.ts +14 -14
- package/src/basic/BasicMarker.ts +32 -26
- package/src/basic/BasicMouseHandler.ts +4 -4
- package/src/basic/Point.ts +173 -173
- package/src/basic/Polygon.ts +81 -70
- package/src/basic/Polyline.ts +85 -75
- package/src/basic/ReactPopup.tsx +12 -10
- package/src/cesium/CesiumPoint.ts +69 -69
- package/src/cesium/CesiumPolygon.ts +181 -190
- package/src/cesium/CesiumPolyline.ts +369 -369
- package/src/mine/MinePoint.ts +70 -78
- package/src/mine/MinePolygon.ts +206 -216
- package/src/mine/MinePolyline.ts +193 -203
- package/src/mine/MineTile3D.ts +7 -11
- package/src/openlayer/OpenlayerPoint.ts +185 -177
- package/src/openlayer/OpenlayerPolygon.ts +302 -299
- package/src/openlayer/OpenlayerPolyline.ts +303 -289
- package/src/utils/Image.ts +16 -20
- package/src/utils/PolygonEditor.ts +78 -99
- package/src/utils/PolylineEditor.ts +75 -90
- package/src/utils/static.ts +3 -3
package/CHANGELOG.md
CHANGED
package/package.json
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
export interface BasicElementOption {
|
|
2
2
|
/** 是否显示 */
|
|
3
|
-
show: boolean
|
|
3
|
+
show: boolean;
|
|
4
4
|
/** 鼠标样式 */
|
|
5
|
-
cursor: string
|
|
5
|
+
cursor: string;
|
|
6
6
|
/** 元素是否静默(不触发鼠标事件) */
|
|
7
|
-
silent: boolean
|
|
7
|
+
silent: boolean;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
export abstract class BasicElement<T extends BasicElementOption> {
|
|
11
|
-
option: T
|
|
11
|
+
option: T;
|
|
12
12
|
constructor(option: T) {
|
|
13
|
-
this.option = option
|
|
13
|
+
this.option = option;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
update(option: Partial<T>) {
|
|
17
|
-
Object.assign(this.option, option)
|
|
18
|
-
this._onUpdate(option)
|
|
17
|
+
Object.assign(this.option, option);
|
|
18
|
+
this._onUpdate(option);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
protected abstract _onUpdate(option: Partial<T>): void
|
|
21
|
+
protected abstract _onUpdate(option: Partial<T>): void;
|
|
22
22
|
|
|
23
23
|
/** 鼠标进入回调 */
|
|
24
|
-
onMouseIn?(): void
|
|
24
|
+
onMouseIn?(): void;
|
|
25
25
|
/** 鼠标离开回调 */
|
|
26
|
-
onMouseOut?(): void
|
|
26
|
+
onMouseOut?(): void;
|
|
27
27
|
/** 鼠标移动回调 */
|
|
28
|
-
onMouseMove?(): void
|
|
28
|
+
onMouseMove?(): void;
|
|
29
29
|
/** 鼠标点击回调 */
|
|
30
|
-
onClick?(): void
|
|
30
|
+
onClick?(): void;
|
|
31
31
|
/** 鼠标右键点击回调 */
|
|
32
|
-
onRClick?(): void
|
|
32
|
+
onRClick?(): void;
|
|
33
33
|
/** 销毁元素 */
|
|
34
|
-
abstract destroy(): void
|
|
34
|
+
abstract destroy(): void;
|
|
35
35
|
}
|
package/src/basic/BasicMarker.ts
CHANGED
|
@@ -1,45 +1,51 @@
|
|
|
1
|
-
import { BasicElement, type BasicElementOption } from
|
|
1
|
+
import { BasicElement, type BasicElementOption } from "./BasicElement";
|
|
2
2
|
|
|
3
3
|
export interface BasicMarkerOption extends BasicElementOption {
|
|
4
4
|
/** 经度 */
|
|
5
|
-
lon: number
|
|
5
|
+
lon: number;
|
|
6
6
|
/** 纬度 */
|
|
7
|
-
lat: number
|
|
7
|
+
lat: number;
|
|
8
8
|
/** 海拔 */
|
|
9
|
-
alt: number
|
|
9
|
+
alt: number;
|
|
10
10
|
/** 图标 */
|
|
11
|
-
icon?: string
|
|
11
|
+
icon?: string;
|
|
12
12
|
/** 宽度 */
|
|
13
|
-
width: number
|
|
13
|
+
width: number;
|
|
14
14
|
/** 高度 */
|
|
15
|
-
height: number
|
|
15
|
+
height: number;
|
|
16
16
|
/** 横向偏移 */
|
|
17
|
-
x: number
|
|
17
|
+
x: number;
|
|
18
18
|
/** 纵向偏移 */
|
|
19
|
-
y: number
|
|
19
|
+
y: number;
|
|
20
20
|
/** 旋转角度 */
|
|
21
|
-
rotation: number
|
|
22
|
-
img?: HTMLCanvasElement | HTMLImageElement
|
|
21
|
+
rotation: number;
|
|
22
|
+
img?: HTMLCanvasElement | HTMLImageElement;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
export abstract class BasicMarker extends BasicElement<BasicMarkerOption> {
|
|
26
26
|
constructor(option: Partial<BasicMarkerOption> = {}) {
|
|
27
|
-
super(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
27
|
+
super(
|
|
28
|
+
Object.assign(
|
|
29
|
+
{
|
|
30
|
+
show: true,
|
|
31
|
+
cursor: "pointer",
|
|
32
|
+
silent: false,
|
|
33
|
+
lon: 120,
|
|
34
|
+
lat: 30,
|
|
35
|
+
alt: 0,
|
|
36
|
+
width: 64,
|
|
37
|
+
height: 64,
|
|
38
|
+
x: 0,
|
|
39
|
+
y: -32,
|
|
40
|
+
rotation: 0,
|
|
41
|
+
icon: BasicMarker.defualtIcon,
|
|
42
|
+
},
|
|
43
|
+
option,
|
|
44
|
+
),
|
|
45
|
+
);
|
|
41
46
|
}
|
|
42
47
|
|
|
43
48
|
/** 默认图标 */
|
|
44
|
-
static defualtIcon =
|
|
49
|
+
static defualtIcon =
|
|
50
|
+
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAA7NJREFUeF7lmwlu3DAMRZ2TtbmNbtHmFr5Nk5O1YCAHiobL5yK5wAwQZPEmPn5+0bLzcjz55+XJ4z+2AWit/TyOg75+DNDp9+vz3n/4oO/nef7ekZylAHrQv3rgkXgIysdKGEsAFATOwXpbAaIUwKLAZxilIMoAtNaoZknu3g/JfPQC9PgSEGkAjqxToG9XdOd5Xqb3FfBglPQ3BGYaQgpAH/AfI2UU9DsXsJXqAYgGIwUhDAAIPjWwEU4vL00VBPjVAsptzwD4K1zwU+qRjFsBGD4TAh4C0Foj2XPGFRqEFfikBrquVHbu67sBKFlwX9wT+LyvkoRXj/pcAP6X4AmG4kEuP/AC4KTvuiAjZ+r7H6ZERB0KBFgFMAAp++d5es5B9XtNaZyHuHt/YVxwUjyD51wfrntnpwift5cDp0zoHBCAbPYVw7KUDgUhlAKkggwAdHDRe4QLDlTPAmTzWBTAg/yR2jdkPy6A0CKJeEMEXovrD/IABHmh2ed8Q+wUFWCmnKNlYCpAGJQJIOobCgQzm1wZWOoJAbBOmnXmaD0L8FRwCICHKQYEMMvflPHletGyE44rB2AGEg1g6hLdAFcBqBqI6RsGAGqZVcVGwCMlUAXAVE62BLr3zONVwSMAZg+AAmmthXqHHgTXPJkKWqWAqAmG+3MO3nEcyDTIgSs3QUoSMhhp5UbMpLbCbNW/pBzrOKQEQi2m0gvQpm8rxcDqryl/of5N4zQBCCdGfUBbv7PuBK/taPAh30ABcPVsloFiaGjwZgaHmcNd/3QsCoDLJKSCBAT4/BmVQgCUeoZUYGSJU0PFeaHS8QBIqWDq8q6XH8aXJT6fG3oXSKN3ndd4YABVKoCLH9xRuHOEsg97gNGiwkYFxgTvFl2rGC/gUoCiApdhwREaO0Y7xhQAqeFAusOqwJVEwNIPeQDg5i73jgLJGl9aAXeWQvXzSbcHTNNZ6mlRRAFC3bulnyoBa1boL0iUv+goTHkpA04pwGhzS/0gs1yuKS0NYIcfVNd9iQnOVIXaTMnTUFi47lcBcK8AWSaovABREry7FQYGLD0JDg14laqWKABoklwQql6CspJWYoKMH6SUsCv48hKYmqTQu4S730FcooChHFwQVk53UiksBaD0CLTpmyfcEfzSEgDa5S8IdwW/BUBXgfZ8QPqHCdesYbn9bSUAKmEe35bgtynACWFb8NsBAOWwNfhbACgQtgd/GwCmT7gl+NsBXGrwPg2KOj533PJGqHKwK8719AD+Aby+uV/6QmnsAAAAAElFTkSuQmCC";
|
|
45
51
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export abstract class BasicMouseHandler{
|
|
1
|
+
export abstract class BasicMouseHandler {
|
|
2
2
|
/** 鼠标在屏幕上的坐标 */
|
|
3
|
-
position = [0, 0]
|
|
3
|
+
position = [0, 0];
|
|
4
4
|
/** 鼠标在地图上的坐标 */
|
|
5
|
-
location = [0, 0, 0]
|
|
5
|
+
location = [0, 0, 0];
|
|
6
6
|
/** 忽略要素,使要素不会拦截鼠标事件 */
|
|
7
|
-
ignoreElement = false
|
|
7
|
+
ignoreElement = false;
|
|
8
8
|
}
|
package/src/basic/Point.ts
CHANGED
|
@@ -1,173 +1,173 @@
|
|
|
1
|
-
import Eventful from "zrender/lib/core/Eventful";
|
|
2
|
-
|
|
3
|
-
import { MapElement, MapElementOption } from "./MapElement";
|
|
4
|
-
import { MapCombine } from "./MapCombine";
|
|
5
|
-
|
|
6
|
-
export interface PointOption<K> extends MapElementOption {
|
|
7
|
-
show: boolean;
|
|
8
|
-
cursor: string;
|
|
9
|
-
coordinates?: number[];
|
|
10
|
-
src: string;
|
|
11
|
-
center: number[];
|
|
12
|
-
size: number[];
|
|
13
|
-
rotation: number;
|
|
14
|
-
editable: boolean;
|
|
15
|
-
userdata: K;
|
|
16
|
-
silent: boolean;
|
|
17
|
-
height: number;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export class Point<K = undefined> extends MapElement<PointOption<K>> {
|
|
21
|
-
type = "Point";
|
|
22
|
-
event = new Eventful<{
|
|
23
|
-
"data-loaded": () => void;
|
|
24
|
-
"data-update": () => void;
|
|
25
|
-
"pointer-in": () => void;
|
|
26
|
-
"pointer-out": () => void;
|
|
27
|
-
"left-click": () => void;
|
|
28
|
-
"right-click": () => void;
|
|
29
|
-
update: (keys: Set<string>) => void;
|
|
30
|
-
destroy: () => void;
|
|
31
|
-
}>();
|
|
32
|
-
|
|
33
|
-
get userdata() {
|
|
34
|
-
return this._option.userdata;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
get cursor() {
|
|
38
|
-
return this._option.cursor;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
get show() {
|
|
42
|
-
return this._option.show;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
set show(val) {
|
|
46
|
-
if (this._option.show != val) {
|
|
47
|
-
this._option.show = val;
|
|
48
|
-
this._update("show");
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
get silent() {
|
|
53
|
-
return this._option.silent;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
set silent(val) {
|
|
57
|
-
if (this._option.silent != val) {
|
|
58
|
-
this._option.silent = val;
|
|
59
|
-
this._update("silent");
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
get editable() {
|
|
64
|
-
return this._option.editable;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
set editable(val) {
|
|
68
|
-
if (this._option.editable != val) {
|
|
69
|
-
this._option.editable = val;
|
|
70
|
-
this._update("editable");
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
get coordinates() {
|
|
75
|
-
return this._option.coordinates;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
set coordinates(val) {
|
|
79
|
-
if (this._option.coordinates != val) {
|
|
80
|
-
this._option.coordinates = val;
|
|
81
|
-
this._update("coordinates");
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
get src() {
|
|
86
|
-
return this._option.src;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
set src(val) {
|
|
90
|
-
if (this._option.src != val) {
|
|
91
|
-
this._option.src = val;
|
|
92
|
-
this._update("src");
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
get size() {
|
|
97
|
-
return this._option.size;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
set size(val) {
|
|
101
|
-
if (this._option.size != val) {
|
|
102
|
-
this._option.size = val;
|
|
103
|
-
this._update("size");
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
get center() {
|
|
107
|
-
return this._option.center;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
set center(val) {
|
|
111
|
-
if (this._option.center != val) {
|
|
112
|
-
this._option.center = val;
|
|
113
|
-
this._update("center");
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
get height() {
|
|
118
|
-
return this._option.height;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
set height(val) {
|
|
122
|
-
if (this._option.height != val) {
|
|
123
|
-
this._option.height = val;
|
|
124
|
-
this._update("height");
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
get rotation() {
|
|
129
|
-
return this._option.rotation;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
set rotation(val) {
|
|
133
|
-
if (this._option.rotation != val) {
|
|
134
|
-
this._option.rotation = val;
|
|
135
|
-
this._update("rotation");
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
constructor(map: MapCombine, option: Partial<PointOption<K>> = {}) {
|
|
140
|
-
super(map, Object.assign({ ...Point.option }, option));
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
static option: PointOption<undefined> = {
|
|
144
|
-
name: "点",
|
|
145
|
-
show: true,
|
|
146
|
-
src: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAIxJREFUOE+tU4ENgCAM6y5TL1MuEy+bmQjChAjIEkKAretIS1DBwAy3pnuXDAvgIGDT+RRfsEtYdZI6mxgoAFQWe6wAcgE0FicgHoA/aJeeF+rs/rBgYI9+u5WIFQa99K9mQwB+j1AjntLfGBlBZCssmoMAGiOkDjWmUvbcK0WVN1PGlS87i63JWTvECRNBLcaa3Jq0AAAAAElFTkSuQmCC",
|
|
147
|
-
center: [0.5, 0.5],
|
|
148
|
-
editable: false,
|
|
149
|
-
size: [16, 16],
|
|
150
|
-
rotation: 0,
|
|
151
|
-
cursor: "pointer",
|
|
152
|
-
userdata: undefined,
|
|
153
|
-
silent: false,
|
|
154
|
-
height:
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
private _needUpdate?: Set<string>;
|
|
158
|
-
private _update(key: string) {
|
|
159
|
-
if (this._needUpdate) {
|
|
160
|
-
this._needUpdate.add(key);
|
|
161
|
-
} else {
|
|
162
|
-
this._needUpdate = new Set([key]);
|
|
163
|
-
setTimeout(() => {
|
|
164
|
-
this.event.trigger("update", this._needUpdate);
|
|
165
|
-
this._needUpdate = undefined;
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
protected _onDestroy(): void {
|
|
171
|
-
this.event.trigger("destroy");
|
|
172
|
-
}
|
|
173
|
-
}
|
|
1
|
+
import Eventful from "zrender/lib/core/Eventful";
|
|
2
|
+
|
|
3
|
+
import { MapElement, MapElementOption } from "./MapElement";
|
|
4
|
+
import { MapCombine } from "./MapCombine";
|
|
5
|
+
|
|
6
|
+
export interface PointOption<K> extends MapElementOption {
|
|
7
|
+
show: boolean;
|
|
8
|
+
cursor: string;
|
|
9
|
+
coordinates?: number[];
|
|
10
|
+
src: string;
|
|
11
|
+
center: number[];
|
|
12
|
+
size: number[];
|
|
13
|
+
rotation: number;
|
|
14
|
+
editable: boolean;
|
|
15
|
+
userdata: K;
|
|
16
|
+
silent: boolean;
|
|
17
|
+
height: number;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export class Point<K = undefined> extends MapElement<PointOption<K>> {
|
|
21
|
+
type = "Point";
|
|
22
|
+
event = new Eventful<{
|
|
23
|
+
"data-loaded": () => void;
|
|
24
|
+
"data-update": () => void;
|
|
25
|
+
"pointer-in": () => void;
|
|
26
|
+
"pointer-out": () => void;
|
|
27
|
+
"left-click": () => void;
|
|
28
|
+
"right-click": () => void;
|
|
29
|
+
update: (keys: Set<string>) => void;
|
|
30
|
+
destroy: () => void;
|
|
31
|
+
}>();
|
|
32
|
+
|
|
33
|
+
get userdata() {
|
|
34
|
+
return this._option.userdata;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
get cursor() {
|
|
38
|
+
return this._option.cursor;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
get show() {
|
|
42
|
+
return this._option.show;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
set show(val) {
|
|
46
|
+
if (this._option.show != val) {
|
|
47
|
+
this._option.show = val;
|
|
48
|
+
this._update("show");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
get silent() {
|
|
53
|
+
return this._option.silent;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
set silent(val) {
|
|
57
|
+
if (this._option.silent != val) {
|
|
58
|
+
this._option.silent = val;
|
|
59
|
+
this._update("silent");
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
get editable() {
|
|
64
|
+
return this._option.editable;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
set editable(val) {
|
|
68
|
+
if (this._option.editable != val) {
|
|
69
|
+
this._option.editable = val;
|
|
70
|
+
this._update("editable");
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
get coordinates() {
|
|
75
|
+
return this._option.coordinates;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
set coordinates(val) {
|
|
79
|
+
if (this._option.coordinates != val) {
|
|
80
|
+
this._option.coordinates = val;
|
|
81
|
+
this._update("coordinates");
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
get src() {
|
|
86
|
+
return this._option.src;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
set src(val) {
|
|
90
|
+
if (this._option.src != val) {
|
|
91
|
+
this._option.src = val;
|
|
92
|
+
this._update("src");
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
get size() {
|
|
97
|
+
return this._option.size;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
set size(val) {
|
|
101
|
+
if (this._option.size != val) {
|
|
102
|
+
this._option.size = val;
|
|
103
|
+
this._update("size");
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
get center() {
|
|
107
|
+
return this._option.center;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
set center(val) {
|
|
111
|
+
if (this._option.center != val) {
|
|
112
|
+
this._option.center = val;
|
|
113
|
+
this._update("center");
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
get height() {
|
|
118
|
+
return this._option.height;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
set height(val) {
|
|
122
|
+
if (this._option.height != val) {
|
|
123
|
+
this._option.height = val;
|
|
124
|
+
this._update("height");
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
get rotation() {
|
|
129
|
+
return this._option.rotation;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
set rotation(val) {
|
|
133
|
+
if (this._option.rotation != val) {
|
|
134
|
+
this._option.rotation = val;
|
|
135
|
+
this._update("rotation");
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
constructor(map: MapCombine, option: Partial<PointOption<K>> = {}) {
|
|
140
|
+
super(map, Object.assign({ ...Point.option }, option));
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
static option: PointOption<undefined> = {
|
|
144
|
+
name: "点",
|
|
145
|
+
show: true,
|
|
146
|
+
src: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAIxJREFUOE+tU4ENgCAM6y5TL1MuEy+bmQjChAjIEkKAretIS1DBwAy3pnuXDAvgIGDT+RRfsEtYdZI6mxgoAFQWe6wAcgE0FicgHoA/aJeeF+rs/rBgYI9+u5WIFQa99K9mQwB+j1AjntLfGBlBZCssmoMAGiOkDjWmUvbcK0WVN1PGlS87i63JWTvECRNBLcaa3Jq0AAAAAElFTkSuQmCC",
|
|
147
|
+
center: [0.5, 0.5],
|
|
148
|
+
editable: false,
|
|
149
|
+
size: [16, 16],
|
|
150
|
+
rotation: 0,
|
|
151
|
+
cursor: "pointer",
|
|
152
|
+
userdata: undefined,
|
|
153
|
+
silent: false,
|
|
154
|
+
height: 3,
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
private _needUpdate?: Set<string>;
|
|
158
|
+
private _update(key: string) {
|
|
159
|
+
if (this._needUpdate) {
|
|
160
|
+
this._needUpdate.add(key);
|
|
161
|
+
} else {
|
|
162
|
+
this._needUpdate = new Set([key]);
|
|
163
|
+
setTimeout(() => {
|
|
164
|
+
this.event.trigger("update", this._needUpdate);
|
|
165
|
+
this._needUpdate = undefined;
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
protected _onDestroy(): void {
|
|
171
|
+
this.event.trigger("destroy");
|
|
172
|
+
}
|
|
173
|
+
}
|