package org.newdawn.slick.svg;
import org.newdawn.slick.geom.Shape;
import org.newdawn.slick.geom.Transform;
/**
* A figure that is part of diagram loaded from SVG
*
* @author kevin
*/
public class Figure {
/** Ellipse Type */
public static final int ELLIPSE = 1;
/** Line Type */
public static final int LINE = 2;
/** Rectangle Type */
public static final int RECTANGLE = 3;
/** Path Type */
public static final int PATH = 4;
/** Polygon Type */
public static final int POLYGON = 5;
/** The type of this figure */
private int type;
/** The geometric shape of the figure */
private Shape shape;
/** The other bits of data assocaited with the SVG element */
private NonGeometricData data;
/** The transform that has already been applied to the shape */
private Transform transform;
/**
* Create a new figure
*
* @param type The type of the figure
* @param shape The shape of the figure
* @param data The other associated data
* @param transform The transform that was applied to the shape
*/
public Figure(int type, Shape shape, NonGeometricData data, Transform transform) {
this.shape = shape;
this.data = data;
this.type = type;
this.transform = transform;
}
/**
* Get the transform that was applied to the shape given in the SVG
* to get it to it's currently state
*
* @return The transform specified in the SVG
*/
public Transform getTransform() {
return transform;
}
/**
* Get the type of this figure
*
* @return The type of this figure
*/
public int getType() {
return type;
}
/**
* Get the shape of this figure
*
* @return The shape of this figure
*/
public Shape getShape() {
return shape;
}
/**
* Get the data associated with this figure
*
* @return The data associated with this figure
*/
public NonGeometricData getData() {
return data;
}
}