/* * <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 CircleElement extends Command { int X1, Y1, R1; int X, Y, R; public CircleElement(int ec, int eid, int l, DataInputStream in) throws IOException { super(ec, eid, l, in); X1 = makeInt(0); Y1 = makeInt(1); R1 = makeInt(2); } public String toString() { return "Circle [" + X1 + "," + Y1 + "] " + R; } public void scale(CGMDisplay d) { X = d.x(X1); Y = d.y(Y1); R = (int) (d.factorX() * R1); X -= R; Y -= R; R = 2 * R - 1; } public void paint(CGMDisplay d) { if (d.getFilled()) { d.graphics().setColor(d.getFillColor()); d.graphics().fillOval(X, Y, R, R); } else { d.graphics().setColor(d.getFillColor()); if (!d.getEdge()) d.graphics().drawOval(X, Y, R, R); } if (d.getEdge()) { d.graphics().setColor(d.getEdgeColor()); d.graphics().drawOval(X, Y, R, R); } } }