gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] gzz gfx/demo/buoyoing.py gzz/modules/pp2/PPCanv...


From: Matti Katila
Subject: [Gzz-commits] gzz gfx/demo/buoyoing.py gzz/modules/pp2/PPCanv...
Date: Mon, 10 Feb 2003 05:09:29 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Matti Katila <address@hidden>   03/02/10 05:09:27

Modified files:
        gfx/demo       : buoyoing.py 
        gzz/modules/pp2: PPCanvasCursor.java PPCanvasNode.java 
        gzz/view/buoy  : buoymanager.py 

Log message:
        various pp commits.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/buoyoing.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/modules/pp2/PPCanvasCursor.java.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/modules/pp2/PPCanvasNode.java.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/view/buoy/buoymanager.py.diff?tr1=1.15&tr2=1.16&r1=text&r2=text

Patches:
Index: gzz/gfx/demo/buoyoing.py
diff -u gzz/gfx/demo/buoyoing.py:1.7 gzz/gfx/demo/buoyoing.py:1.8
--- gzz/gfx/demo/buoyoing.py:1.7        Fri Feb  7 03:10:46 2003
+++ gzz/gfx/demo/buoyoing.py    Mon Feb 10 05:09:27 2003
@@ -13,6 +13,11 @@
 from gzz.view.buoy import BuoyLinkListener, ScrollblockCellLinker
 from gzz.view.buoy import BuoyAdaptor
 
+# PP stuff
+from gzz.modules.pp import PPDims
+from gzz.modules.pp2 import PPCanvasNode
+from gzz.view.buoy import PPLinker
+
 buoymanager.replaceNewScene = replaceNewScene
 
 xulinks = 1
@@ -20,7 +25,14 @@
 # Create a space
 space = gzz.impl.ModularSpace(*test.tools.tools.spaceArgList())
 
-dims = [space.getDim(i) for i in [Ids.d_1, Ids.d_2, Ids.d_3]]
+#dims = [space.getDim(i) for i in [Ids.d_1, Ids.d_2, Ids.d_3]]
+p = PPDims(space)
+dims = [space.getDim(i) for i in [Ids.d_1, Ids.d_2, Ids.d_3, \
+                                  p.contains.getId(), \
+                                  p.association.getId(), \
+                                  p.d1.getId(), p.clone.getId(),\
+                                  p.bgtype.getId() ]]
+
 zzNodes.viewcontext.setDims(jarray.array(dims , gzz.Dim))
 
 # Create the buoy view elements
@@ -29,8 +41,8 @@
        pagespanNodes.WholePageSpanNodeType(scrollblockLinker)
        )
 adaptor = BuoyAdaptor()
-adaptor.cellNodes = [zzNodes.VanishingNodeType()]
-adaptor.cellLinkers = [scrollblockLinker]
+adaptor.cellNodes = [PPCanvasNode(p, space, w), zzNodes.VanishingNodeType()]
+adaptor.cellLinkers = [PPLinker(p.clone, p.association), scrollblockLinker]
 
 
 if xulinks:
Index: gzz/gzz/modules/pp2/PPCanvasCursor.java
diff -u gzz/gzz/modules/pp2/PPCanvasCursor.java:1.8 
gzz/gzz/modules/pp2/PPCanvasCursor.java:1.9
--- gzz/gzz/modules/pp2/PPCanvasCursor.java:1.8 Sun Feb  9 09:21:22 2003
+++ gzz/gzz/modules/pp2/PPCanvasCursor.java     Mon Feb 10 05:09:27 2003
@@ -41,7 +41,7 @@
 /** XXX
  */
 public class PPCanvasCursor implements BuoyViewMainNode {
-private static final String rcsid = "$Id: PPCanvasCursor.java,v 1.8 2003/02/09 
14:21:22 mudyc Exp $";  
+private static final String rcsid = "$Id: PPCanvasCursor.java,v 1.9 2003/02/10 
10:09:27 mudyc Exp $";  
     public static boolean dbg = false;
     private static void pa(String s) { 
System.out.println("PPCanvasCursor:"+s); }
 
@@ -126,6 +126,7 @@
     private CellPlacementHook hook;
 
     private AbstractViewContext avc;
+    private AbstractViewContext buoy_avc;
     private PPDims d;
     private GraphicsAPI.Window window;
     
@@ -134,8 +135,9 @@
        this.current = c;
        this.content = content;
        this.hook = hook;
-       this.avc = new AbstractViewContext();
-       this.avc.setAccursed(avc.getAccursed());
+       this.avc = avc;
+       this.buoy_avc = new AbstractViewContext();
+       this.buoy_avc.setAccursed(avc.getAccursed());
        this.d = d;
        this.window = w;
     }
@@ -151,8 +153,9 @@
        vs.coords.setOrthoParams(cs, 0, -panx*zoom, -pany*zoom, zoom, zoom);
     }
 
+    private int c2fCS = -1;
     public void renderMain(VobScene vs, int into) {
-       int c2fCS = vs.coords.ortho(0, 0, 0, 0, 10, 10);
+       c2fCS = vs.coords.ortho(0, 0, 0, 0, 10, 10);
        vs.matcher.add(into, c2fCS, "C2F");
        setZoomPan(vs, into);
        SinglePaper.i(avc, d, window, current).render(vs, into, c2fCS);
@@ -160,7 +163,7 @@
        Cell paper = current.h(d.contains);
        for (Cell c = paper.s(d.contains); c != null; c = c.s(d.contains) ) {
            if (c == current) continue;
-           avc.setAccursed(c);
+           buoy_avc.setAccursed(c);
            hook.placed(c, vs, into, (ViewContext)avc);
        }
     }
