Merge pull request #2033 from htulipe/map-renderer-type
Expose map renderer type in the API.
This commit is contained in:
@@ -108,7 +108,7 @@ olx.GeolocationOptions.prototype.projection;
|
||||
* layers: (Array.<ol.layer.Base>|ol.Collection|undefined),
|
||||
* ol3Logo: (boolean|undefined),
|
||||
* overlays: (ol.Collection|Array.<ol.Overlay>|undefined),
|
||||
* renderer: (ol.RendererHint|Array.<ol.RendererHint|string>|string|undefined),
|
||||
* renderer: (ol.RendererType|Array.<ol.RendererType|string>|string|undefined),
|
||||
* target: (Element|string|undefined),
|
||||
* view: (ol.IView|undefined)}}
|
||||
* @todo api
|
||||
@@ -181,7 +181,7 @@ olx.MapOptions.prototype.overlays;
|
||||
|
||||
/**
|
||||
* Renderer.
|
||||
* @type {ol.RendererHint|Array.<ol.RendererHint|string>|string|undefined}
|
||||
* @type {ol.RendererType|Array.<ol.RendererType|string>|string|undefined}
|
||||
*/
|
||||
olx.MapOptions.prototype.renderer;
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ goog.require('ol.ObjectEventType');
|
||||
goog.require('ol.Pixel');
|
||||
goog.require('ol.PostRenderFunction');
|
||||
goog.require('ol.PreRenderFunction');
|
||||
goog.require('ol.RendererType');
|
||||
goog.require('ol.Size');
|
||||
goog.require('ol.Tile');
|
||||
goog.require('ol.TileQueue');
|
||||
@@ -99,24 +100,12 @@ ol.OL3_LOGO_URL = 'data:image/png;base64,' +
|
||||
|
||||
|
||||
/**
|
||||
* Available renderers: `'canvas'`, `'dom'` or `'webgl'`.
|
||||
* @enum {string}
|
||||
* @todo api
|
||||
* @type {Array.<ol.RendererType>}
|
||||
*/
|
||||
ol.RendererHint = {
|
||||
CANVAS: 'canvas',
|
||||
DOM: 'dom',
|
||||
WEBGL: 'webgl'
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @type {Array.<ol.RendererHint>}
|
||||
*/
|
||||
ol.DEFAULT_RENDERER_HINTS = [
|
||||
ol.RendererHint.CANVAS,
|
||||
ol.RendererHint.WEBGL,
|
||||
ol.RendererHint.DOM
|
||||
ol.DEFAULT_RENDERER_TYPES = [
|
||||
ol.RendererType.CANVAS,
|
||||
ol.RendererType.WEBGL,
|
||||
ol.RendererType.DOM
|
||||
];
|
||||
|
||||
|
||||
@@ -726,6 +715,15 @@ ol.Map.prototype.getPixelFromCoordinate = function(coordinate) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Get the map renderer.
|
||||
* @return {ol.renderer.Map} Renderer
|
||||
*/
|
||||
ol.Map.prototype.getRenderer = function() {
|
||||
return this.renderer_;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Get the size of this map.
|
||||
* @return {ol.Size|undefined} The size in pixels of the map in the DOM.
|
||||
@@ -1423,36 +1421,36 @@ ol.Map.createOptionsInternal = function(options) {
|
||||
var rendererConstructor = ol.renderer.Map;
|
||||
|
||||
/**
|
||||
* @type {Array.<ol.RendererHint>}
|
||||
* @type {Array.<ol.RendererType>}
|
||||
*/
|
||||
var rendererHints;
|
||||
var rendererTypes;
|
||||
if (goog.isDef(options.renderer)) {
|
||||
if (goog.isArray(options.renderer)) {
|
||||
rendererHints = options.renderer;
|
||||
rendererTypes = options.renderer;
|
||||
} else if (goog.isString(options.renderer)) {
|
||||
rendererHints = [options.renderer];
|
||||
rendererTypes = [options.renderer];
|
||||
} else {
|
||||
goog.asserts.fail('Incorrect format for renderer option');
|
||||
}
|
||||
} else {
|
||||
rendererHints = ol.DEFAULT_RENDERER_HINTS;
|
||||
rendererTypes = ol.DEFAULT_RENDERER_TYPES;
|
||||
}
|
||||
|
||||
var i, ii;
|
||||
for (i = 0, ii = rendererHints.length; i < ii; ++i) {
|
||||
/** @type {ol.RendererHint} */
|
||||
var rendererHint = rendererHints[i];
|
||||
if (ol.ENABLE_CANVAS && rendererHint == ol.RendererHint.CANVAS) {
|
||||
for (i = 0, ii = rendererTypes.length; i < ii; ++i) {
|
||||
/** @type {ol.RendererType} */
|
||||
var rendererType = rendererTypes[i];
|
||||
if (ol.ENABLE_CANVAS && rendererType == ol.RendererType.CANVAS) {
|
||||
if (ol.BrowserFeature.HAS_CANVAS) {
|
||||
rendererConstructor = ol.renderer.canvas.Map;
|
||||
break;
|
||||
}
|
||||
} else if (ol.ENABLE_DOM && rendererHint == ol.RendererHint.DOM) {
|
||||
} else if (ol.ENABLE_DOM && rendererType == ol.RendererType.DOM) {
|
||||
if (ol.BrowserFeature.HAS_DOM) {
|
||||
rendererConstructor = ol.renderer.dom.Map;
|
||||
break;
|
||||
}
|
||||
} else if (ol.ENABLE_WEBGL && rendererHint == ol.RendererHint.WEBGL) {
|
||||
} else if (ol.ENABLE_WEBGL && rendererType == ol.RendererType.WEBGL) {
|
||||
if (ol.BrowserFeature.HAS_WEBGL) {
|
||||
rendererConstructor = ol.renderer.webgl.Map;
|
||||
break;
|
||||
|
||||
@@ -7,6 +7,7 @@ goog.require('goog.dom');
|
||||
goog.require('goog.style');
|
||||
goog.require('goog.vec.Mat4');
|
||||
goog.require('ol');
|
||||
goog.require('ol.RendererType');
|
||||
goog.require('ol.css');
|
||||
goog.require('ol.dom');
|
||||
goog.require('ol.layer.Image');
|
||||
@@ -126,6 +127,14 @@ ol.renderer.canvas.Map.prototype.getCanvasLayerRenderer = function(layer) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
ol.renderer.canvas.Map.prototype.getType = function() {
|
||||
return ol.RendererType.CANVAS;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
|
||||
@@ -6,6 +6,7 @@ goog.require('goog.dom.TagName');
|
||||
goog.require('goog.functions');
|
||||
goog.require('goog.style');
|
||||
goog.require('ol');
|
||||
goog.require('ol.RendererType');
|
||||
goog.require('ol.css');
|
||||
goog.require('ol.layer.Image');
|
||||
goog.require('ol.layer.Tile');
|
||||
@@ -75,6 +76,14 @@ ol.renderer.dom.Map.prototype.createLayerRenderer = function(layer) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
ol.renderer.dom.Map.prototype.getType = function() {
|
||||
return ol.RendererType.DOM;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
goog.provide('ol.RendererType');
|
||||
goog.provide('ol.renderer.Map');
|
||||
|
||||
goog.require('goog.Disposable');
|
||||
@@ -11,6 +12,18 @@ goog.require('ol.style.IconImageCache');
|
||||
goog.require('ol.vec.Mat4');
|
||||
|
||||
|
||||
/**
|
||||
* Available renderers: `'canvas'`, `'dom'` or `'webgl'`.
|
||||
* @enum {string}
|
||||
* @todo api
|
||||
*/
|
||||
ol.RendererType = {
|
||||
CANVAS: 'canvas',
|
||||
DOM: 'dom',
|
||||
WEBGL: 'webgl'
|
||||
};
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
@@ -163,6 +176,12 @@ ol.renderer.Map.prototype.getMap = function() {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @return {string} Type
|
||||
*/
|
||||
ol.renderer.Map.prototype.getType = goog.abstractMethod;
|
||||
|
||||
|
||||
/**
|
||||
* @param {string} layerKey Layer key.
|
||||
* @return {ol.renderer.Layer} Layer renderer.
|
||||
|
||||
@@ -13,6 +13,7 @@ goog.require('goog.object');
|
||||
goog.require('goog.style');
|
||||
goog.require('goog.webgl');
|
||||
goog.require('ol');
|
||||
goog.require('ol.RendererType');
|
||||
goog.require('ol.Tile');
|
||||
goog.require('ol.css');
|
||||
goog.require('ol.dom');
|
||||
@@ -346,6 +347,14 @@ ol.renderer.webgl.Map.prototype.getTileTextureQueue = function() {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
ol.renderer.webgl.Map.prototype.getType = function() {
|
||||
return ol.RendererType.WEBGL;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {goog.events.Event} event Event.
|
||||
* @protected
|
||||
|
||||
Reference in New Issue
Block a user