Implement copy action
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package ovh.gasser.newshapes.shapes;
|
||||
|
||||
import ovh.gasser.newshapes.ShapeVisitor;
|
||||
import ovh.gasser.newshapes.attributes.ColorAttributes;
|
||||
import ovh.gasser.newshapes.attributes.SelectionAttributes;
|
||||
|
||||
import java.awt.*;
|
||||
@@ -19,13 +20,24 @@ public class SCircle extends AbstractShape {
|
||||
visitor.visitCircle(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Shape clone() {
|
||||
var color = (ColorAttributes) getAttributes(ColorAttributes.ID);
|
||||
return SCircle.create(super.getBounds().x, super.getBounds().y, this.radius, color.strokedColor);
|
||||
}
|
||||
|
||||
public int getRadius() {
|
||||
return radius;
|
||||
}
|
||||
|
||||
public static SCircle create(int x, int y, int radius) {
|
||||
return create(x, y, radius, Color.BLACK);
|
||||
}
|
||||
|
||||
public static SCircle create(int x, int y, int radius, Color color) {
|
||||
var circle = new SCircle(x, y, radius);
|
||||
circle.addAttributes(new SelectionAttributes());
|
||||
circle.addAttributes(new ColorAttributes(false, true, Color.BLACK, color));
|
||||
return circle;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user