Implement copy action

This commit is contained in:
2025-02-19 11:27:45 +01:00
parent b4eac668c8
commit aea90f5a93
8 changed files with 58 additions and 14 deletions

View File

@@ -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;
}
}