package ArrayDemos;
/**
 * Bar.java
 *
 *
 * Created: Mon Apr  9 16:19:54 2001
 *
 * @author Stuart C. Shapiro
 */

public class Bar extends NGP.Graphics.FilledRectangle{
    private static final int DY = Histogram.DPHEIGHT/Histogram.MAXCOUNT;

    private int _count;
    private java.awt.Point _loc;
    private java.awt.Dimension _dim;

    public Bar (NGP.Containers.DrawingPanel dp){
	super(dp);
	_count = 0;
	_loc = new java.awt.Point(0, Histogram.DPHEIGHT);
	setLocation(_loc);
	_dim = new java.awt.Dimension(Histogram.BARWIDTH, 0);
	setDimension(_dim);
	setColor(new java.awt.Color(NGP.Utilities.randomNumber(0, 255),
				    NGP.Utilities.randomNumber(0, 255),
				    NGP.Utilities.randomNumber(0, 255)));
    }

    public int getCount() {
	return _count;
    }

    public void incrementCount(int dc){
	if ((dc>0 && _count<Histogram.MAXCOUNT) || (dc<0 && _count>0)) {
	    _count += dc;
	    _loc.translate(0, (dc>0 ? -DY : DY));
	    setLocation(_loc);
	    _dim.setSize(_dim.width, Histogram.DPHEIGHT-_loc.y);
	    setDimension(_dim);
	    Histogram.STATGENERATOR.increment(this, dc);
	} // end of if
    }
}// Bar
