/* * Ext GWT - Ext for GWT * Copyright(c) 2007-2009, Ext JS, LLC. * licensing@extjs.com * * http://extjs.com/license */ package com.extjs.gxt.charts.client.model; /** * Provides the chart scale given a minimum and maximum value. */ public interface ScaleProvider { public static ScaleProvider DEFAULT_SCALE_PROVIDER = new ScaleProvider() { public Scale calcScale(double min, double max) { min = Math.floor(min * (min > 0 ? .9 : 1.1)); max = Math.round(max * (max > 0 ? 1.1 : .9)); return new Scale(min, max, Math.max(min > 0 ? min : min * -1, max > 0 ? max : max * -1) / 10); } }; public static ScaleProvider ROUNDED_NEAREST_SCALE_PROVIDER = new ScaleProvider() { public Scale calcScale(double min, double max) { Scale scale = DEFAULT_SCALE_PROVIDER.calcScale(min, max); scale.setInterval(Math.round(scale.getInterval())); return scale; } }; /** * Returns the scale for the given minimum and maximum value. * * @param min the minimum value * @param max the maximum value * @return the scale */ public Scale calcScale(double min, double max); }