Simplify events and store listeners only in one place

This commit is contained in:
ahocevar
2019-09-04 16:39:32 +02:00
parent d416866108
commit ebfb20440a
52 changed files with 224 additions and 599 deletions

View File

@@ -4,7 +4,6 @@
import {abstract} from '../util.js';
import ImageState from '../ImageState.js';
import Observable from '../Observable.js';
import {listen} from '../events.js';
import EventType from '../events/EventType.js';
import SourceState from '../source/State.js';
@@ -17,6 +16,9 @@ class LayerRenderer extends Observable {
super();
/** @private */
this.boundHandleImageChange_ = this.handleImageChange_.bind(this);
/**
* @private
* @type {import("../layer/Layer.js").default}
@@ -142,7 +144,7 @@ class LayerRenderer extends Observable {
loadImage(image) {
let imageState = image.getState();
if (imageState != ImageState.LOADED && imageState != ImageState.ERROR) {
listen(image, EventType.CHANGE, this.handleImageChange_, this);
image.addEventListener(EventType.CHANGE, this.boundHandleImageChange_);
}
if (imageState == ImageState.IDLE) {
image.load();