Merge pull request #2656 from fredj/image-layer-source-type

Set ol.layer.Image#getSource return type to ol.source.Image
This commit is contained in:
Frédéric Junod
2014-09-03 14:23:55 +02:00
9 changed files with 118 additions and 21 deletions

View File

@@ -2734,6 +2734,103 @@ olx.layer.HeatmapOptions.prototype.source;
olx.layer.HeatmapOptions.prototype.visible;
/**
* @typedef {{brightness: (number|undefined),
* contrast: (number|undefined),
* hue: (number|undefined),
* opacity: (number|undefined),
* saturation: (number|undefined),
* source: ol.source.Image,
* visible: (boolean|undefined),
* extent: (ol.Extent|undefined),
* minResolution: (number|undefined),
* maxResolution: (number|undefined)}}
* @api
*/
olx.layer.ImageOptions;
/**
* Brightness. Default is `0`.
* @type {number|undefined}
* @api
*/
olx.layer.ImageOptions.prototype.brightness;
/**
* Contrast. Default is `1`.
* @type {number|undefined}
* @api
*/
olx.layer.ImageOptions.prototype.contrast;
/**
* Hue. Default is `0`.
* @type {number|undefined}
* @api
*/
olx.layer.ImageOptions.prototype.hue;
/**
* Opacity (0, 1). Default is `1`.
* @type {number|undefined}
* @api stable
*/
olx.layer.ImageOptions.prototype.opacity;
/**
* Saturation. Default is `1`.
* @type {number|undefined}
* @api
*/
olx.layer.ImageOptions.prototype.saturation;
/**
* Source for this layer.
* @type {ol.source.Image}
* @api stable
*/
olx.layer.ImageOptions.prototype.source;
/**
* Visibility. Default is `true` (visible).
* @type {boolean|undefined}
* @api stable
*/
olx.layer.ImageOptions.prototype.visible;
/**
* The bounding extent for layer rendering. The layer will not be rendered
* outside of this extent.
* @type {ol.Extent|undefined}
* @api stable
*/
olx.layer.ImageOptions.prototype.extent;
/**
* The minimum resolution (inclusive) at which this layer will be visible.
* @type {number|undefined}
* @api stable
*/
olx.layer.ImageOptions.prototype.minResolution;
/**
* The maximum resolution (exclusive) below which this layer will be visible.
* @type {number|undefined}
* @api stable
*/
olx.layer.ImageOptions.prototype.maxResolution;
/**
* @typedef {{brightness: (number|undefined),
* contrast: (number|undefined),
@@ -2741,7 +2838,7 @@ olx.layer.HeatmapOptions.prototype.visible;
* opacity: (number|undefined),
* preload: (number|undefined),
* saturation: (number|undefined),
* source: ol.source.Source,
* source: ol.source.Tile,
* visible: (boolean|undefined),
* extent: (ol.Extent|undefined),
* minResolution: (number|undefined),
@@ -2803,7 +2900,7 @@ olx.layer.TileOptions.prototype.saturation;
/**
* Source for this layer.
* @type {ol.source.Source}
* @type {ol.source.Tile}
* @api stable
*/
olx.layer.TileOptions.prototype.source;

View File

@@ -15,10 +15,18 @@ goog.require('ol.layer.Layer');
* @constructor
* @extends {ol.layer.Layer}
* @fires ol.render.Event
* @param {olx.layer.LayerOptions} options Layer options.
* @param {olx.layer.ImageOptions} options Layer options.
* @api stable
*/
ol.layer.Image = function(options) {
goog.base(this, options);
goog.base(this, /** @type {olx.layer.LayerOptions} */ (options));
};
goog.inherits(ol.layer.Image, ol.layer.Layer);
/**
* @function
* @return {ol.source.Image} Source.
* @api stable
*/
ol.layer.Image.prototype.getSource;

View File

