[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] fenfire/org/fenfire modules/pp/PPCanvasCursor.j...
From: |
Matti Katila |
Subject: |
[Gzz-commits] fenfire/org/fenfire modules/pp/PPCanvasCursor.j... |
Date: |
Sat, 05 Apr 2003 15:26:35 -0500 |
CVSROOT: /cvsroot/fenfire
Module name: fenfire
Changes by: Matti Katila <address@hidden> 03/04/05 15:26:35
Modified files:
org/fenfire/modules/pp: PPCanvasCursor.java Pp.java
UniquePaperVob.java
org/fenfire/view: SpatialPlane.java
Log message:
workarounds for awt bugs and others. zooming works now. buoyoncircle
needs work.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/PPCanvasCursor.java.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/Pp.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/UniquePaperVob.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/SpatialPlane.java.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
Patches:
Index: fenfire/org/fenfire/modules/pp/PPCanvasCursor.java
diff -u fenfire/org/fenfire/modules/pp/PPCanvasCursor.java:1.3
fenfire/org/fenfire/modules/pp/PPCanvasCursor.java:1.4
--- fenfire/org/fenfire/modules/pp/PPCanvasCursor.java:1.3 Fri Apr 4
18:25:06 2003
+++ fenfire/org/fenfire/modules/pp/PPCanvasCursor.java Sat Apr 5 15:26:34 2003
@@ -23,7 +23,7 @@
/** XXX
*/
public class PPCanvasCursor implements BuoyViewMainNode {
-private static final String rcsid = "$Id: PPCanvasCursor.java,v 1.3 2003/04/04
23:25:06 mudyc Exp $";
+private static final String rcsid = "$Id: PPCanvasCursor.java,v 1.4 2003/04/05
20:26:34 mudyc Exp $";
public static boolean dbg = false;
private static void pa(String s) {
System.out.println("PPCanvasCursor::"+s); }
@@ -158,14 +158,10 @@
setZoomPan(vs, into);
// XXX SinglePaper.i(space, d, window, current).render(vs, into,
c2fCS, c2fCSInv, hook);
} else {
-
- // kludge
- int focusCtr = vs.matcher.getCS("FocusCtr");
-
int zo = (int)(zoom * 100000);
int geometry = vs.orthoCS(0, "FocusGeometry",0, zo,0, panx, pany);
- //vs.map.put(new
UniquePaperVob(URN5Namespace.instance.generateId()), into, geometry);
+ vs.map.put(new UniquePaperVob(URN5Namespace.instance.generateId()),
into, geometry);
(new SpatialPlane(PP.noteType, PP.contains)).renderAWT(vs, into,
geometry, node, space, hook);
}
}
@@ -179,8 +175,6 @@
private int [] m_state = null;
private float m_state_zoom = -1;
public boolean mouse(MouseEvent e, VobScene oldVobScene) {
- pa("mouse e"+e+" pans: "+panx+", "+pany);
-
if (e.getID() == MouseEvent.MOUSE_PRESSED) {
m_state = new int[]{ e.getX(), e.getY(), e.getModifiers()};
m_state_zoom = zoom;
@@ -188,27 +182,44 @@
}
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];
+ if (m_state[2] == e.BUTTON3_MASK) {
- // XXX current = current.h(d.contains);
- AbstractUpdateManager.chg();
+ // let's zoom!!
+ zoom = m_state_zoom * (float)
+ Math.exp((m_state[1] - e.getY())/150.0);
+ return true;
+ }
+
+
+
+ if (m_state[2] == e.BUTTON1_MASK){
+
+ if (GraphicsAPI.getInstance() instanceof GLAPI) {
+ 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];
+
+ // XXX current = current.h(d.contains);
+ AbstractUpdateManager.chg();
+ } else {
+
+
+
+ }
return false;
}
Index: fenfire/org/fenfire/modules/pp/Pp.java
diff -u fenfire/org/fenfire/modules/pp/Pp.java:1.2
fenfire/org/fenfire/modules/pp/Pp.java:1.3
--- fenfire/org/fenfire/modules/pp/Pp.java:1.2 Fri Apr 4 18:25:06 2003
+++ fenfire/org/fenfire/modules/pp/Pp.java Sat Apr 5 15:26:35 2003
@@ -29,7 +29,7 @@
public class Pp implements BuoyLinkListener {
-public static final String rcsid = "$Id: Pp.java,v 1.2 2003/04/04 23:25:06
mudyc Exp $";
+public static final String rcsid = "$Id: Pp.java,v 1.3 2003/04/05 20:26:35
mudyc Exp $";
public static final boolean dbg = true;
protected static void p(String s) { if(dbg) pa(s); }
protected static void pa(String s) { System.out.println("Pp::"+s); }
@@ -62,13 +62,13 @@
String note2 = ppAct.newNote(paper2, 0,0, "A test note");
ppAct.assocNotes(note, 1, note2);
- note = ppAct.newNote(paper, 10,10, "10 10");
+ note = ppAct.newNote(paper, 50,50, "10 10");
ppAct.assocNotes(note, 1, note2);
- note = ppAct.newNote(paper, -10,10, "-10 10");
+ note = ppAct.newNote(paper, -100,100, "-10 10");
ppAct.assocNotes(note, 1, note2);
- note = ppAct.newNote(paper, -10,-10, "-10 -10");
+ note = ppAct.newNote(paper, -100,-100, "-10 -10");
ppAct.assocNotes(note, 1, note2);
- note = ppAct.newNote(paper, 10,-10, "10 -10");
+ note = ppAct.newNote(paper, 100,-100, "10 -10");
ppAct.assocNotes(note, 1, note2);
@@ -121,17 +121,15 @@
AbstractUpdateManager.chg();
}
public void mouse(MouseEvent m) {
- pa("Mouse: " + m);
-
VobScene vs = screen.getVobSceneForEvents();
- vs.map.dump();
-
int cs = vs.coords.getCSAt(0, m.getX(), m.getY(), null);
- pa("CS: "+cs+" at x: "+m.getX()+", y: "+m.getY() );
if (cs < 0) return;
- AbstractUpdateManager.setNoAnimation();
- AbstractUpdateManager.chg();
+ // check if cs is some buoy if not call mainfocusviewnode...
+ if (focus.mouse(m, vs)) {
+ AbstractUpdateManager.setNoAnimation();
+ AbstractUpdateManager.chg();
+ }
}
public void setScreen(Screen s) { this.screen = s; }
public void timeout(Object id) {}
@@ -152,25 +150,16 @@
curVs = vs;
vs.map.put(new SolidBackdropVob(Color.lightGray));
- int tmp = vs.orthoBoxCS(0, "Nothing", 100,0,0, 1,1,vs.size.width,
vs.size.height);
- vs.activate(tmp);
-
float width = (float)vs.size.getWidth() * 3.f/5;
float height = (float)vs.size.getHeight() * 3.f/5;
ctrX = ((float)vs.size.width)/2;
ctrY = ((float)vs.size.height)/2;
- focusCtr = vs.translateCS(0, "FocusCtr", ctrX,ctrY);
- //vs.activate(focusCtr);
-
- float x = -width/2;
- int frameCS = vs.orthoBoxCS(focusCtr, "FocusFrame", 0,
- x, -height/2, 1, 1,
+ int frameCS = vs.orthoBoxCS(0, "FocusFrame", 200,
+ ctrX - width/2, ctrY - height/2, 1, 1,
width, height);
vs.activate(frameCS);
- pa("frame: "+frameCS+", focus: "+focusCtr+", tmp: "+tmp);
-
if (focus == null)
focus = adaptor.createMainNode(null, accursed, this);
focus.renderMain(vs, frameCS);
@@ -202,13 +191,14 @@
}
float[] fl = new float[3];
c.getSqSize(buoyCS, fl);
- pa("size: "+fl[0]+", "+fl[1]);
+ //pa("size: "+fl[0]+", "+fl[1]);
fl = c.transformPoints3(buoyCS, new float[3], null);
- pa("transform: "+ fl[0] + ", "+fl[1]+", "+fl[2]);
+ //pa("transform: "+ fl[0] + ", "+fl[1]+", "+fl[2]);
+ //buoyCS = curVs.orthoBoxCS(0, null,0, 100,100, 1,1, 50,50);
curVs.put(new RectBgVob(), buoyCS);
- pa("link!!!");
+ //pa("link!!!");
}
Index: fenfire/org/fenfire/modules/pp/UniquePaperVob.java
diff -u fenfire/org/fenfire/modules/pp/UniquePaperVob.java:1.2
fenfire/org/fenfire/modules/pp/UniquePaperVob.java:1.3
--- fenfire/org/fenfire/modules/pp/UniquePaperVob.java:1.2 Fri Apr 4
18:25:06 2003
+++ fenfire/org/fenfire/modules/pp/UniquePaperVob.java Sat Apr 5 15:26:35 2003
@@ -13,7 +13,7 @@
* surrounded by a rectangle of the current foreground color.
*/
public class UniquePaperVob extends Vob {
-public static final String rcsid = "$Id: UniquePaperVob.java,v 1.2 2003/04/04
23:25:06 mudyc Exp $";
+public static final String rcsid = "$Id: UniquePaperVob.java,v 1.3 2003/04/05
20:26:35 mudyc Exp $";
public static boolean dbg = false;
private static void pa(String s) {
System.out.println("UniquePaperVob::"+s); }
@@ -43,22 +43,21 @@
info2.getExtRect(geom);
int panx = geom.width, pany = geom.height;
- pa("mx: "+mx+", gx: "+geom.x+", panx: "+panx+", pany: "+pany);
+ //pa("mx: "+mx+", gx: "+geom.x+", panx: "+panx+", pany: "+pany);
float zoom = ((float)(geom.x))/100000;
int gx = geom.x;
- pa("Zoom: "+zoom);
+ //pa("Zoom: "+zoom);
g.setColor(Color.orange);
g.fillRect(mx, my, mw, mh);
+ int x = mx + mw/2 - (int)((mw*zoom)/4) + (int)(panx * zoom),
+ y = my + mh/2 - (int)((mh*zoom)/4) + (int)(pany * zoom),
+ w = (int) ((float)mw*zoom)/2,
+ h = (int) ((float)mh*zoom)/2;
- int x = panx + mx + mw/4,
- y = pany + my + mh/4,
- w = (int)((float)mw)/2,
- h = (int)((float)mh)/2;
-
- pa("x"+x+"y"+y+"w"+w+"h"+h);
+ //pa("x"+x+"y"+y+"w"+w+"h"+h);
g.setColor(Color.gray);
Index: fenfire/org/fenfire/view/SpatialPlane.java
diff -u fenfire/org/fenfire/view/SpatialPlane.java:1.3
fenfire/org/fenfire/view/SpatialPlane.java:1.4
--- fenfire/org/fenfire/view/SpatialPlane.java:1.3 Fri Apr 4 18:25:06 2003
+++ fenfire/org/fenfire/view/SpatialPlane.java Sat Apr 5 15:26:35 2003
@@ -26,7 +26,7 @@
*/
public class SpatialPlane {
-public static final String rcsid = "$Id: SpatialPlane.java,v 1.3 2003/04/04
23:25:06 mudyc Exp $";
+public static final String rcsid = "$Id: SpatialPlane.java,v 1.4 2003/04/05
20:26:35 mudyc Exp $";
public static boolean dbg = false;
private static void pa(String s) { System.out.println("SpatialPlane::"+s);
}
@@ -61,17 +61,28 @@
container = ShortRDF.getSubj(mod, current, cont);
}
+
+ // get zoom geometry etc.
+ float[] size = new float[2];
+ vs.coords.getSqSize(into, size);
+ float[] pt = vs.coords.transformPoints3(into, new float[3], null);
+ pt[0] += size[0]/2;
+ pt[1] += size[1]/2;
+
+
+ float[] pan = new float[2];
+ vs.coords.getSqSize(geom, pan);
+ float zoom = (vs.coords.transformPoints3(geom, new float[3],
null))[0]/100000;
+
float[] bs = new float[2];
cursorBox = -1;
+
Selector slctr = new SelectorImpl((Resource)container, cont, (RDFNode)
null);
StmtIterator iter = mod.listStatements(slctr);
Statement stmt = null;
while (iter.hasNext()) {
RDFNode n = (RDFNode)((Statement)iter.next()).getObject();
- boolean drawFrame = false;
-
- pa("Node: "+n);
Enfilade1D enf = space.getEnfilade(n);
if (enf == null) continue;
@@ -88,27 +99,34 @@
// get size XXX
Pair matchKey = new Pair(container, n);
+
+ // XXX
+ bs[0] = 30; bs[1] = 30;
+ //pa("x: "+ (pt[0] + (pan[0] + coords[0]) * zoom) +
+ // ", y: "+ (pt[1] + (pan[1] + coords[1]) * zoom));
+
int box;
- box = vs.orthoBoxCS(into, matchKey, 0,
- coords[0], coords[1],
+ box = vs.orthoBoxCS(0, matchKey, 100,
+ pt[0] + (pan[0] + coords[0]) * zoom,
+ pt[1] + (pan[1] + coords[1]) * zoom,
1, 1, bs[0], bs[1]);
+ vs.put(new org.nongnu.libvob.vobs.RectBgVob(java.awt.Color.red),
box);
+
if (span instanceof TextSpan) {
String s = enf.toString();
// nothing
- pa("Text!, ooh..");
+ //pa("Text!, ooh..");
} // PageSpan!!!
else {
pa("pagespan!, ooh..");
- drawFrame = true;
}
hook.placed(n, vs, box);
- pa("node placed!");
//if (drawFrame)
// vs.map.put(frame, box);
- [Gzz-commits] fenfire/org/fenfire modules/pp/PPCanvasCursor.j...,
Matti Katila <=