package edu.byu.cs.roots.opg.chart.selectvertical;
import edu.byu.cs.roots.opg.chart.ChartDrawInfo;
import edu.byu.cs.roots.opg.chart.cmds.DrawCommand;
public class ChartMargins {
private ChartDrawInfo chart;
double xOrig;
double yOrig;
double width;
double height;
public ChartMargins(ChartDrawInfo chart, double x, double y, double width, double height)
{
this.chart = chart;
xOrig = x;
yOrig = y;
this.width = width;
this.height = height;
}
public ChartMargins(ChartDrawInfo chart, double uniformMarginSize)
{
this.chart = chart;
xOrig = uniformMarginSize;
yOrig = uniformMarginSize;
width = chart.getXExtent() - (uniformMarginSize*2);
height = chart.getYExtent() - (uniformMarginSize*2);
}
public ChartMargins(ChartDrawInfo chart, double uniformMarginSize, double titleHeight)
{
this.chart = chart;
xOrig = uniformMarginSize;
yOrig = uniformMarginSize;
width = chart.getXExtent() - (uniformMarginSize*2);
height = chart.getYExtent() - (uniformMarginSize*2) - titleHeight;
}
public ChartDrawInfo getChart(){
return chart;
}
public void addDrawCommand(DrawCommand cmd)
{
//relies on draw command to offset by correct amount
chart.addDrawCommand(cmd);
}
public double getXExtent(){
return width;
}
public double getYExtent(){
return height;
}
public double xOffset(double x){
return x + xOrig;
}
public double yOffset(double y){
return y + yOrig;
}
}