@@ -169,9 +172,44 @@
 
     }
 
-
+    // Mouse press state
+    // x, y, buttons
+    private int [] m_state = null;
     public boolean mouse(MouseEvent e, VobScene oldVobScene) {
        pa("mouse e"+e);
+
+       if (e.getID() == MouseEvent.MOUSE_PRESSED) {
+           m_state = new int[]{ e.getX(), e.getY(), e.getModifiers()};
+           return false;
+       }
+       if (m_state == null) throw new Error("Mouse state not found!");
+
+       if (m_state[2] == e.BUTTON1_MASK){
+
+           float[] pt = new float[] { e.getX(), e.getY(), 0 };
+           
+           // We must transform into Frame, and then the C2F coordinate system
+           int mainctrCS = ((DefaultVobMatcher)oldVobScene.matcher).getCS(0, 
"Center");
+           pa("mainctr"+ mainctrCS);
+
+           int frame = 
((DefaultVobMatcher)oldVobScene.matcher).getCS(mainctrCS, "MAINVP");
+           int c2f = ((DefaultVobMatcher)oldVobScene.matcher).getCS(frame, 
"C2F");
+           if (c2f < 0) c2f = c2fCS;
+           if(frame < 0 || c2f < 0)
+               throw new Error("No cs point!"+frame+" "+c2f);
+               
+           // XXX vp, not frame!
+           oldVobScene.coords.inverseTransformPoints3(mainctrCS, pt, pt);
+           oldVobScene.coords.inverseTransformPoints3(c2f, pt, pt);
+           panx = pt[0]; pany = pt[1];
+           
+
+           /*
+           panx = m_state[0] - (e.getX() - m_state[0])/zoom;
+           pany = m_state[1] - (e.getY() - m_state[1])/zoom;
+           */
+           avc.setAccursed(avc.getAccursed().h(d.contains));   
+       }
 
        return true;
     }
Index: gzz/gzz/modules/pp2/PPCanvasNode.java
diff -u gzz/gzz/modules/pp2/PPCanvasNode.java:1.9 
gzz/gzz/modules/pp2/PPCanvasNode.java:1.10
--- gzz/gzz/modules/pp2/PPCanvasNode.java:1.9   Sun Feb  9 02:14:17 2003
+++ gzz/gzz/modules/pp2/PPCanvasNode.java       Mon Feb 10 05:09:27 2003
@@ -33,7 +33,7 @@
 /** XXX
  */
 public class PPCanvasNode implements CellBuoyViewNodeType {
-private static final String rcsid = "$Id: PPCanvasNode.java,v 1.9 2003/02/09 
07:14:17 mudyc Exp $";  
+private static final String rcsid = "$Id: PPCanvasNode.java,v 1.10 2003/02/10 
10:09:27 mudyc Exp $";  
     public static boolean dbg = false;
     private static void pa(String s) { System.out.println("PPCanvasNode:"+s); }
 
@@ -41,6 +41,11 @@
     private AbstractViewContext avc;
     private Space space;
     private GraphicsAPI.Window win;
+
+    public PPCanvasNode(PPDims d, Space s, GraphicsAPI.Window w) {
+       this(d, s, new AbstractViewContext(), w);
+    }
+
     public PPCanvasNode(PPDims d, Space s, AbstractViewContext avc, 
GraphicsAPI.Window w) {
        this.d = d;
        this.space = s;
@@ -61,12 +66,20 @@
 
 
     public boolean ownsCell(Cell c) {
-       // XXX
-       // how can I check that this is PP cell?
+
+       // If it's a note, there must be a cell in 
+       // a negative dir which is canvas or another note.
+       if (c.s(d.contains, -1) != null) return true;
        
-       pa("Just guessing that this is PP...");
+       // If it's a canvas(paper) there must 
+       // be at least homeCell in negative direction
+       if (c.s(d.d1, -1) != null) return true;
+
+       // If it's a clone, there must be at least a note
+       // or another clone in negative dir
+       if (c.s(d.clone, -1) != null) return true;
 
-       return true;
+       return false;
     }
 
     public Object getSize(Cell c, Object content, float[] wh) {
Index: gzz/gzz/view/buoy/buoymanager.py
diff -u gzz/gzz/view/buoy/buoymanager.py:1.15 
gzz/gzz/view/buoy/buoymanager.py:1.16
--- gzz/gzz/view/buoy/buoymanager.py:1.15       Sun Feb  9 02:52:28 2003
+++ gzz/gzz/view/buoy/buoymanager.py    Mon Feb 10 05:09:27 2003
@@ -65,6 +65,7 @@
         self.mainCS = main
 
     def link(self, direction, anchorCS, otherNode, linkId, otherAnchor):
+        print 'anchorCS: ',anchorCS
        x = self.ctrx
        r = self.ctrx * .75
        if dir > 0:
@@ -115,8 +116,8 @@
        pass
 
     def mouse(self, ev):
-        if ev.getID() == ev.MOUSE_PRESSED:
-            return
+        #if ev.getID() == ev.MOUSE_PRESSED:
+        #    return
         
        # print ev
        x, y = ev.getX(), ev.getY()
@@ -125,7 +126,7 @@
        print "IN CS: ",cs, link
        if link == None:
            if self.mainNode.mouse(ev, self.vs):
-               replaceNewScene(self.vs) # XXX
+               #replaceNewScene(self.vs) # XXX
                gzz.client.AbstractUpdateManager.setNoAnimation()
                gzz.client.AbstractUpdateManager.chg()
        else:




reply via email to

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