package jaist.css.covis;
import java.awt.Shape;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Stroke;
import java.awt.geom.Path2D;
import java.awt.geom.Rectangle2D;
import java.awt.geom.Ellipse2D;
import org.piccolo2d.nodes.PPath;
/**
* 以前のPiccolo PPathとの互換性をとるためのクラス
*/
public class PPPath extends PPath.Double {
private static final Rectangle2D.Float TEMP_RECTANGLE = new Rectangle2D.Float();
private static final Ellipse2D.Float TEMP_ELLIPSE = new Ellipse2D.Float();
private static final BasicStroke DEFAULT_STROKE = new BasicStroke(1.0f);
private static final Color DEFAULT_STROKE_PAINT = Color.black;
private transient Stroke stroke;
public PPPath(){
super(new Path2D.Float());
// setStrokePaint(DEFAULT_STROKE_PAINT);
// setStroke(DEFAULT_STROKE);
setPaint(null);
}
public PPPath(Shape aShape) {
this(aShape, DEFAULT_STROKE);
}
public PPPath(Shape aShape, Stroke aStroke) {
this();
stroke = aStroke;
if (aShape != null) append(aShape, false);
}
public void setPathTo(final Shape aShape) {
this.getPathReference().reset();
append(aShape, false);
}
public void setPathToRectangle(float x, float y, float width, float height){
TEMP_RECTANGLE.setFrame(x, y, width, height);
setPathTo(TEMP_RECTANGLE);
}
public void setPathToEllipse(float x, float y, float width, float height) {
TEMP_ELLIPSE.setFrame(x, y, width, height);
setPathTo(TEMP_ELLIPSE);
}
/**
* Return a reference to the list used to manage this node's
* children. This list should not be modified.
*
* @return reference to the children list
*/
// public List<PNode> getChildrenReference() {
// if (children == null) {
// children = new ArrayList<PNode>();
// }
// return children;
// }
// public PInterpolatingActivity animateToStrokeColor(final Color destColor, final long duration) {
// return super.animateToColor(destColor, duration);
// }
}