From 092fce96eceef617d4e4ab4f20fc7a0b1ad0b659 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 18 Jul 2012 20:00:18 +0200 Subject: [PATCH] Add background color property --- src/ol/map.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/ol/map.js b/src/ol/map.js index 400f9974a3..1e81b6dc7c 100644 --- a/src/ol/map.js +++ b/src/ol/map.js @@ -2,6 +2,7 @@ goog.provide('ol.Map'); goog.provide('ol.MapProperty'); goog.require('goog.array'); +goog.require('goog.color'); goog.require('goog.dom.ViewportSizeMonitor'); goog.require('goog.events'); goog.require('goog.events.BrowserEvent'); @@ -27,6 +28,7 @@ goog.require('ol.Projection'); * @enum {string} */ ol.MapProperty = { + BACKGROUND_COLOR: 'backgroundColor', CENTER: 'center', CONTROLS: 'controls', EXTENT: 'extent', @@ -131,6 +133,10 @@ ol.Map = function(target, opt_values, opt_viewportSizeMonitor) { goog.events.listen(this.viewportSizeMonitor_, goog.events.EventType.RESIZE, this.handleViewportResize, false, this); + goog.events.listen(this, + ol.Object.getChangedEventType(ol.MapProperty.BACKGROUND_COLOR), + this.handleBackgroundColorChanged, false, this); + goog.events.listen( this, ol.Object.getChangedEventType(ol.MapProperty.CENTER), this.handleCenterChanged, false, this); @@ -216,6 +222,15 @@ ol.Map.prototype.forEachVisibleLayer = function(f, opt_obj) { }; +/** + * @return {string|undefined} Background color. + */ +ol.Map.prototype.getBackgroundColor = function() { + return /** @type {string|undefined} */ ( + this.get(ol.MapProperty.BACKGROUND_COLOR)); +}; + + /** * @return {goog.math.Coordinate|undefined} Center. */ @@ -341,6 +356,11 @@ ol.Map.prototype.getTarget = function() { }; +/** + */ +ol.Map.prototype.handleBackgroundColorChanged = goog.nullFunction; + + /** * @param {goog.events.BrowserEvent} event Event. */ @@ -539,6 +559,15 @@ ol.Map.prototype.removeLayerRenderer = function(layer) { }; +/** + * @param {string} backgroundColor Background color. + */ +ol.Map.prototype.setBackgroundColor = function(backgroundColor) { + goog.color.parse(backgroundColor); + this.set(ol.MapProperty.BACKGROUND_COLOR, backgroundColor); +}; + + /** * @param {goog.math.Coordinate} center Center. */