gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz gzz/vob/vobs/OvalBgVob.java doc/pegboard/gf...


From: Asko Soukka
Subject: [Gzz-commits] gzz gzz/vob/vobs/OvalBgVob.java doc/pegboard/gf...
Date: Thu, 05 Dec 2002 15:16:42 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Asko Soukka <address@hidden>    02/12/05 15:16:42

Modified files:
        gzz/vob/vobs   : OvalBgVob.java 
Added files:
        doc/pegboard/gfxdemos_framework--tjl: .cvsignore 

Log message:
        colored stripes in OvalBgVob also on AWT

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/vob/vobs/OvalBgVob.java.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/doc/pegboard/gfxdemos_framework--tjl/.cvsignore?rev=1.1

Patches:
Index: gzz/gzz/vob/vobs/OvalBgVob.java
diff -u gzz/gzz/vob/vobs/OvalBgVob.java:1.5 gzz/gzz/vob/vobs/OvalBgVob.java:1.6
--- gzz/gzz/vob/vobs/OvalBgVob.java:1.5 Thu Dec  5 05:57:34 2002
+++ gzz/gzz/vob/vobs/OvalBgVob.java     Thu Dec  5 15:16:42 2002
@@ -41,7 +41,7 @@
  */
 
 public class OvalBgVob extends Vob {
-public static final String rcsid = "$Id: OvalBgVob.java,v 1.5 2002/12/05 
10:57:34 tjl Exp $";
+public static final String rcsid = "$Id: OvalBgVob.java,v 1.6 2002/12/05 
20:16:42 humppake Exp $";
     public static boolean dbg = false;
     static final void p(String s) { if(dbg) System.out.println(s); }
     static final void pa(String s) { System.out.println(s); }
@@ -88,14 +88,34 @@
            g.setColor(bg);
            g.fillOval(mx, my, mw, mh);
        } else {
-           // Draws multiple background colours as sectors
-           int arc = 360 / nsolids;
-           for(int i=0; i<nsolids; i++) {
+           g.setColor(solids[0]);
+           g.fillArc(mx, my, mw, mh, -90, 180);
+           g.setColor(solids[nsolids-1]);
+           g.fillArc(mx, my, mw, mh, 90, 180);
+           int lastsolid = nsolids-1;
+           int solidwidth = mw / nsolids;
+           float a = mw/2;
+           float b = mh/2;
+           for(int i=1; i<lastsolid; i++) {
+               float w = a-i*solidwidth;
+               float h = b * (float)Math.sqrt(1-(Math.pow(w,2)/Math.pow(a, 
2)));
+               int arc = 90 - (int)((180/Math.PI) * Math.atan2(h*(a/b),w));
+
                g.setColor(solids[i]);
-               g.fillArc(mx, my, mw, mh, -90 + arc * (i-1), arc);
+               g.fillRect((int)(mx+(i*solidwidth)), (int)(my+(b-h)),
+                          (int)w, (int)(h*2));
+               g.fillArc(mx, my, mw, mh, 90, arc);
+               g.fillArc(mx, my, mw, mh, -90-arc, arc);
+               
+               g.setColor(solids[lastsolid-1]);
+               g.fillRect((int)(mx+a), (int)(my+(b-h)), (int)w, (int)(h*2));
+               g.fillArc(mx, my, mw, mh, 90-arc, arc);
+               g.fillArc(mx, my, mw, mh, -90, arc);
+               
+               lastsolid--;
            }
        }
-
+       
        if(drawBorder) {
             g.setColor(info1.getMixedFgColor());
            g.drawOval(mx, my, mw, mh);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]