Support vector layers instead of renderers for ol/source/Raster

This commit is contained in:
ahocevar
2018-05-28 10:23:47 +02:00
parent a59dd8ea65
commit 137c875df7
5 changed files with 46 additions and 71 deletions

View File

@@ -10,10 +10,11 @@ import Event from '../events/Event.js';
import EventType from '../events/EventType.js';
import {Processor} from 'pixelworks/lib/index';
import {equals, getCenter, getHeight, getWidth} from '../extent.js';
import LayerType from '../LayerType.js';
import Layer from '../layer/Layer.js';
import ImageLayer from '../layer/Image.js';
import TileLayer from '../layer/Tile.js';
import {assign} from '../obj.js';
import CanvasLayerRenderer from '../renderer/canvas/Layer.js';
import CanvasImageLayerRenderer from '../renderer/canvas/ImageLayer.js';
import CanvasTileLayerRenderer from '../renderer/canvas/TileLayer.js';
import ImageSource from '../source/Image.js';
@@ -112,7 +113,7 @@ inherits(RasterSourceEvent, Event);
/**
* @typedef {Object} Options
* @property {Array.<module:ol/source/Source|module:ol/renderer/canvas/Layer>} sources Input sources.
* @property {Array.<module:ol/source/Source|module:ol/layer/Vector>} sources Input sources.
* @property {module:ol/source/Raster~Operation} [operation] Raster operation.
* The operation will be called with data from input sources
* and the output will be assigned to the raster source.
@@ -488,10 +489,8 @@ function createRenderer(source) {
renderer = createTileRenderer(source);
} else if (source instanceof ImageSource) {
renderer = createImageRenderer(source);
} else if (source instanceof TileLayer) {
renderer = new CanvasTileLayerRenderer(source);
} else if (source instanceof CanvasLayerRenderer) {
renderer = source;
} else if (source instanceof Layer && source.getType() == LayerType.VECTOR) {
renderer = new CanvasImageLayerRenderer(source);
}
return renderer;
}