gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] fenfire/org/fenfire/view/buoy MainNode2D.java


From: Tuomas J. Lukka
Subject: [Gzz-commits] fenfire/org/fenfire/view/buoy MainNode2D.java
Date: Fri, 25 Apr 2003 10:11:49 -0400

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Changes by:     Tuomas J. Lukka <address@hidden>        03/04/25 10:11:49

Modified files:
        org/fenfire/view/buoy: MainNode2D.java 

Log message:
        Fix clicks

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/buoy/MainNode2D.java.diff?tr1=1.9&tr2=1.10&r1=text&r2=text

Patches:
Index: fenfire/org/fenfire/view/buoy/MainNode2D.java
diff -u fenfire/org/fenfire/view/buoy/MainNode2D.java:1.9 
fenfire/org/fenfire/view/buoy/MainNode2D.java:1.10
--- fenfire/org/fenfire/view/buoy/MainNode2D.java:1.9   Fri Apr 25 09:57:07 2003
+++ fenfire/org/fenfire/view/buoy/MainNode2D.java       Fri Apr 25 10:11:49 2003
@@ -38,7 +38,7 @@
  *  command for moving on the spatial plane.
  */
 public class MainNode2D implements BuoyViewMainNode {
-    public static boolean dbg = false;
+    public static boolean dbg = true;
     private static void pa(String s) { System.out.println(s); }
     
     protected Object plane;
@@ -71,18 +71,19 @@
        }
     }
 
-    private int focusFrame = -1;
+    private int box2screen = -1;
     private int box2paper = -1;
     private float w, h;
 
     public void renderMain(VobScene vs, int into) {
        vs.coords.getSqSize(into, tmp);
        w = tmp[0]; h = tmp[1];
-       focusFrame = into;
+       box2screen = into;
 
        // create the coordsys, then position it through other method
        // this way, we only have the positioning code in one place
        box2paper = vs.coords.orthoBox(0,0,0,0,0,0,0,0);
+       vs.matcher.add(box2screen, box2paper, "MainNode2D_B2P");
        setZoomPan(vs, box2paper);
 
        view.render(vs, plane, into, into, box2paper);
@@ -94,7 +95,6 @@
      * created by render().
      */
     private void setZoomPan(VobScene vs, int mainFrame) {
-       DefaultVobMatcher m = (DefaultVobMatcher)vs.matcher;
        vs.coords.setOrthoBoxParams(box2paper, 0, 
                        panX-w/zoom/2, panY-h/zoom/2, 
                                    1/zoom, 1/zoom, w, h);
@@ -124,43 +124,35 @@
            zoom = m_state_zoom * (float) 
                Math.exp((m_state[1] - e.getY())/150.0);
            AbstractUpdateManager.setNoAnimation();
-           setZoomPan(oldVobScene, focusFrame);
+           setZoomPan(oldVobScene, box2screen);
            return true;
        }
 
        // Move by dragging with button 1
-       if (m_state[2] == e.BUTTON1_MASK && e.getID() == 
MouseEvent.MOUSE_DRAGGED) {
+       if(m_state[2] == e.BUTTON1_MASK && 
+          e.getID() == MouseEvent.MOUSE_DRAGGED) {
            panX = pan[0] + (m_state[0] - e.getX())/zoom;
            panY = pan[1] + (m_state[1] - e.getY())/zoom;
 
-           setZoomPan(oldVobScene, focusFrame);
+           setZoomPan(oldVobScene, box2screen);
            return true;
        }
        
        // Move around by clicking
-       if (m_state[2] == e.BUTTON1_MASK && e.getID() == 
MouseEvent.MOUSE_CLICKED){
+       if(m_state[2] == e.BUTTON1_MASK && 
+          e.getID() == MouseEvent.MOUSE_CLICKED){
 
            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, 
"FocusCenter");
-           //pa("mainctr"+ mainctrCS);
-               
-           int frame = 
((DefaultVobMatcher)oldVobScene.matcher).getCS(mainctrCS, "FocusFrame");
-           //int frame = focusFrame;
-           int f2c = ((DefaultVobMatcher)oldVobScene.matcher).getCS(frame, 
"F2C");
-           if (f2c < 0) f2c = box2paper;
-           if(frame < 0 || f2c < 0)
-               throw new Error("No cs point!"+frame+" "+f2c);
-               
-           // XXX vp, not frame!
-           oldVobScene.coords.inverseTransformPoints3(mainctrCS, pt, pt);
-           //oldVobScene.coords.inverseTransformPoints3(frame, pt, pt);
-           oldVobScene.coords.transformPoints3(f2c, pt, pt);
+           if(dbg) pa("P1: "+pt[0]+" "+pt[1]+" "+pt[2]);
+           oldVobScene.coords.inverseTransformPoints3(
+                   box2screen, pt, pt);
+           if(dbg) pa("P2: "+pt[0]+" "+pt[1]+" "+pt[2]);
+           oldVobScene.coords.transformPoints3(box2paper, pt, pt);
+           if(dbg) pa("P3: "+pt[0]+" "+pt[1]+" "+pt[2]);
+
            panX = pt[0]; panY = pt[1];
                
-           // XXX current = current.h(d.contains);   
-           //setZoomPan(oldVobScene, focusFrame);
            AbstractUpdateManager.chg();
            return false;
        }




reply via email to

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