Base java event POC

This commit is contained in:
2019-03-19 21:17:08 +01:00
parent 95cb82d419
commit 51885d8c53
16 changed files with 587 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
package ovh.gasser.newshapes.shapes;
import ovh.gasser.newshapes.attributes.Attributes;
import java.awt.*;
import java.util.Map;
import java.util.TreeMap;
public abstract class AbstractShape implements Shape {
private Map<String, Attributes> attributes = new TreeMap<>();
private Rectangle bounds;
AbstractShape() {
this(null);
}
AbstractShape(Rectangle bounds) {
this.bounds = bounds;
}
@Override
public Attributes getAttributes(String key) {
return attributes.get(key);
}
@Override
public void addAttributes(Attributes attrs) {
attributes.put(attrs.getID(), attrs);
}
@Override
public void setLoc(Point newLoc) {
getBounds().setLocation(newLoc);
}
@Override
public void translate(int dx, int dy) {
getBounds().translate(dx, dy);
}
@Override
public Rectangle getBounds() {
return this.bounds;
}
@Override
public String toString() {
return String.format("x=%d, y=%d, width=%d, height=%d", bounds.x, bounds.y, bounds.width, bounds.height);
}
}