package org.freehep.graphicsio.cgm.test; import java.awt.Color; import java.awt.geom.Point2D; import java.io.FileOutputStream; import java.io.IOException; import java.util.Vector; import org.freehep.graphicsio.cgm.BeginMetafile; import org.freehep.graphicsio.cgm.BeginPicture; import org.freehep.graphicsio.cgm.BeginPictureBody; import org.freehep.graphicsio.cgm.CGMOutputStream; import org.freehep.graphicsio.cgm.CGMTag; import org.freehep.graphicsio.cgm.ColorSelectionMode; import org.freehep.graphicsio.cgm.EndMetafile; import org.freehep.graphicsio.cgm.EndPicture; import org.freehep.graphicsio.cgm.LineColor; import org.freehep.graphicsio.cgm.LineType; import org.freehep.graphicsio.cgm.LineWidth; import org.freehep.graphicsio.cgm.LineWidthSpecificationMode; import org.freehep.graphicsio.cgm.MetafileDescription; import org.freehep.graphicsio.cgm.MetafileElementList; import org.freehep.graphicsio.cgm.MetafileVersion; import org.freehep.graphicsio.cgm.Polyline; import org.freehep.graphicsio.cgm.VDCExtent; public class PolylineTest { public static void main(String[] args) throws IOException { Point2D p[] = { new Point2D.Double(2000, 2000), new Point2D.Double(4000, 6000), new Point2D.Double(3000, 5000), new Point2D.Double(0000, 6000) }; Vector cgm = new Vector(); cgm.add(new BeginMetafile("POLYLINE")); cgm.add(new MetafileVersion(1)); cgm.add(new MetafileDescription("FreeHEP/VG-CGM-1.0")); cgm.add(new MetafileElementList(MetafileElementList.DRAWING_PLUS_SET)); cgm.add(new BeginPicture("POLYLINE")); cgm.add(new ColorSelectionMode(ColorSelectionMode.DIRECT)); cgm.add(new LineWidthSpecificationMode( LineWidthSpecificationMode.ABSOLUTE)); cgm.add(new VDCExtent(new Point2D.Double(0, 8000), new Point2D.Double( 8000, 0))); cgm.add(new BeginPictureBody()); cgm.add(new LineColor(Color.black)); cgm.add(new LineType(LineType.DASH)); cgm.add(new LineWidth(60)); cgm.add(new Polyline(p)); cgm.add(new EndPicture()); cgm.add(new EndMetafile()); CGMOutputStream out = new CGMOutputStream(new FileOutputStream( "PolylineTest.cgm")); for (int i = 0; i < cgm.size(); i++) { out.writeTag((CGMTag) cgm.get(i)); } out.close(); } }