gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] gzz gzz/view/LollipopCellVobFactory.java gzz/vo...


From: Asko Soukka
Subject: [Gzz-commits] gzz gzz/view/LollipopCellVobFactory.java gzz/vo...
Date: Fri, 15 Nov 2002 03:52:35 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Asko Soukka <address@hidden>    02/11/15 03:52:34

Modified files:
        gzz/view       : LollipopCellVobFactory.java 
        gzz/vob/vobs   : OvalBgVob.java 
Added files:
        doc/pegboard/xu_link_space--benja: .cvsignore 

Log message:
        fixing ballcell...

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

Patches:
Index: gzz/gzz/view/LollipopCellVobFactory.java
diff -u gzz/gzz/view/LollipopCellVobFactory.java:1.5 
gzz/gzz/view/LollipopCellVobFactory.java:1.6
--- gzz/gzz/view/LollipopCellVobFactory.java:1.5        Fri Nov  1 20:23:45 2002
+++ gzz/gzz/view/LollipopCellVobFactory.java    Fri Nov 15 03:52:34 2002
@@ -38,7 +38,7 @@
 /** A factory for making ball-and-stick aka lollipop cell vobs. */
 
 public class LollipopCellVobFactory extends CellVobFactory {
-public static final String rcsid = "$Id: LollipopCellVobFactory.java,v 1.5 
2002/11/02 01:23:45 benja Exp $";
+public static final String rcsid = "$Id: LollipopCellVobFactory.java,v 1.6 
2002/11/15 08:52:34 humppake Exp $";
     float[] boxwh = new float[2];
 
     /** Add the vobs that make up an image of a cell 
@@ -83,33 +83,49 @@
        }
 
        float pad = 5;
-
+       /** XXX scaling somethign after TextStyle is propably deprecated.
+        *
+        * But think about LollipopCellview with LinebrokenContentCellView.
+        * With multiline cells the ball can't be sized after cell's box.
+        * Most reasonable would be that the ball's size is some how related
+        * with the font's height. In other words Ball should point only
+        * the first line of the content
+        *
+        * Better would be that there is another coordinate system for ball,
+        * but it should be explicitly created already by someone, who can
+        * control eg. the font size. And LollipopCellView should still work
+        * with all the other views...
+        *
+        * Hmm... easisiest would be, if the box's on unit on y-axel means
+        * height of one text row. Then ball's diameter would be simple 1.
+        */
+       //float diameter =  style.getHeight(1)+2*pad;
+       float diameter = 20;
        vs.coords.getSqSize(box, boxwh);
 
+       /** Cell's content will be drawn next to OvalBgVob */
+       final int contentBox = vs.orthoBoxCS(box, "content", 0,
+                                            diameter+pad, pad, 1, 1,
+                                            boxwh[0]-2*pad,
+                                            boxwh[1]-2*pad);
+
        /** Coordsys to make OvalBgVob look circle and at 
         * right place of cell's Box. Currently "right place"
         * is in the middle.
         */
-        final int cs = vs.orthoCS(box, "cs", 0,
-                                boxwh[0]/2-boxwh[1]/2, 0,
-                                boxwh[1], boxwh[1]);
-
-
-       /** Cell's content will be drawn next to OvalBgVob */
-       final int contentBox = vs.orthoBoxCS(box, "CO", 0,
-                   boxwh[0]/2+boxwh[1]/2+pad, pad, 1, 1,
-                           boxwh[0]-2*pad,
-                           boxwh[1]-2*pad);
+        final int ballBox = vs.orthoBoxCS(box, "ball", 0,
+                                         0, 0, diameter, diameter,
+                                         diameter, diameter);
 
        if(!(GraphicsAPI.getInstance() instanceof gzz.client.gl.GLAPI)) {
            ccv.place(c, vs, contentBox, context);
-            vs.map.put(bg, cs);
+            vs.map.put(bg, ballBox);
        } else {
-            vs.map.put(bg, cs);
+            vs.map.put(bg, ballBox);
            gzz.gfx.gl.Stencil.drawStenciled(
                vs,
                new Runnable() { public void run() {
-                    vs.map.put(bg, cs);
+                    vs.map.put(bg, ballBox);
                }},
                null,
                null,
Index: gzz/gzz/vob/vobs/OvalBgVob.java
diff -u gzz/gzz/vob/vobs/OvalBgVob.java:1.1 gzz/gzz/vob/vobs/OvalBgVob.java:1.2
--- gzz/gzz/vob/vobs/OvalBgVob.java:1.1 Fri Nov  1 20:23:46 2002
+++ gzz/gzz/vob/vobs/OvalBgVob.java     Fri Nov 15 03:52:34 2002
@@ -41,7 +41,7 @@
  */
 
 public class OvalBgVob extends Vob {
-public static final String rcsid = "$Id: OvalBgVob.java,v 1.1 2002/11/02 
01:23:46 benja Exp $";
+public static final String rcsid = "$Id: OvalBgVob.java,v 1.2 2002/11/15 
08:52:34 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); }
@@ -78,11 +78,11 @@
 
        Color oldfg = g.getColor();
 
-       // Draw a rectangle in the background color, wiping out
-       // the already drawn stuff a little wider than we will draw.
-       g.setColor(info1.getBgColor());
-       if (mh > 14) g.fillOval(mx-2, my-2, mw+4, mh+4);
-       else g.fillOval(mx-1, my-1, mw+2, mh+2);
+       /** Heavier border with bigger cells */
+       if(drawBorder && mh >= 20) {
+            g.setColor(info1.getMixedFgColor());
+           g.fillOval(mx-1, my-1, mw+2, mh+2);
+       }
 
        if(nsolids == 0) {
            g.setColor(bg);
@@ -98,9 +98,9 @@
 
        if(drawBorder) {
             g.setColor(info1.getMixedFgColor());
-           if(mh >= 14) g.drawOval(mx-1, my-1, mw+2, mh+2);
-           else g.drawOval(mx, my, mw, mh);
+           g.drawOval(mx, my, mw, mh);
        }
+
 
        g.setColor(oldfg);
     }




reply via email to

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