Add ol.BrowserFeature.HAS_CANVAS

This commit is contained in:
Éric Lemoine
2013-12-18 08:22:59 +01:00
parent b6ec5838f7
commit 42a2f7aab9
4 changed files with 28 additions and 30 deletions

View File

@@ -1,6 +1,7 @@
@exportSymbol ol.BrowserFeature
@exportProperty ol.BrowserFeature.DEVICE_PIXEL_RATIO
@exportProperty ol.BrowserFeature.HAS_TOUCH
@exportProperty ol.BrowserFeature.HAS_CANVAS
@exportProperty ol.BrowserFeature.HAS_DEVICE_ORIENTATION
@exportProperty ol.BrowserFeature.HAS_GEOLOCATION
@exportProperty ol.BrowserFeature.HAS_TOUCH
@exportProperty ol.BrowserFeature.HAS_WEBGL

View File

@@ -21,6 +21,30 @@ ol.ASSUME_TOUCH = false;
ol.BrowserFeature.DEVICE_PIXEL_RATIO = goog.global.devicePixelRatio || 1;
/**
* True if browser supports Canvas.
* @const
* @type {boolean}
* @todo stability experimental
*/
ol.BrowserFeature.HAS_CANVAS = (
/**
* @return {boolean} Canvas supported.
*/
function() {
if (!('HTMLCanvasElement' in goog.global)) {
return false;
}
try {
var canvas = /** @type {HTMLCanvasElement} */
(goog.dom.createElement(goog.dom.TagName.CANVAS));
return !goog.isNull(canvas.getContext('2d'));
} catch (e) {
return false;
}
})();
/**
* Indicates if DeviceOrientation is supported in the user's browser.
* @const

View File

@@ -1,27 +0,0 @@
goog.provide('ol.canvas');
goog.require('goog.dom');
goog.require('goog.dom.TagName');
/**
* Is supported.
* @const
* @type {boolean}
*/
ol.canvas.SUPPORTED = (
/**
* @return {boolean} Canvas supported.
*/
function() {
if (!('HTMLCanvasElement' in goog.global)) {
return false;
}
try {
var canvas = /** @type {HTMLCanvasElement} */
(goog.dom.createElement(goog.dom.TagName.CANVAS));
return !goog.isNull(canvas.getContext('2d'));
} catch (e) {
return false;
}
})();

View File

@@ -1,6 +1,6 @@
goog.provide('ol.renderer.canvas');
goog.require('ol.canvas');
goog.require('ol.BrowserFeature');
/**
@@ -8,4 +8,4 @@ goog.require('ol.canvas');
* @const
* @type {boolean}
*/
ol.renderer.canvas.SUPPORTED = ol.canvas.SUPPORTED;
ol.renderer.canvas.SUPPORTED = ol.BrowserFeature.HAS_CANVAS;