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