package flare.scale { /** * Interface used by classes which support mapping between * spatial (x,y) coordinates and values in a data scale. For example, * both an axis or legend range should provide this functionality. */ public interface IScaleMap { /** * Returns the x-coordinate corresponding to the lower end of the scale. * @return the x-coordinate for the minimum value */ function get x1():Number; /** * Returns the y-coordinate corresponding to the lower end of the scale. * @return the y-coordinate for the minimum value */ function get y1():Number; /** * Returns the x-coordinate corresponding to the upper end of the scale. * @return the x-coordinate for the maximum value */ function get x2():Number; /** * Returns the y-coordinate corresponding to the upper end of the scale. * @return the y-coordinate for the maximum value */ function get y2():Number; /** * Returns the scale value corresponding to a given coordinate. * @param x the x-coordinate * @param y the y-coordinate * @param stayInBounds if true, x,y values outside the current layout * bounds will be snapped to the bounds. If false, the value lookup * will attempt to extrapolate beyond the scale bounds. This value * is true be default. * @return the scale value corresponding to the given coordinate. */ function value(x:Number, y:Number, stayInBounds:Boolean=true):Object; /** * Returns the x-coordinate corresponding to the given scale value * @param val the scale value to lookup * @return the x-coordinate at which that scale value is placed */ function X(val:Object):Number; /** * Returns the y-coordinate corresponding to the given scale value * @param val the scale value to lookup * @return the y-coordinate at which that scale value is placed */ function Y(val:Object):Number; } // end of interface IScaleMap }