teichmann@5863: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde teichmann@5863: * Software engineering by Intevation GmbH teichmann@5863: * teichmann@5994: * This file is Free Software under the GNU AGPL (>=v3) teichmann@5863: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@5994: * documentation coming with Dive4Elements River for details. teichmann@5863: */ teichmann@5863: teichmann@5831: package org.dive4elements.river.exports; christian@3242: christian@3242: import org.jfree.chart.axis.ValueAxis; christian@3242: sascha@3257: import org.jfree.data.Range; christian@3242: sascha@3257: /** Two Ranges that span a rectangular area. */ sascha@3257: public class ChartArea { sascha@3257: protected Range xRange; sascha@3257: protected Range yRange; christian@3242: sascha@3257: public ChartArea(Range rangeX, Range rangeY) { sascha@3257: this.xRange = rangeX; sascha@3257: this.yRange = rangeY; sascha@3257: } christian@3242: sascha@3257: public ChartArea(ValueAxis axisX, ValueAxis axisY) { sascha@3257: this.xRange = axisX.getRange(); sascha@3257: this.yRange = axisY.getRange(); sascha@3257: } christian@3242: sascha@3257: public double ofLeft(double percent) { sascha@3257: return xRange.getLowerBound() sascha@3257: + xRange.getLength() * percent; christian@3242: } sascha@3257: sascha@3257: public double ofRight(double percent) { sascha@3257: return xRange.getUpperBound() sascha@3257: - xRange.getLength() * percent; sascha@3257: } sascha@3257: sascha@3257: public double ofGround(double percent) { sascha@3257: return yRange.getLowerBound() sascha@3257: + yRange.getLength() * percent; sascha@3257: } sascha@3257: sascha@3257: public double atTop() { sascha@3257: return yRange.getUpperBound(); sascha@3257: } sascha@3257: sascha@3257: public double atGround() { sascha@3257: return yRange.getLowerBound(); sascha@3257: } sascha@3257: sascha@3257: public double atRight() { sascha@3257: return xRange.getUpperBound(); sascha@3257: } sascha@3257: sascha@3257: public double atLeft() { sascha@3257: return xRange.getLowerBound(); sascha@3257: } sascha@3257: sascha@3257: public double above(double percent, double base) { sascha@3257: return base + yRange.getLength() * percent; sascha@3257: } sascha@3257: } sascha@3259: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :