diff --git a/src/ol/extent.js b/src/ol/extent.js index 25464d5e68..f4651b1f7d 100644 --- a/src/ol/extent.js +++ b/src/ol/extent.js @@ -52,6 +52,19 @@ ol.extent.boundingExtentXYs_ = function(xs, ys, opt_extent) { }; +/** + * Increase an extent by the provided value. + * @param {ol.Extent} extent The extent to buffer. + * @param {number} value The amount by wich the extent should be buffered. + */ +ol.extent.buffer = function(extent, value) { + extent[0] -= value; + extent[1] -= value; + extent[2] += value; + extent[3] += value; +}; + + /** * Creates a clone of an extent. * diff --git a/test/spec/ol/extent.test.js b/test/spec/ol/extent.test.js index a2f032f423..182491d9a6 100644 --- a/test/spec/ol/extent.test.js +++ b/test/spec/ol/extent.test.js @@ -3,6 +3,16 @@ goog.provide('ol.test.extent'); describe('ol.extent', function() { + describe('buffer', function() { + + it('buffers an extent by some value', function() { + var extent = [-10, -20, 10, 20]; + ol.extent.buffer(extent, 15); + expect(extent).to.eql([-25, -35, 25, 35]); + }); + + }); + describe('clone', function() { it('creates a copy of an extent', function() {