gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] gzz ./TODO gzz/view/FisheyeState.java gzz/view/...


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz ./TODO gzz/view/FisheyeState.java gzz/view/...
Date: Thu, 13 Feb 2003 09:39:31 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        03/02/13 09:39:31

Modified files:
        .              : TODO 
        gzz/view       : FisheyeState.java PageSpanCellView.java 
        gzz/view/buoy  : buoymanager.py pagespanNodes.py 
        gzz/vob/impl   : DefaultVobMatcher.java 

Log message:
        Fix animation of transclusion buoys in one direction

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/TODO.diff?tr1=1.573&tr2=1.574&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/view/FisheyeState.java.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/view/PageSpanCellView.java.diff?tr1=1.22&tr2=1.23&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/view/buoy/buoymanager.py.diff?tr1=1.33&tr2=1.34&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/view/buoy/pagespanNodes.py.diff?tr1=1.33&tr2=1.34&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/vob/impl/DefaultVobMatcher.java.diff?tr1=1.10&tr2=1.11&r1=text&r2=text

Patches:
Index: gzz/TODO
diff -u gzz/TODO:1.573 gzz/TODO:1.574
--- gzz/TODO:1.573      Thu Feb 13 04:28:09 2003
+++ gzz/TODO    Thu Feb 13 09:39:30 2003
@@ -17,7 +17,8 @@
     tjl:
        - the great buoy redesign
            - irregu for pagespan nodes
-           - buoy sizes
+           - buoy sizes / aspect ratios
+           - texture importances
            - speedups
     jvk:
        - article: is buoy geometry and the reasons discussed?
