diff --git a/src/ol/source/Image.js b/src/ol/source/Image.js index df934ad189..4f0f3c3f08 100644 --- a/src/ol/source/Image.js +++ b/src/ol/source/Image.js @@ -41,6 +41,32 @@ const ImageSourceEventType = { }; +/** + * @classdesc + * Events emitted by {@link ol.source.Image} instances are instances of this + * type. + * + * @constructor + * @extends {ol.events.Event} + * @implements {oli.source.ImageEvent} + * @param {string} type Type. + * @param {ol.Image} image The image. + */ +const ImageSourceEvent = function(type, image) { + + Event.call(this, type); + + /** + * The image related to the event. + * @type {ol.Image} + * @api + */ + this.image = image; + +}; +inherits(ImageSourceEvent, Event); + + /** * @classdesc * Abstract base class; normally only used for creating subclasses and not @@ -174,17 +200,17 @@ ImageSource.prototype.handleImageChange = function(event) { switch (image.getState()) { case ImageState.LOADING: this.dispatchEvent( - new ImageSource.Event(ImageSourceEventType.IMAGELOADSTART, + new ImageSourceEvent(ImageSourceEventType.IMAGELOADSTART, image)); break; case ImageState.LOADED: this.dispatchEvent( - new ImageSource.Event(ImageSourceEventType.IMAGELOADEND, + new ImageSourceEvent(ImageSourceEventType.IMAGELOADEND, image)); break; case ImageState.ERROR: this.dispatchEvent( - new ImageSource.Event(ImageSourceEventType.IMAGELOADERROR, + new ImageSourceEvent(ImageSourceEventType.IMAGELOADERROR, image)); break; default: @@ -199,35 +225,9 @@ ImageSource.prototype.handleImageChange = function(event) { * @param {ol.Image} image Image. * @param {string} src Source. */ -ImageSource.defaultImageLoadFunction = function(image, src) { +export function defaultImageLoadFunction(image, src) { image.getImage().src = src; -}; - - -/** - * @classdesc - * Events emitted by {@link ol.source.Image} instances are instances of this - * type. - * - * @constructor - * @extends {ol.events.Event} - * @implements {oli.source.ImageEvent} - * @param {string} type Type. - * @param {ol.Image} image The image. - */ -ImageSource.Event = function(type, image) { - - Event.call(this, type); - - /** - * The image related to the event. - * @type {ol.Image} - * @api - */ - this.image = image; - -}; -inherits(ImageSource.Event, Event); +} export default ImageSource; diff --git a/src/ol/source/ImageArcGISRest.js b/src/ol/source/ImageArcGISRest.js index 6a4b5e600d..c2461985b4 100644 --- a/src/ol/source/ImageArcGISRest.js +++ b/src/ol/source/ImageArcGISRest.js @@ -8,7 +8,7 @@ import {listen} from '../events.js'; import EventType from '../events/EventType.js'; import {containsExtent, getHeight, getWidth} from '../extent.js'; import {assign} from '../obj.js'; -import ImageSource from '../source/Image.js'; +import ImageSource, {defaultImageLoadFunction} from '../source/Image.js'; import {appendParams} from '../uri.js'; /** @@ -60,7 +60,7 @@ const ImageArcGISRest = function(opt_options) { * @type {ol.ImageLoadFunctionType} */ this.imageLoadFunction_ = options.imageLoadFunction !== undefined ? - options.imageLoadFunction : ImageSource.defaultImageLoadFunction; + options.imageLoadFunction : defaultImageLoadFunction; /** diff --git a/src/ol/source/ImageMapGuide.js b/src/ol/source/ImageMapGuide.js index 1068840ac5..841004f5e5 100644 --- a/src/ol/source/ImageMapGuide.js +++ b/src/ol/source/ImageMapGuide.js @@ -7,7 +7,7 @@ import {listen} from '../events.js'; import EventType from '../events/EventType.js'; import {containsExtent, getCenter, getHeight, getWidth, scaleFromCenter} from '../extent.js'; import {assign} from '../obj.js'; -import ImageSource from '../source/Image.js'; +import ImageSource, {defaultImageLoadFunction} from '../source/Image.js'; import {appendParams} from '../uri.js'; /** @@ -58,7 +58,7 @@ const ImageMapGuide = function(options) { * @type {ol.ImageLoadFunctionType} */ this.imageLoadFunction_ = options.imageLoadFunction !== undefined ? - options.imageLoadFunction : ImageSource.defaultImageLoadFunction; + options.imageLoadFunction : defaultImageLoadFunction; /** * @private diff --git a/src/ol/source/ImageStatic.js b/src/ol/source/ImageStatic.js index 0481f3109b..304b5ace52 100644 --- a/src/ol/source/ImageStatic.js +++ b/src/ol/source/ImageStatic.js @@ -9,7 +9,7 @@ import {listen} from '../events.js'; import EventType from '../events/EventType.js'; import {intersects, getHeight, getWidth} from '../extent.js'; import {get as getProjection} from '../proj.js'; -import ImageSource from '../source/Image.js'; +import ImageSource, {defaultImageLoadFunction} from '../source/Image.js'; /** * @classdesc @@ -28,7 +28,7 @@ const Static = function(options) { const /** @type {ol.ImageLoadFunctionType} */ imageLoadFunction = options.imageLoadFunction !== undefined ? - options.imageLoadFunction : ImageSource.defaultImageLoadFunction; + options.imageLoadFunction : defaultImageLoadFunction; ImageSource.call(this, { attributions: options.attributions, diff --git a/src/ol/source/ImageWMS.js b/src/ol/source/ImageWMS.js index e78a7ebe22..f0d2c4a858 100644 --- a/src/ol/source/ImageWMS.js +++ b/src/ol/source/ImageWMS.js @@ -12,7 +12,7 @@ import {containsExtent, getCenter, getForViewAndSize, getHeight, getWidth} from import {assign} from '../obj.js'; import {get as getProjection, transform} from '../proj.js'; import {calculateSourceResolution} from '../reproj.js'; -import ImageSource from '../source/Image.js'; +import ImageSource, {defaultImageLoadFunction} from '../source/Image.js'; import WMSServerType from '../source/WMSServerType.js'; import {compareVersions} from '../string.js'; import {appendParams} from '../uri.js'; @@ -55,7 +55,7 @@ const ImageWMS = function(opt_options) { * @type {ol.ImageLoadFunctionType} */ this.imageLoadFunction_ = options.imageLoadFunction !== undefined ? - options.imageLoadFunction : ImageSource.defaultImageLoadFunction; + options.imageLoadFunction : defaultImageLoadFunction; /** * @private diff --git a/test/spec/ol/imagetile.test.js b/test/spec/ol/imagetile.test.js index fb897ecde2..eb35ed9f18 100644 --- a/test/spec/ol/imagetile.test.js +++ b/test/spec/ol/imagetile.test.js @@ -2,7 +2,7 @@ import ImageTile from '../../../src/ol/ImageTile.js'; import TileState from '../../../src/ol/TileState.js'; import {listen, unlistenByKey} from '../../../src/ol/events.js'; import EventType from '../../../src/ol/events/EventType.js'; -import ImageSource from '../../../src/ol/source/Image.js'; +import {defaultImageLoadFunction} from '../../../src/ol/source/Image.js'; describe('ol.ImageTile', function() { @@ -13,7 +13,7 @@ describe('ol.ImageTile', function() { const tileCoord = [0, 0, 0]; const state = TileState.IDLE; const src = 'spec/ol/data/osm-0-0-0.png'; - const tileLoadFunction = ImageSource.defaultImageLoadFunction; + const tileLoadFunction = defaultImageLoadFunction; const tile = new ImageTile(tileCoord, state, src, null, tileLoadFunction); let previousState = tile.getState(); @@ -38,7 +38,7 @@ describe('ol.ImageTile', function() { const tileCoord = [0, 0, 0]; const state = TileState.ERROR; const src = 'spec/ol/data/osm-0-0-0.png'; - const tileLoadFunction = ImageSource.defaultImageLoadFunction; + const tileLoadFunction = defaultImageLoadFunction; const tile = new ImageTile(tileCoord, state, src, null, tileLoadFunction); let previousState = tile.getState(); @@ -63,7 +63,7 @@ describe('ol.ImageTile', function() { const tileCoord = [0, 0, 0]; const state = TileState.IDLE; const src = 'spec/ol/data/osm-0-0-99.png'; - const tileLoadFunction = ImageSource.defaultImageLoadFunction; + const tileLoadFunction = defaultImageLoadFunction; const tile = new ImageTile(tileCoord, state, src, null, tileLoadFunction); const key = listen(tile, EventType.CHANGE, function(event) { @@ -89,7 +89,7 @@ describe('ol.ImageTile', function() { const tileCoord = [0, 0, 0]; const state = TileState.IDLE; const src = 'spec/ol/data/osm-0-0-0.png'; - const tileLoadFunction = ImageSource.defaultImageLoadFunction; + const tileLoadFunction = defaultImageLoadFunction; const tile = new ImageTile(tileCoord, state, src, null, tileLoadFunction); tile.load(); expect(tile.getState()).to.be(TileState.LOADING); diff --git a/test/spec/ol/tilequeue.test.js b/test/spec/ol/tilequeue.test.js index 865e78a602..c92e02a34a 100644 --- a/test/spec/ol/tilequeue.test.js +++ b/test/spec/ol/tilequeue.test.js @@ -2,7 +2,7 @@ import ImageTile from '../../../src/ol/ImageTile.js'; import Tile from '../../../src/ol/Tile.js'; import TileQueue from '../../../src/ol/TileQueue.js'; import TileState from '../../../src/ol/TileState.js'; -import ImageSource from '../../../src/ol/source/Image.js'; +import {defaultImageLoadFunction} from '../../../src/ol/source/Image.js'; import {DROP} from '../../../src/ol/structs/PriorityQueue.js'; @@ -32,7 +32,7 @@ describe('ol.TileQueue', function() { 'yH5BAAAAAAALAAAAAABAAEAAAICRAEAOw=='; const tileLoadFunction = opt_tileLoadFunction ? - opt_tileLoadFunction : ImageSource.defaultImageLoadFunction; + opt_tileLoadFunction : defaultImageLoadFunction; return new ImageTile(tileCoord, state, src, null, tileLoadFunction); }