/* * <copyright> Copyright 1997-2003 BBNT Solutions, LLC under * sponsorship of the Defense Advanced Research Projects Agency * (DARPA). * * This program is free software; you can redistribute it and/or * modify it under the terms of the Cougaar Open Source License as * published by DARPA on the Cougaar Open Source Website * (www.cougaar.org). * * THE COUGAAR SOFTWARE AND ANY DERIVATIVE SUPPLIED BY LICENSOR IS * PROVIDED 'AS IS' WITHOUT WARRANTIES OF ANY KIND, WHETHER EXPRESS OR * IMPLIED, INCLUDING (BUT NOT LIMITED TO) ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND WITHOUT * ANY WARRANTIES AS TO NON-INFRINGEMENT. IN NO EVENT SHALL COPYRIGHT * HOLDER BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE OF DATA OR PROFITS, * TORTIOUS CONDUCT, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THE COUGAAR SOFTWARE. </copyright> */ package com.bbn.openmap.dataAccess.cgm; import java.io.DataInputStream; import java.io.IOException; public class PolylineElement extends Command { int X[], Y[]; int X0[], Y0[]; public PolylineElement(int ec, int eid, int l, DataInputStream in) throws IOException { super(ec, eid, l, in); int n = args.length / 4; X = new int[n]; Y = new int[n]; for (int i = 0; i < n; i++) { X[i] = makeInt(2 * i); Y[i] = makeInt(2 * i + 1); } } public String toString() { StringBuffer s = new StringBuffer("Polyline"); for (int i = 0; i < X.length; i++) s.append(" [").append(X[i]).append(",").append(Y[i]).append("]"); return s.toString(); } public void scale(CGMDisplay d) { X0 = new int[X.length]; Y0 = new int[X.length]; for (int i = 0; i < X.length; i++) { X0[i] = d.x(X[i]); Y0[i] = d.y(Y[i]); } } public void paint(CGMDisplay d) { d.graphics().setColor(d.getLineColor()); d.graphics().drawPolyline(X0, Y0, X0.length); } }