@@ -28,8 +28,7 @@ ol.layer.TileProperty = {
* @api stable
*/
ol.layer.Tile = function(options) {
goog.base(this, options);
goog.base(this, /** @type {olx.layer.LayerOptions} */ (options));
};
goog.inherits(ol.layer.Tile, ol.layer.Layer);
@@ -49,6 +48,14 @@ goog.exportProperty(
ol.layer.Tile.prototype.getPreload);
/**
* @function
* @return {ol.source.Tile} Source.
* @api stable
*/
ol.layer.Tile.prototype.getSource;
/**
* @param {number} preload The level to preload tiles up to.
* @observable

View File

@@ -11,7 +11,6 @@ goog.require('ol.extent');
goog.require('ol.layer.Image');
goog.require('ol.renderer.Map');
goog.require('ol.renderer.canvas.Layer');
goog.require('ol.source.Image');
goog.require('ol.vec.Mat4');
@@ -49,7 +48,6 @@ ol.renderer.canvas.ImageLayer.prototype.forEachFeatureAtPixel =
function(coordinate, frameState, callback, thisArg) {
var layer = this.getLayer();
var source = layer.getSource();
goog.asserts.assertInstanceof(source, ol.source.Image);
var extent = frameState.extent;
var resolution = frameState.viewState.resolution;
var rotation = frameState.viewState.rotation;
@@ -99,7 +97,6 @@ ol.renderer.canvas.ImageLayer.prototype.prepareFrame =
var imageLayer = this.getLayer();
goog.asserts.assertInstanceof(imageLayer, ol.layer.Image);
var imageSource = imageLayer.getSource();
goog.asserts.assertInstanceof(imageSource, ol.source.Image);
var hints = frameState.viewHints;

View File

@@ -15,7 +15,6 @@ goog.require('ol.extent');
goog.require('ol.layer.Tile');
goog.require('ol.renderer.Map');
goog.require('ol.renderer.canvas.Layer');
goog.require('ol.source.Tile');
goog.require('ol.tilecoord');
goog.require('ol.vec.Mat4');
@@ -175,7 +174,6 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame =
var tileLayer = this.getLayer();
goog.asserts.assertInstanceof(tileLayer, ol.layer.Tile);
var tileSource = tileLayer.getSource();
goog.asserts.assertInstanceof(tileSource, ol.source.Tile);
var tileGrid = tileSource.getTileGridForProjection(projection);
var tileGutter = tileSource.getGutter();
var z = tileGrid.getZForResolution(viewState.resolution);

View File

@@ -13,7 +13,6 @@ goog.require('ol.dom');
goog.require('ol.extent');
goog.require('ol.layer.Image');
goog.require('ol.renderer.dom.Layer');
goog.require('ol.source.Image');
goog.require('ol.vec.Mat4');
@@ -54,7 +53,6 @@ ol.renderer.dom.ImageLayer.prototype.forEachFeatureAtPixel =
function(coordinate, frameState, callback, thisArg) {
var layer = this.getLayer();
var source = layer.getSource();
goog.asserts.assertInstanceof(source, ol.source.Image);
var extent = frameState.extent;
var resolution = frameState.viewState.resolution;
var rotation = frameState.viewState.rotation;
@@ -86,7 +84,6 @@ ol.renderer.dom.ImageLayer.prototype.prepareFrame =
var imageLayer = this.getLayer();
goog.asserts.assertInstanceof(imageLayer, ol.layer.Image);
var imageSource = imageLayer.getSource();
goog.asserts.assertInstanceof(imageSource, ol.source.Image);
var hints = frameState.viewHints;

View File

@@ -21,7 +21,6 @@ goog.require('ol.dom.BrowserFeature');
goog.require('ol.extent');
goog.require('ol.layer.Tile');
goog.require('ol.renderer.dom.Layer');
goog.require('ol.source.Tile');
goog.require('ol.tilecoord');
goog.require('ol.tilegrid.TileGrid');
goog.require('ol.vec.Mat4');
@@ -96,7 +95,6 @@ ol.renderer.dom.TileLayer.prototype.prepareFrame =
var tileLayer = this.getLayer();
goog.asserts.assertInstanceof(tileLayer, ol.layer.Tile);
var tileSource = tileLayer.getSource();
goog.asserts.assertInstanceof(tileSource, ol.source.Tile);
var tileGrid = tileSource.getTileGridForProjection(projection);
var tileGutter = tileSource.getGutter();
var z = tileGrid.getZForResolution(viewState.resolution);

View File

@@ -13,7 +13,6 @@ goog.require('ol.ViewHint');
goog.require('ol.extent');
goog.require('ol.layer.Image');
goog.require('ol.renderer.webgl.Layer');
goog.require('ol.source.Image');
@@ -80,7 +79,6 @@ ol.renderer.webgl.ImageLayer.prototype.forEachFeatureAtPixel =
function(coordinate, frameState, callback, thisArg) {
var layer = this.getLayer();
var source = layer.getSource();
goog.asserts.assertInstanceof(source, ol.source.Image);
var extent = frameState.extent;
var resolution = frameState.viewState.resolution;
var rotation = frameState.viewState.rotation;
@@ -116,7 +114,6 @@ ol.renderer.webgl.ImageLayer.prototype.prepareFrame =
var imageLayer = this.getLayer();
goog.asserts.assertInstanceof(imageLayer, ol.layer.Image);
var imageSource = imageLayer.getSource();
goog.asserts.assertInstanceof(imageSource, ol.source.Image);
var hints = frameState.viewHints;

View File

@@ -16,7 +16,6 @@ goog.require('ol.layer.Tile');
goog.require('ol.math');
goog.require('ol.renderer.webgl.Layer');
goog.require('ol.renderer.webgl.tilelayer.shader');
goog.require('ol.source.Tile');
goog.require('ol.structs.Buffer');
goog.require('ol.tilecoord');
@@ -120,7 +119,6 @@ ol.renderer.webgl.TileLayer.prototype.prepareFrame =
var tileLayer = this.getLayer();
goog.asserts.assertInstanceof(tileLayer, ol.layer.Tile);
var tileSource = tileLayer.getSource();
goog.asserts.assertInstanceof(tileSource, ol.source.Tile);
var tileGrid = tileSource.getTileGridForProjection(projection);
var z = tileGrid.getZForResolution(viewState.resolution);
var tileResolution = tileGrid.getResolution(z);