import java.awt.*; import java.applet.*; import java.awt.image.*; import java.util.Vector; import java.awt.event.*; public class CircleInv extends Applet { CirclePanel circlepanel; public void init() { setLayout(new BorderLayout()); this.circlepanel=new CirclePanel(); add("Center", this.circlepanel); } } class CircleData { double xc[],yc[],rad[],xtan[],ytan[]; int num; CircleData() { num=4; xc=new double[4]; yc=new double[4]; rad=new double[4]; xtan=new double[4]; ytan=new double[4]; xc[0]=1.25;yc[0]=.75;rad[0]=.25;xtan[0]=1.5;ytan[0]=.75; xc[1]=1.75;yc[1]=.75;rad[1]=.25;xtan[1]=1.75;ytan[1]=1; xc[2]=1.75;yc[2]=1.25;rad[2]=.25;xtan[2]=1.5;ytan[2]=1.25; xc[3]=1.25;yc[3]=1.25;rad[3]=.25;xtan[3]=1.25;ytan[3]=1; } CircleData(int num){ this.num=num; xc=new double[num]; yc=new double[num]; rad=new double[num]; xtan=new double[num]; ytan=new double[num]; for (int i=0; i3){ g.setColor(Color.black); g.fillRect(1,92,60,12); g.setColor(Color.white); g.drawString("Remove Circle",4,101); } if (drawmode==2){ g.setColor(Color.black); g.fillRect(1,118,60,12); g.setColor(Color.white); g.drawString("More Detail",4,127); g.setColor(Color.black); g.fillRect(1,131,60,12); g.setColor(Color.white); g.drawString("Less Detail",4,140); } } boolean menuClicked(int x, int y){ if ((x>=1)&&(x<1+60)&&(y>=1)&&(y<1+12)){ if (drawmode==0) drawmode=2; else drawmode=0; zoomin=false; moveit=false; repaint(); return true; } if ((x>=1)&&(x<1+60)&&(y>=14)&&(y<14+12)){ filled=!filled; zoomin=false; moveit=false; repaint(); return true; } if ((x>=1)&&(x<1+60)&&(y>=getSize().height-15)&&(y=1)&&(x<1+60)&&(y>=27)&&(y<27+12)){ circledata.zoom(.5); zoomin=false; moveit=false; repaint(); return true; } if ((x>=1)&&(x<1+60)&&(y>=40)&&(y<40+12)){ zoomin=(!zoomin); moveit=false; repaint(); return true; } if ((x>=1)&&(x<1+60)&&(y>=53)&&(y<53+12)){ moveit=(!moveit); zoomin=false; repaint(); return true; } if ((x>=1)&&(x<1+60)&&(y>=79)&&(y<79+12)){ num++; circledata=new CircleData(num); zoomin=false; moveit=false; repaint(); return true; } if (num>3){ if ((x>=1)&&(x<1+60)&&(y>=92)&&(y<92+12)){ num--; circledata=new CircleData(num); zoomin=false; moveit=false; repaint(); return true; } } if (drawmode==2){ if ((x>=1)&&(x<1+60)&&(y>=118)&&(y<118+12)){ detail=detail*3; zoomin=false; moveit=false; repaint(); return true; } if ((x>=1)&&(x<1+60)&&(y>=131)&&(y<131+12)){ detail=detail/3; zoomin=false; moveit=false; repaint(); return true; } } return false; } void paintMoving(Graphics g){ g.setColor(Color.white); g.fillOval(blankx-blankr-2,blanky-blankr-2,2*blankr+4,2*blankr+4); for (int i=0; i.005){ for (int i=1;i0) { for (int i=1;i