package jas.plot;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.RenderingHints;
import java.awt.geom.Line2D;
/**
*
* @author The FreeHEP team @ SLAC.
*
*/
public class ColorMapAxis extends Axis {
private ColorMap colorMap;
public ColorMapAxis(ColorMap colorMap) {
super(Axis.VERTICAL,false);
this.colorMap = colorMap;
}
public void setZminZmax(double zmin, double zmax) {
((DoubleAxis)getType()).setMin(zmin);
((DoubleAxis)getType()).setMax(zmax);
}
public void setLogarithmic(boolean isLog) {
((DoubleAxis)getType()).setLogarithmic(isLog);
}
public void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
Dimension size = getSize();
Insets insets = getInsets();
double ww = 30 - insets.left - insets.right - 3 ;
double hh = size.getHeight() - insets.top - insets.bottom - 7;
double x1 = insets.left+2;
double x2 = x1 + ww;
double yy = insets.top+3;
Line2D line = new Line2D.Double();
for (int i=0; i<hh; i++) {
line.setLine(x1, yy, x2, yy);
g2.setPaint(colorMap.getColor(1-((double) i)/hh));
g2.draw(line);
yy++;
}
}
}