xtorcga
Version:
Xtor Compute Geometry Algorithm Libary 计算几何算法库
75 lines (55 loc) • 1.57 kB
text/typescript
import { EventHandler } from "../../src/render/eventhandler";
/**
* 图像层的有序集合。
*/
export class ImageryLayerCollection extends EventHandler {
static EventType = {
layerAdded: 'layerAdded',
layerRemoved: 'layerRemoved',
layerMoved: 'layerMoved',
layerShownOrHidden: 'layerShownOrHidden',
}
private _layers: any = [];
constructor() {
super();
}
get length() {
return this._layers.length;
}
add(layer: any, index?: number) {
this._layers.push(layer)
this.fire('layerAdded');
}
remove(layer: any, destroy: boolean = true) {
var index = this._layers.indexOf(layer);
if (index !== -1) {
this._layers.splice(index, 1);
this._update();
this.fire("layerRemoved");
if (destroy) {
layer.destroy();
}
return true;
}
return false;
};
removeAll(destroy: boolean = true) {
var layers = this._layers;
for (var i = 0, len = layers.length; i < len; i++) {
var layer = layers[i];
this.fire('layerRemoved')
if (destroy) {
layer.destroy();
}
}
this._layers = [];
};
contains(layer: any) {
return this.indexOf(layer) !== -1;
};
indexOf(layer: any) {
return this._layers.indexOf(layer);
};
_update() {
}
}