view flys-artifacts/src/main/java/de/intevation/flys/exports/ChartArea.java @ 4890:bf38ea4cb0f7

Added bodies to macros. Use the bodies of <dc:call-macro><body></dc:call-macro> as <dc:macro-body/> in tthe macro. Example: <dc:macro name="greet"><hello><dc:macro-body/></hello></dc:macro> <dc:call-macro name="greet"><planet>Earth</planet></dc:call-macro> Result: <hello><panet>Earth</planet></hello>
author Sascha L. Teichmann <teichmann@intevation.de>
date Mon, 28 Jan 2013 18:55:55 +0100
parents 9422b559b2d5
children
line wrap: on
line source
package de.intevation.flys.exports;

import org.jfree.chart.axis.ValueAxis;

import org.jfree.data.Range;

/** Two Ranges that span a rectangular area. */
public class ChartArea {
    protected Range xRange;
    protected Range yRange;

    public ChartArea(Range rangeX, Range rangeY) {
        this.xRange = rangeX;
        this.yRange = rangeY;
    }

    public ChartArea(ValueAxis axisX, ValueAxis axisY) {
        this.xRange = axisX.getRange();
        this.yRange = axisY.getRange();
    }

    public double ofLeft(double percent) {
        return xRange.getLowerBound()
            + xRange.getLength() * percent;
    }

    public double ofRight(double percent) {
        return xRange.getUpperBound()
            - xRange.getLength() * percent;
    }

    public double ofGround(double percent) {
        return yRange.getLowerBound()
            + yRange.getLength() * percent;
    }

    public double atTop() {
        return yRange.getUpperBound();
    }

    public double atGround() {
        return yRange.getLowerBound();
    }

    public double atRight() {
        return xRange.getUpperBound();
    }

    public double atLeft() {
        return xRange.getLowerBound();
    }

    public double above(double percent, double base) {
        return base + yRange.getLength() * percent;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org