From 1863109ac81188f40e7b684b5cad9b96c81b4a11 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Mon, 7 Oct 2013 15:41:00 +0200 Subject: [PATCH] Make keyboard zoom animation duration configurable --- src/objectliterals.jsdoc | 1 + src/ol/interaction/keyboardzoominteraction.js | 16 ++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/objectliterals.jsdoc b/src/objectliterals.jsdoc index bee1954ac6..47034e4494 100644 --- a/src/objectliterals.jsdoc +++ b/src/objectliterals.jsdoc @@ -306,6 +306,7 @@ /** * @typedef {Object} ol.interaction.KeyboardZoomOptions + * @property {number|undefined} duration Animation duration. Default is 100ms. * @property {ol.interaction.ConditionType|undefined} condition A conditional * modifier (i.e. Shift key) that determines if the interaction is active * or not, default is no modifiers. diff --git a/src/ol/interaction/keyboardzoominteraction.js b/src/ol/interaction/keyboardzoominteraction.js index e1ef2c9b18..436a77e509 100644 --- a/src/ol/interaction/keyboardzoominteraction.js +++ b/src/ol/interaction/keyboardzoominteraction.js @@ -9,12 +9,6 @@ goog.require('ol.interaction.Interaction'); goog.require('ol.interaction.condition'); -/** - * @define {number} Zoom duration. - */ -ol.interaction.KEYBOARD_ZOOM_DURATION = 100; - - /** * Allows the user to zoom the map using keyboard + and -. @@ -41,6 +35,12 @@ ol.interaction.KeyboardZoom = function(opt_options) { */ this.delta_ = goog.isDef(options.delta) ? options.delta : 1; + /** + * @private + * @type {number} + */ + this.duration_ = goog.isDef(options.duration) ? options.duration : 100; + }; goog.inherits(ol.interaction.KeyboardZoom, ol.interaction.Interaction); @@ -62,8 +62,8 @@ ol.interaction.KeyboardZoom.prototype.handleMapBrowserEvent = map.requestRenderFrame(); // FIXME works for View2D only var view = map.getView().getView2D(); - ol.interaction.Interaction.zoomByDelta(map, view, delta, undefined, - ol.interaction.KEYBOARD_ZOOM_DURATION); + ol.interaction.Interaction.zoomByDelta( + map, view, delta, undefined, this.duration_); mapBrowserEvent.preventDefault(); stopEvent = true; }