package figure;

import java.awt.*;
import java.awt.geom.*;

public class GraphicalGeneralPath extends Plotable {
    GeneralPath path;
    Stroke stroke = new BasicStroke(1);

    public GraphicalGeneralPath() {
	path = new GeneralPath();
    }

    public void setStroke(Stroke s) { stroke = s; }

    public void moveto(double x, double y) {
	path.moveTo((float) x, (float) y);
    }

    public void lineto(double x, double y) {
	path.lineTo((float) x, (float) y);
    }

    public void closepath() {
	path.closePath();
    }

    public void plot(Graphics2D g, BoundingBox bbox,
		     AffineTransform transform) {
	Shape shape = transform.createTransformedShape(path);
        g.setPaint(color);
        Stroke savedStroke = g.getStroke();
	g.setStroke(stroke);
	g.draw(shape);
        g.setStroke(savedStroke);
    }
}
        
        
        
