ol 7.0.0-dev.1659137717612 → 7.0.0-dev.1659140909928
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/package.json +1 -1
- package/style/IconImage.d.ts +9 -0
- package/style/IconImage.d.ts.map +1 -1
- package/style/IconImage.js +39 -16
package/package.json
CHANGED
package/style/IconImage.d.ts
CHANGED
|
@@ -29,6 +29,11 @@ declare class IconImage extends EventTarget {
|
|
|
29
29
|
* @type {HTMLImageElement|HTMLCanvasElement}
|
|
30
30
|
*/
|
|
31
31
|
private image_;
|
|
32
|
+
/**
|
|
33
|
+
* @private
|
|
34
|
+
* @type {string|null}
|
|
35
|
+
*/
|
|
36
|
+
private crossOrigin_;
|
|
32
37
|
/**
|
|
33
38
|
* @private
|
|
34
39
|
* @type {Object<number, HTMLCanvasElement>}
|
|
@@ -59,6 +64,10 @@ declare class IconImage extends EventTarget {
|
|
|
59
64
|
* @type {string|undefined}
|
|
60
65
|
*/
|
|
61
66
|
private src_;
|
|
67
|
+
/**
|
|
68
|
+
* @private
|
|
69
|
+
*/
|
|
70
|
+
private initializeImage_;
|
|
62
71
|
/**
|
|
63
72
|
* @private
|
|
64
73
|
* @return {boolean} The image canvas is tainted.
|
package/style/IconImage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconImage.d.ts","sourceRoot":"","sources":["IconImage.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IconImage.d.ts","sourceRoot":"","sources":["IconImage.js"],"names":[],"mappings":"AA+SA;;;;;;;;GAQG;AACH,2BARW,gBAAgB,GAAC,iBAAiB,OAClC,MAAM,QACN,OAAO,YAAY,EAAE,IAAI,eACxB,MAAM,iCAEP,OAAO,aAAa,EAAE,KAAK,GAC1B,SAAS,CASpB;;AA9SD;IACE;;;;;;;OAOG;IACH,mBAPW,gBAAgB,GAAC,iBAAiB,OAClC,MAAM,GAAC,SAAS,QAChB,OAAO,YAAY,EAAE,IAAI,eACxB,MAAM,iCAEP,OAAO,aAAa,EAAE,KAAK,EA+DrC;IA1DC;;;OAGG;IACH,2BAA8B;IAE9B;;;OAGG;IACH,eAAmB;IAEnB;;;OAGG;IACH,qBAA+B;IAE/B;;;OAGG;IACH,gBAAiB;IAEjB;;;OAGG;IACH,eAAmB;IAEnB;;;OAGG;IACH,kBAAqB;IAErB;;;OAGG;IACH,oBAA6B;IAE7B;;;OAGG;IACH,cAAiB;IAEjB;;;OAGG;IACH,aAAe;IAQjB;;OAEG;IACH,yBAKC;IAED;;;OAGG;IACH,mBAeC;IAPK,8BAAqB;IAS3B;;OAEG;IACH,6BAEC;IAED;;OAEG;IACH,0BAIC;IAED;;OAEG;IACH,yBAUC;IAED;;;OAGG;IACH,qBAHW,MAAM,GACL,gBAAgB,GAAC,iBAAiB,CAQ7C;IAED;;;OAGG;IACH,0BAHW,MAAM,GACL,MAAM,CAKjB;IAED;;OAEG;IACH,qBAEC;IAED;;OAEG;IACH,wBAFY,gBAAgB,GAAC,iBAAiB,CAkB7C;IAED;;;OAGG;IACH,WAFY,OAAO,YAAY,EAAE,IAAI,CAIpC;IAED;;OAEG;IACH,UAFY,MAAM,GAAC,SAAS,CAI3B;IAED;;OAEG;IACH,aAmBC;IAED;;;OAGG;IACH,sBA6CC;IAED;;;;OAIG;IACH,uBAKC;CACF"}
|
package/style/IconImage.js
CHANGED
|
@@ -37,11 +37,13 @@ class IconImage extends EventTarget {
|
|
|
37
37
|
* @private
|
|
38
38
|
* @type {HTMLImageElement|HTMLCanvasElement}
|
|
39
39
|
*/
|
|
40
|
-
this.image_ =
|
|
40
|
+
this.image_ = image;
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
/**
|
|
43
|
+
* @private
|
|
44
|
+
* @type {string|null}
|
|
45
|
+
*/
|
|
46
|
+
this.crossOrigin_ = crossOrigin;
|
|
45
47
|
|
|
46
48
|
/**
|
|
47
49
|
* @private
|
|
@@ -85,6 +87,16 @@ class IconImage extends EventTarget {
|
|
|
85
87
|
this.tainted_;
|
|
86
88
|
}
|
|
87
89
|
|
|
90
|
+
/**
|
|
91
|
+
* @private
|
|
92
|
+
*/
|
|
93
|
+
initializeImage_() {
|
|
94
|
+
this.image_ = new Image();
|
|
95
|
+
if (this.crossOrigin_ !== null) {
|
|
96
|
+
this.image_.crossOrigin = this.crossOrigin_;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
88
100
|
/**
|
|
89
101
|
* @private
|
|
90
102
|
* @return {boolean} The image canvas is tainted.
|
|
@@ -142,6 +154,9 @@ class IconImage extends EventTarget {
|
|
|
142
154
|
* @return {HTMLImageElement|HTMLCanvasElement} Image or Canvas element.
|
|
143
155
|
*/
|
|
144
156
|
getImage(pixelRatio) {
|
|
157
|
+
if (!this.image_) {
|
|
158
|
+
this.initializeImage_();
|
|
159
|
+
}
|
|
145
160
|
this.replaceColor_(pixelRatio);
|
|
146
161
|
return this.canvas_[pixelRatio] ? this.canvas_[pixelRatio] : this.image_;
|
|
147
162
|
}
|
|
@@ -166,6 +181,9 @@ class IconImage extends EventTarget {
|
|
|
166
181
|
* @return {HTMLImageElement|HTMLCanvasElement} Image element.
|
|
167
182
|
*/
|
|
168
183
|
getHitDetectionImage() {
|
|
184
|
+
if (!this.image_) {
|
|
185
|
+
this.initializeImage_();
|
|
186
|
+
}
|
|
169
187
|
if (!this.hitDetectionImage_) {
|
|
170
188
|
if (this.isTainted_()) {
|
|
171
189
|
const width = this.size_[0];
|
|
@@ -199,19 +217,24 @@ class IconImage extends EventTarget {
|
|
|
199
217
|
* Load not yet loaded URI.
|
|
200
218
|
*/
|
|
201
219
|
load() {
|
|
202
|
-
if (this.imageState_
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
);
|
|
220
|
+
if (this.imageState_ !== ImageState.IDLE) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
if (!this.image_) {
|
|
224
|
+
this.initializeImage_();
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
this.imageState_ = ImageState.LOADING;
|
|
228
|
+
try {
|
|
229
|
+
/** @type {HTMLImageElement} */ (this.image_).src = this.src_;
|
|
230
|
+
} catch (e) {
|
|
231
|
+
this.handleImageError_();
|
|
214
232
|
}
|
|
233
|
+
this.unlisten_ = listenImage(
|
|
234
|
+
this.image_,
|
|
235
|
+
this.handleImageLoad_.bind(this),
|
|
236
|
+
this.handleImageError_.bind(this)
|
|
237
|
+
);
|
|
215
238
|
}
|
|
216
239
|
|
|
217
240
|
/**
|