view flys-artifacts/src/main/java/de/intevation/flys/exports/ChartArea.java @ 5449:504a62887217

Datacage: Compile XPath expressions and reuse them. With the introduction of filters in dc:elements XPath expressions are evalutated very often so compiling them should reduce the overhead significantly.
author Sascha L. Teichmann <teichmann@intevation.de>
date Wed, 27 Mar 2013 10:59: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