From b2e419654bffc1c1bc2844a52014e0d757267187 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Thu, 4 Dec 2014 12:13:47 +0100 Subject: [PATCH] Add ol.INITIAL_ATLAS_SIZE and ol.MAX_ATLAS_SIZE --- externs/olx.js | 11 +++++++---- src/ol/ol.js | 15 +++++++++++++++ src/ol/style/atlasmanager.js | 9 ++++++--- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/externs/olx.js b/externs/olx.js index d0a5724a18..4df39a1c48 100644 --- a/externs/olx.js +++ b/externs/olx.js @@ -6263,7 +6263,8 @@ olx.style.AtlasManagerOptions; /** - * The size in pixels of the first atlas image (default: 256). + * The size in pixels of the first atlas image. If no value is given the + * `ol.INITIAL_ATLAS_SIZE` compile-time constant will be used. * @type {number|undefined} * @api */ @@ -6271,9 +6272,11 @@ olx.style.AtlasManagerOptions.prototype.initialSize; /** - * The maximum size in pixels of atlas images. If no value is given, - * `ol.WEBGL_MAX_TEXTURE_SIZE` will be used (if WebGL is supported), otherwise - * the default is 2048. + * The maximum size in pixels of atlas images. If no value is given then + * the `ol.MAX_ATLAS_SIZE` compile-time constant will be used. And if + * `ol.MAX_ATLAS_SIZE` is set to `-1` (the default) then + * `ol.WEBGL_MAX_TEXTURE_SIZE` will used if WebGL is supported. Otherwise + * 2048 is used. * @type {number|undefined} * @api */ diff --git a/src/ol/ol.js b/src/ol/ol.js index 02c1f30ec1..01ca364939 100644 --- a/src/ol/ol.js +++ b/src/ol/ol.js @@ -152,6 +152,13 @@ ol.ENABLE_WEBGL = true; ol.LEGACY_IE_SUPPORT = false; +/** + * @define {number} The size in pixels of the first atlas image. Default is + * `256`. + */ +ol.INITIAL_ATLAS_SIZE = 256; + + /** * The page is loaded using HTTPS. * @const @@ -175,6 +182,14 @@ ol.IS_LEGACY_IE = goog.userAgent.IE && ol.KEYBOARD_PAN_DURATION = 100; +/** + * @define {number} The maximum size in pixels of atlas images. Default is + * `-1`, meaning it is not used (and `ol.ol.WEBGL_MAX_TEXTURE_SIZE` is + * used instead). + */ +ol.MAX_ATLAS_SIZE = -1; + + /** * @define {number} Maximum mouse wheel delta. */ diff --git a/src/ol/style/atlasmanager.js b/src/ol/style/atlasmanager.js index 7dd22fc611..a3cb260eca 100644 --- a/src/ol/style/atlasmanager.js +++ b/src/ol/style/atlasmanager.js @@ -5,6 +5,7 @@ goog.require('goog.asserts'); goog.require('goog.dom'); goog.require('goog.dom.TagName'); goog.require('goog.object'); +goog.require('ol'); /** @@ -48,15 +49,17 @@ ol.style.AtlasManager = function(opt_options) { * @type {number} */ this.currentSize_ = goog.isDef(options.initialSize) ? - options.initialSize : 256; + options.initialSize : ol.INITIAL_ATLAS_SIZE; /** * The maximum size in pixels of atlas images. * @private * @type {number} */ - this.maxSize_ = goog.isDef(options.maxSize) ? options.maxSize : - goog.isDef(ol.WEBGL_MAX_TEXTURE_SIZE) ? ol.WEBGL_MAX_TEXTURE_SIZE : 2048; + this.maxSize_ = goog.isDef(options.maxSize) ? + options.maxSize : ol.MAX_ATLAS_SIZE != -1 ? + ol.MAX_ATLAS_SIZE : goog.isDef(ol.WEBGL_MAX_TEXTURE_SIZE) ? + ol.WEBGL_MAX_TEXTURE_SIZE : 2048; /** * The size in pixels between images.