import java.applet.Applet; import java.awt.event.*; import java.awt.*; import java.awt.geom.*; public class WordIcon { int x,y,w,h,mode,on; String W; public WordIcon(int x,int y,int w,int h,String W,int mode) { this.x=x; this.y=y; this.h=h; this.w=w; this.W=W; this.mode=mode; this.on=0; } public static Complex[] rawPath(String W) { Complex[] V=new Complex[1000]; String S=new String(); double pi=Math.PI; double arg1=pi/6+pi/2; double arg2=arg1+2*pi/3; double arg3=arg2+2*pi/3; Complex v1=new Complex(Math.cos(arg1),Math.sin(arg1)); Complex v2=new Complex(Math.cos(arg2),Math.sin(arg2)); Complex v3=new Complex(Math.cos(arg3),Math.sin(arg3)); Complex v4=new Complex(0,0); Complex v5=new Complex(0,0); Complex vv=new Complex(0,0); int n=W.length(); for(int i=0;iV[i].x) mx=V[i].x; if(MxV[i].y) my=V[i].y; if(My0) { g.translate(x,y); int palindrome=palindromeTest(); int oddsquare=oddSquareTest(); if(oddsquare+palindrome==0) { if(on==0) g.setColor(C1); if(on==1) g.setColor(C2); g.fillRect(0,0,w,h); if(on==0) g.setColor(C2); if(on==1) g.setColor(C3); g.drawRect(0,0,w,h); } if(palindrome==1) { if(on==0) g.setColor(C6); if(on==1) g.setColor(C7); g.fillRect(0,0,w,h); if(on==0) g.setColor(C7); if(on==1) g.setColor(C8); g.drawRect(0,0,w,h); } if(oddsquare==1) { if(on==0) g.setColor(C9); if(on==1) g.setColor(C10); g.fillRect(0,0,w,h); if(on==0) g.setColor(C10); if(on==1) g.setColor(C11); g.drawRect(0,0,w,h); } Complex[] V=rawPath(W); Complex[] Z=getLocation(V,n); double size=Z[0].x; if(sizeh) bb=h; size=bb/size; size=size*.95; double xx=Z[1].x; double yy=Z[1].y; g.setColor(C5); float x1,y1,x2,y2; GeneralPath path=new GeneralPath(); x1=(float)((V[0].x-xx)*size+w/2); y1=(float)((V[0].y-yy)*size+h/2); path.moveTo(x1,y1); for(int i=0;ix)&&(p.xy)&&(p.y