[Top][All Lists]
[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:
- [Gzz-commits] gzz gfx/demo/buoyoing.py gzz/modules/pp2/PPCanv...,
Matti Katila <=