blob: 132bbb24e4831a39190168fd29ee83c4ff2229f7 [file] [log] [blame]
/*******************************************************************************
* Copyright: 2004, 2012 1&1 Internet AG, Germany, http://www.1und1.de,
* and EclipseSource
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this
* distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* 1&1 Internet AG and others - original API and implementation
* EclipseSource - adaptation for the Eclipse Remote Application Platform
******************************************************************************/
/**
* Helper functions for numbers.
*
* The native JavaScript Number is not modified by this class.
*
* The additions implemented here may be added directly to the native Number
* by a setting in {@link qx.lang.Prototypes}. This feature is not enabled by
* default.
*/
rwt.qx.Class.define("rwt.util.Numbers",
{
statics :
{
/**
* Check whether the number is in a given range
*
* @type static
* @param nr {Number} the number to check
* @param vmin {Integer} lower bound of the range
* @param vmax {Integer} upper bound of the range
* @return {Boolean} whether the number is >= vmin and <= vmax
*/
isInRange : function(nr, vmin, vmax) {
return nr >= vmin && nr <= vmax;
},
/**
* Check whether the number is between a given range
*
* @type static
* @param nr {Number} the number to check
* @param vmin {Integer} lower bound of the range
* @param vmax {Integer} upper bound of the range
* @return {Boolean} whether the number is > vmin and < vmax
*/
isBetweenRange : function(nr, vmin, vmax) {
return nr > vmin && nr < vmax;
},
/**
* Limit the nuber to a given range
*
* * If the number is greater than the upper bound, the upper bound is returned
* * If the number is smaller than the lower bound, the lower bound is returned
* * If the number is in the range, the number is retuned
*
* @type static
* @param nr {Number} the number to limit
* @param vmin {Integer} lower bound of the range
* @param vmax {Integer} upper bound of the range
* @return {Integer} the limited number
*/
limit : function(nr, vmin, vmax)
{
if (typeof vmax === "number" && nr > vmax) {
return vmax;
} else if (typeof vmin === "number" && nr < vmin) {
return vmin;
} else {
return nr;
}
}
}
});