From 29b37b179c1c9185a0d8a605f72d85251e8f9a9f Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Fri, 23 Mar 2018 09:14:11 +0100 Subject: [PATCH] Move olx.ViewState to ol/View --- externs/olx.js | 46 ---------------------------- src/ol/PluggableMap.js | 2 +- src/ol/View.js | 14 +++++++-- src/ol/control/ScaleLine.js | 2 +- src/ol/renderer/canvas/ImageLayer.js | 2 +- src/ol/source/Raster.js | 4 +-- 6 files changed, 17 insertions(+), 53 deletions(-) diff --git a/externs/olx.js b/externs/olx.js index 2405a467da..9e3490116d 100644 --- a/externs/olx.js +++ b/externs/olx.js @@ -4315,52 +4315,6 @@ olx.tilegrid.XYZOptions.prototype.minZoom; olx.tilegrid.XYZOptions.prototype.tileSize; -/** - * @typedef {{center: ol.Coordinate, - * projection: module:ol/proj/Projection~Projection, - * resolution: number, - * rotation: number, - * zoom: number}} - */ -olx.ViewState; - - -/** - * @type {ol.Coordinate} - * @api - */ -olx.ViewState.prototype.center; - - -/** - * @type {module:ol/proj/Projection~Projection} - * @api - */ -olx.ViewState.prototype.projection; - - -/** - * @type {number} - * @api - */ -olx.ViewState.prototype.resolution; - - -/** - * @type {number} - * @api - */ -olx.ViewState.prototype.rotation; - - -/** - * The current zoom level. - * @type {number} - * @api - */ -olx.ViewState.prototype.zoom; - - /** * @typedef {{initialSize: (number|undefined), * maxSize: (number|undefined), diff --git a/src/ol/PluggableMap.js b/src/ol/PluggableMap.js index 8c92b2ada8..12d258a4a7 100644 --- a/src/ol/PluggableMap.js +++ b/src/ol/PluggableMap.js @@ -37,7 +37,7 @@ import {create as createTransform, apply as applyTransform} from './transform.js * @typedef {Object} FrameState * @property {number} pixelRatio The pixel ratio of the frame. * @property {number} time The time when rendering of the frame was requested. - * @property {olx.ViewState} viewState The state of the current view. + * @property {module:ol/View~State} viewState The state of the current view. * @property {boolean} animate * @property {module:ol/transform~Transform} coordinateToPixelTransform * @property {null|module:ol/extent~Extent} extent diff --git a/src/ol/View.js b/src/ol/View.js index 286d45d254..428ba21612 100644 --- a/src/ol/View.js +++ b/src/ol/View.js @@ -155,6 +155,16 @@ import Units from './proj/Units.js'; */ +/** + * @typedef {Object} State + * @property {module:ol/coordinate~Coordinate} center + * @property {module:ol/proj/Projection~Projection} projection + * @property {number} resolution + * @property {number} rotation + * @property {number} zoom + */ + + /** * Default min zoom level for the map view. * @type {number} @@ -918,14 +928,14 @@ View.prototype.getValueForResolutionFunction = function(opt_power) { /** - * @return {olx.ViewState} View state. + * @return {module:ol/View~State} View state. */ View.prototype.getState = function() { const center = /** @type {module:ol/coordinate~Coordinate} */ (this.getCenter()); const projection = this.getProjection(); const resolution = /** @type {number} */ (this.getResolution()); const rotation = this.getRotation(); - return /** @type {olx.ViewState} */ ({ + return /** @type {module:ol/View~State} */ ({ center: center.slice(), projection: projection !== undefined ? projection : null, resolution: resolution, diff --git a/src/ol/control/ScaleLine.js b/src/ol/control/ScaleLine.js index f4993f30a3..d64cd2b277 100644 --- a/src/ol/control/ScaleLine.js +++ b/src/ol/control/ScaleLine.js @@ -75,7 +75,7 @@ const ScaleLine = function(opt_options) { /** * @private - * @type {?olx.ViewState} + * @type {?module:ol/View~State} */ this.viewState_ = null; diff --git a/src/ol/renderer/canvas/ImageLayer.js b/src/ol/renderer/canvas/ImageLayer.js index 03ecadc457..1390046f73 100644 --- a/src/ol/renderer/canvas/ImageLayer.js +++ b/src/ol/renderer/canvas/ImageLayer.js @@ -154,7 +154,7 @@ CanvasImageLayerRenderer.prototype.prepareFrame = function(frameState, layerStat getWidth(renderedExtent) / viewResolution, getHeight(renderedExtent) / viewResolution ], - viewState: /** @type {olx.ViewState} */ (assign({}, frameState.viewState, { + viewState: /** @type {module:ol/View~State} */ (assign({}, frameState.viewState, { rotation: 0 })) })); diff --git a/src/ol/source/Raster.js b/src/ol/source/Raster.js index 19f99f7493..2076d68fd4 100644 --- a/src/ol/source/Raster.js +++ b/src/ol/source/Raster.js @@ -183,7 +183,7 @@ const RasterSource = function(options) { tileQueue: this.tileQueue_, time: Date.now(), usedTiles: {}, - viewState: /** @type {olx.ViewState} */ ({ + viewState: /** @type {module:ol/View~State} */ ({ rotation: 0 }), viewHints: [], @@ -232,7 +232,7 @@ RasterSource.prototype.updateFrameState_ = function(extent, resolution, projecti const frameState = /** @type {module:ol/PluggableMap~FrameState} */ (assign({}, this.frameState_)); - frameState.viewState = /** @type {olx.ViewState} */ (assign({}, frameState.viewState)); + frameState.viewState = /** @type {module:ol/View~State} */ (assign({}, frameState.viewState)); const center = getCenter(extent);