[Top][All Lists]
[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;
}