<<<<<<< HEAD
package shapes;
import java.awt.Shape;
import java.awt.geom.AffineTransform;
import java.awt.geom.Area;
import java.awt.geom.GeneralPath;
import java.awt.geom.PathIterator;
import java.io.IOException;
import java.io.Serializable;
/**
* Extension of the java {@link Area} class that provides serialization.
*
*/
public class AreaExt extends Area implements Serializable {
private static final long serialVersionUID = 3801278214712144623L;
/**
* Default constructor
*
* @param s
*/
public AreaExt(Shape s) {
super(s);
}
/**
* Writes the area to the specified output stream
*
* @param out
* @throws IOException
*/
private void writeObject(java.io.ObjectOutputStream out) throws IOException {
final PathIterator pi = this.getPathIterator(new AffineTransform());
final float[] args = new float[6];
out.writeBoolean(pi.isDone());
while (!pi.isDone()) {
final int type = pi.currentSegment(args);
out.writeInt(type);
// TODO: could write this to only stream the values
// required for the segment type
for (int i = 0; i < 6; i++) {
out.writeFloat(args[i]);
}
out.writeInt(pi.getWindingRule());
pi.next();
out.writeBoolean(pi.isDone());
}
}
/**
* Reads the area from the specified input stream
*
* @param in
* @throws IOException
* @throws ClassNotFoundException
*/
private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
final GeneralPath gp = new GeneralPath();
final float[] args = new float[6];
boolean hasNext = in.readBoolean();
while (!hasNext) {
final int type = in.readInt();
for (int i = 0; i < 6; i++) {
args[i] = in.readFloat();
}
switch (type) {
case PathIterator.SEG_MOVETO:
gp.moveTo(args[0], args[1]);
break;
case PathIterator.SEG_LINETO:
gp.lineTo(args[0], args[1]);
break;
case PathIterator.SEG_CUBICTO:
gp.curveTo(args[0], args[1], args[2], args[3], args[4], args[5]);
break;
case PathIterator.SEG_QUADTO:
gp.quadTo(args[0], args[1], args[2], args[3]);
break;
case PathIterator.SEG_CLOSE:
// result = gp;
break;
default:
throw new RuntimeException("JFreeChart - No path exists");
}
gp.setWindingRule(in.readInt());
hasNext = in.readBoolean();
}
super.add(new Area(gp));
}
}
=======
package shapes;
import java.awt.Shape;
import java.awt.geom.AffineTransform;
import java.awt.geom.Area;
import java.awt.geom.GeneralPath;
import java.awt.geom.PathIterator;
import java.io.IOException;
import java.io.Serializable;
/**
* Extension of the java {@link Area} class that provides serialization.
*
*/
public class AreaExt extends Area implements Serializable {
private static final long serialVersionUID = 3801278214712144623L;
/**
* Default constructor
*
* @param s
*/
public AreaExt(Shape s) {
super(s);
}
/**
* Writes the area to the specified output stream
*
* @param out
* @throws IOException
*/
private void writeObject(java.io.ObjectOutputStream out) throws IOException {
final PathIterator pi = this.getPathIterator(new AffineTransform());
final float[] args = new float[6];
out.writeBoolean(pi.isDone());
while (!pi.isDone()) {
final int type = pi.currentSegment(args);
out.writeInt(type);
// TODO: could write this to only stream the values
// required for the segment type
for (int i = 0; i < 6; i++) {
out.writeFloat(args[i]);
}
out.writeInt(pi.getWindingRule());
pi.next();
out.writeBoolean(pi.isDone());
}
}
/**
* Reads the area from the specified input stream
*
* @param in
* @throws IOException
* @throws ClassNotFoundException
*/
private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
final GeneralPath gp = new GeneralPath();
final float[] args = new float[6];
boolean hasNext = in.readBoolean();
while (!hasNext) {
final int type = in.readInt();
for (int i = 0; i < 6; i++) {
args[i] = in.readFloat();
}
switch (type) {
case PathIterator.SEG_MOVETO:
gp.moveTo(args[0], args[1]);
break;
case PathIterator.SEG_LINETO:
gp.lineTo(args[0], args[1]);
break;
case PathIterator.SEG_CUBICTO:
gp.curveTo(args[0], args[1], args[2], args[3], args[4], args[5]);
break;
case PathIterator.SEG_QUADTO:
gp.quadTo(args[0], args[1], args[2], args[3]);
break;
case PathIterator.SEG_CLOSE:
// result = gp;
break;
default:
throw new RuntimeException("JFreeChart - No path exists");
}
gp.setWindingRule(in.readInt());
hasNext = in.readBoolean();
}
super.add(new Area(gp));
}
}
>>>>>>> origin/abdalla