/[gzz]/gzz/gzz/vob/vobs/OvalBgVob.java
ViewVC logotype

Diff of /gzz/gzz/vob/vobs/OvalBgVob.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by tjl, Thu Dec 5 10:57:34 2002 UTC revision 1.6 by humppake, Thu Dec 5 20:16:42 2002 UTC
# Line 88  public static final String rcsid = "$Id$ Line 88  public static final String rcsid = "$Id$
88              g.setColor(bg);              g.setColor(bg);
89              g.fillOval(mx, my, mw, mh);              g.fillOval(mx, my, mw, mh);
90          } else {          } else {
91              // Draws multiple background colours as sectors              g.setColor(solids[0]);
92              int arc = 360 / nsolids;              g.fillArc(mx, my, mw, mh, -90, 180);
93              for(int i=0; i<nsolids; i++) {              g.setColor(solids[nsolids-1]);
94                g.fillArc(mx, my, mw, mh, 90, 180);
95                int lastsolid = nsolids-1;
96                int solidwidth = mw / nsolids;
97                float a = mw/2;
98                float b = mh/2;
99                for(int i=1; i<lastsolid; i++) {
100                    float w = a-i*solidwidth;
101                    float h = b * (float)Math.sqrt(1-(Math.pow(w,2)/Math.pow(a, 2)));
102                    int arc = 90 - (int)((180/Math.PI) * Math.atan2(h*(a/b),w));
103    
104                  g.setColor(solids[i]);                  g.setColor(solids[i]);
105                  g.fillArc(mx, my, mw, mh, -90 + arc * (i-1), arc);                  g.fillRect((int)(mx+(i*solidwidth)), (int)(my+(b-h)),
106                               (int)w, (int)(h*2));
107                    g.fillArc(mx, my, mw, mh, 90, arc);
108                    g.fillArc(mx, my, mw, mh, -90-arc, arc);
109                    
110                    g.setColor(solids[lastsolid-1]);
111                    g.fillRect((int)(mx+a), (int)(my+(b-h)), (int)w, (int)(h*2));
112                    g.fillArc(mx, my, mw, mh, 90-arc, arc);
113                    g.fillArc(mx, my, mw, mh, -90, arc);
114                    
115                    lastsolid--;
116              }              }
117          }          }
118            
119          if(drawBorder) {          if(drawBorder) {
120              g.setColor(info1.getMixedFgColor());              g.setColor(info1.getMixedFgColor());
121              g.drawOval(mx, my, mw, mh);              g.drawOval(mx, my, mw, mh);

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26