package com.kreative.paint.draw; import java.awt.BasicStroke; import java.awt.Graphics2D; import java.awt.Shape; import java.awt.geom.AffineTransform; import com.kreative.paint.document.draw.PaintSettings; import com.kreative.paint.document.draw.Path; public class PencilStrokeDrawObject extends StrokeDrawObject { public PencilStrokeDrawObject(PaintSettings ps, Path path) { super(ps, path); } public PencilStrokeDrawObject(PaintSettings ps, Shape path) { super(ps, path); } private PencilStrokeDrawObject(PencilStrokeDrawObject o) { super(o); } @Override public PencilStrokeDrawObject clone() { return new PencilStrokeDrawObject(this); } @Override protected void preTxPaintImpl(Graphics2D g, AffineTransform tx) { Shape s = path.toAWTShape(); if (tx != null) { try { s = tx.createTransformedShape(s); } catch (Exception e) { s = path.toAWTShape(); } } if (ps.isFilled()) { ps.applyFill(g); g.setStroke(new BasicStroke(1)); g.draw(s); } } }