package net.sf.arianne.marboard.server.entity.shape;
import marauroa.common.game.RPClass;
import marauroa.common.game.RPObject;
import marauroa.common.game.Definition.Type;
/**
* represents an oval
*
* @author madmetzger
*
*/
public class Oval extends Shape {
/**
* generates the RPClass
*/
public static void generateRPClass() {
final RPClass shape = new RPClass("oval");
shape.isA("filled_shape");
shape.addAttribute("x2", Type.INT);
shape.addAttribute("y2", Type.INT);
}
/**
* creates an oval from a RPObject
*
* @param object
*/
public Oval (RPObject object) {
super(object);
}
/**
* creates an oval with given parameters
*
* @param color
* @param fillColor
* @param thickness
* @param x
* @param y
* @param x2
* @param y2
*/
public Oval(int color, int fillColor, int thickness, int x, int y, int x2, int y2) {
setRPClass("oval");
put("color", color);
put("fill_color", fillColor);
put("thickness", thickness);
put("x", Math.min(x, x2));
put("y", Math.min(y, y2));
put("x2", Math.max(x, x2));
put("y2", Math.max(y, y2));
}
/**
* creates an oval with given parameters
*
* @param color
* @param fillColor
* @param thickness
* @param x
* @param y
* @param z
* @param x2
* @param y2
*/
public Oval(int color, int fillColor, int thickness, int x, int y, int z, int x2, int y2) {
this(color, fillColor, thickness, x, y, x2, y2);
put("z", z);
}
}