Index: gzz/gzz/view/FisheyeState.java
diff -u gzz/gzz/view/FisheyeState.java:1.3 gzz/gzz/view/FisheyeState.java:1.4
--- gzz/gzz/view/FisheyeState.java:1.3  Wed Feb 12 08:08:20 2003
+++ gzz/gzz/view/FisheyeState.java      Thu Feb 13 09:39:30 2003
@@ -10,7 +10,7 @@
  * Uses clicks and drags by mouse button 3.
  */
 public class FisheyeState {
-public static final String rcsid = "$Id: FisheyeState.java,v 1.3 2003/02/12 
13:08:20 tjl Exp $";
+public static final String rcsid = "$Id: FisheyeState.java,v 1.4 2003/02/13 
14:39:30 tjl Exp $";
     public static boolean dbg = false;
     private static void pa(String s) { System.err.println(s); }
 
@@ -52,12 +52,18 @@
     VobScene vs;
     int cs, cs2;
 
+    /** Put the current fisheye coordinate system
+     * into the given vobscene. This puts more than one coordinate
+     * system, and only the first one uses the given key.
+     * The returned one is not matched and should be added to
+     * the matcher by the caller.
+     */
     public int getCoordsys(VobScene vs, int into, Object key) {
        this.vs = vs;
        cs = ((GLVobCoorder)vs.coords).distort(into,
                    0, 0, 0, 0, 0, 0);
        vs.matcher.add(into, cs, key);
-       cs2 = vs.translateCS(cs, "TR", 0, 0);
+       cs2 = vs.coords.translate(cs, 0, 0);
        setCoordsysParams();
        return cs2;
     }
Index: gzz/gzz/view/PageSpanCellView.java
diff -u gzz/gzz/view/PageSpanCellView.java:1.22 
gzz/gzz/view/PageSpanCellView.java:1.23
--- gzz/gzz/view/PageSpanCellView.java:1.22     Wed Feb 12 08:58:00 2003
+++ gzz/gzz/view/PageSpanCellView.java  Thu Feb 13 09:39:30 2003
@@ -177,6 +177,8 @@
 
        /** Place this layout strictly fitted into the given
         * box.
+        * Note that this won't interpolate nicely to
+        * "place".
         */
        public void placeBoxed(VobScene vs, int into, float importance, float 
pixelscale) {
            int unit = vs.unitSqCS(into, "PSPCV.UNIT");
Index: gzz/gzz/view/buoy/buoymanager.py
diff -u gzz/gzz/view/buoy/buoymanager.py:1.33 
gzz/gzz/view/buoy/buoymanager.py:1.34
--- gzz/gzz/view/buoy/buoymanager.py:1.33       Wed Feb 12 12:42:19 2003
+++ gzz/gzz/view/buoy/buoymanager.py    Thu Feb 13 09:39:30 2003
@@ -59,8 +59,10 @@
                              -mainsize/2, -mainsize/2, 1, 1, mainsize, 
mainsize)
        self.vs.activate(main)
 
+       into = self.nadir(main)
+
        self.links = []
-       self.mainNode.renderMain(vs, self.nadir(main))
+       self.mainNode.renderMain(vs, into)
        for l in self.links: self.linkReally(*l)
        self.cs[main] = None
         
@@ -70,7 +72,7 @@
             self.vs.matcher.keymapSingleCoordsys(main, 
self.animationCS_buoy[0][3])
             self.animationCS_buoy = None
 
-        self.mainCS = main
+        self.mainCS = into
 
     def link(self, *args):
        self.links.append(args)
@@ -111,7 +113,7 @@
            Color 0 0 0 0.6
        """))
 
-       self.vs.map.put(lineconn, self.vs.unitSqCS(anchorCS, "UN"), 
+       self.vs.map.put(lineconn, anchorUnit, 
                                  self.vs.unitSqCS(otherAnchorCS, "UN"))
 
        # vs.map.put(filletconn, main_whole_cs, link_whole_cs)
@@ -124,7 +126,7 @@
         if hasattr(self, "animationCS_main") and \
                self.animationCS_main != None and \
                linkId == self.animationCS_main[1][1]:
-            
self.vs.matcher.keymapSingleCoordsys(otherAnchorCS,self.animationCS_main[0])
+            self.vs.matcher.keymapSingleCoordsys(into,self.animationCS_main[0])
             self.animationCS_main = None
 
     def key(self, key):
Index: gzz/gzz/view/buoy/pagespanNodes.py
diff -u gzz/gzz/view/buoy/pagespanNodes.py:1.33 
gzz/gzz/view/buoy/pagespanNodes.py:1.34
--- gzz/gzz/view/buoy/pagespanNodes.py:1.33     Thu Feb 13 05:41:46 2003
+++ gzz/gzz/view/buoy/pagespanNodes.py  Thu Feb 13 09:39:30 2003
@@ -8,12 +8,16 @@
 area.
 """
 
+# The coordinate systems used inside a single node/mainnode:
+# all are matching-children of the "into" coordinate system.
+# 
+# "LAYOUT" - the coordinate system in which the pagespan layout
+#            is rendered into.
+# "VIEWPORT" - the edges of the viewport
+
 import jarray
 import java
 
-# Page span scrollblock as a whole;
-# in buoys, a part is shown.
-
 import gzz
 import gfx
 from gzz.view.buoy import BuoyViewNodeType, BuoyViewMainNode
@@ -64,7 +68,11 @@
        if data == None: 
            data = getScrollblockData(anchorSpan.getScrollBlock())
        # For now, we'll just squish to fit
-       data.layout.placeBoxed(vs, into, .3, 100)
+       unit = vs.unitSqCS(into, "UNIT")
+       scaled = vs.coords.scale(unit, 
+                   1.0 / data.layout.w, 1.0 / data.layout.h)
+       vs.matcher.add(into, scaled, "LAYOUT")
+       data.layout.place(vs, scaled, .3, 100)
 
        return into
 
@@ -161,9 +169,8 @@
        self.scale = vs.scaleCS(self.ctr, "SCALE", self.scale, self.scale)
 
        self.shift = self.fisheye.getCoordsys(vs, self.scale, "TR")
+       vs.matcher.add(into, self.shift, "LAYOUT")
 
-       # XXX This is not right: the distortion
-       # should be done here.
        self.data.layout.place(vs, self.shift, .7, 300)
 
        if self.nodetype.scrollBlockLinker.enfiladeOverlap != None:
Index: gzz/gzz/vob/impl/DefaultVobMatcher.java
diff -u gzz/gzz/vob/impl/DefaultVobMatcher.java:1.10 
gzz/gzz/vob/impl/DefaultVobMatcher.java:1.11
--- gzz/gzz/vob/impl/DefaultVobMatcher.java:1.10        Wed Feb 12 12:42:19 2003
+++ gzz/gzz/vob/impl/DefaultVobMatcher.java     Thu Feb 13 09:39:31 2003
@@ -28,9 +28,9 @@
 /** A simple hierarchical implementation of VobMatcher.
  */
 public class DefaultVobMatcher implements VobMatcher {
-private static final String rcsid = "$Id: DefaultVobMatcher.java,v 1.10 
2003/02/12 17:42:19 tjl Exp $";  
+private static final String rcsid = "$Id: DefaultVobMatcher.java,v 1.11 
2003/02/13 14:39:31 tjl Exp $";  
     public static boolean dbg = false;
-    private static void pa(String s) { System.err.println(s); }
+    private static void pa(String s) { System.out.println(s); }
 
     static final int INITIAL_SIZE = 20;
     static final Object NULL = new Object();
@@ -134,6 +134,8 @@
 
     public int[] interpList(VobMatcher other0, boolean towardsOther) {
         DefaultVobMatcher other = (DefaultVobMatcher)other0;
+       if(dbg) dump();
+       if(dbg) other.dump();
        int[] interpList = new int[maxcs+1];
        if(dbg) pa("interplist: "+interpList[0]);
        int[] toOther = null;




reply via email to

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