gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] fenfire/org/fenfire demo/buoyoing.py demo/fenpd...


From: Matti Katila
Subject: [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py demo/fenpd...
Date: Tue, 15 Jul 2003 03:18:11 -0400

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Branch:         
Changes by:     Matti Katila <address@hidden>   03/07/15 03:18:11

Modified files:
        org/fenfire/demo: buoyoing.py fenpdfcontext.py 
        org/fenfire/view: PageNodeView.java PageScrollView2D.java 
        org/fenfire/view/lava: FenPDFContext.java 

Log message:
        use Ctrl-i to change pdfs bg texture

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/buoyoing.py.diff?tr1=1.93&tr2=1.94&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/fenpdfcontext.py.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/PageNodeView.java.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/PageScrollView2D.java.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/lava/FenPDFContext.java.diff?tr1=1.36&tr2=1.37&r1=text&r2=text

Patches:
Index: fenfire/org/fenfire/demo/buoyoing.py
diff -u fenfire/org/fenfire/demo/buoyoing.py:1.93 
fenfire/org/fenfire/demo/buoyoing.py:1.94
--- fenfire/org/fenfire/demo/buoyoing.py:1.93   Mon Jul 14 13:58:15 2003
+++ fenfire/org/fenfire/demo/buoyoing.py        Tue Jul 15 03:18:11 2003
@@ -131,11 +131,13 @@
     ppAct.assocNotes(noteA4, 1, noteC2)
     
 
-
+spanImageFactory = ff.spanimages.gl.DefaultSpanImageFactory(
+    ff.spanimages.gl.PageScrollBlockImager())
+spanImageFactory.paperMaker = ff.spanimages.gl.papermakers.fancyBlend(w)
 textstyle = vob.GraphicsAPI.getInstance().getTextStyle("sans", 0, 24)
 textnodeview = ff.view.TextNodeView(fen.txtfunc, textstyle, 1)
 #textnodeview = ff.view.lava.RSTText(fen.txtfunc, textstyle, 1)
-pagenodeview = ff.view.PageNodeView(fen.txtfunc)
+pagenodeview = ff.view.PageNodeView(fen.txtfunc, spanImageFactory)
 dispnodeview = ff.view.DispatchingNodeView(fen.txtfunc,
                                            textnodeview,
                                            pagenodeview)
@@ -153,10 +155,11 @@
 main_ctrl = ff.util.ControlBinding()
 node_ctrl = ff.util.ControlBinding()
 ctrlkey_ctrl = ff.util.ControlBinding()
-ctrl = ControlsDispatcher(main_ctrl, node_ctrl, ctrlkey_ctrl, fen.graph, ppAct)
+ctrl = ControlsDispatcher(main_ctrl, node_ctrl, ctrlkey_ctrl,
+                          fen.graph, ppAct)
 
 #context = ff.view.lava.FenPDFContext(fen, ppAct, nodeview, ctrl)
-context = Context(w, fen, ppAct, nodeview, ctrl)
+context = Context(w, fen, ppAct, nodeview, ctrl, spanImageFactory)
 
 context.initMainNodes(2)
 nodeview.setContext(context)
@@ -210,7 +213,8 @@
 #pagescroll2d = ff.view.IrregularViewportView2D(
 #          ff.view.PaperView2D(vob.putil.demowindow.w, 
 #                      ff.view.PageScrollView2D()))
-pagescroll2d = ff.view.PageScrollView2D()
+pagescroll2d = ff.view.PageScrollView2D(spanImageFactory)
+context.states.pageview = pagescroll2d
 pagescroll2d = ff.view.AreaSelectingView2D(pagescroll2d)
 
 tconnector.normalNodeNodeType = ff.view.buoy.NodeType2D(irregu,
Index: fenfire/org/fenfire/demo/fenpdfcontext.py
diff -u fenfire/org/fenfire/demo/fenpdfcontext.py:1.8 
fenfire/org/fenfire/demo/fenpdfcontext.py:1.9
--- fenfire/org/fenfire/demo/fenpdfcontext.py:1.8       Mon Jul 14 10:08:40 2003
+++ fenfire/org/fenfire/demo/fenpdfcontext.py   Tue Jul 15 03:18:11 2003
@@ -3,12 +3,14 @@
 from org import fenfire as ff
 from org.fenfire.swamp import Nodes
 import org.nongnu.libvob as vob
+from org.fenfire.spanimages.gl import papermakers
 
 dbg = 0
 
 def p(*s):
     print 'fenpdfcontext.py::', s
 
+global w
 
 
 # mixin interface for superclass proxy creation
@@ -40,10 +42,15 @@
         return apply(self.method, nargs, argdict)
 
 
-
 class KeyHandler:
     def __init__(self, states):
         self.states = states
+        self.makerTypes = [
+           papermakers.white(w),
+           papermakers.fancyBlend(w),
+           papermakers.fancyHalo(w),
+           papermakers.fancyBlur(w),
+            ]
     def key(self, stroke, main):
         p('KEY', stroke,', v:',main)
 
@@ -78,6 +85,12 @@
                 if isinstance(v, ff.view.PaperView2D):
                     v.drawPaper = not v.drawPaper
                 v = v.getChildView2D()
+        if stroke == 'Ctrl-I':
+            p('change spanImageFactory\'s papermaker')
+            self.states.spanImageFactory.paperMaker = self.makerTypes[0]
+            self.makerTypes.append(self.makerTypes.pop(0))
+            self.states.nodeview.reinit(fen.graph, 100)
+            self.states.pageview.flush()
                 
         if acc == None: return
 
@@ -110,11 +123,14 @@
 
 
 class ContextStates:
-    def __init__(self, fen, pp):
+    def __init__(self, fen, pp, spanImageFactory, nodeview):
         self.clean()
         self.cursor = ff.view.lava.Cursor(fen)
         self.pp = pp
         self.fen = fen
+        self.spanImageFactory = spanImageFactory
+        self.nodeview = nodeview
+        self.pageview = None
     def chgCtrl(self):
         self.ctrl = not self.ctrl
         if self.ctrl:
@@ -155,14 +171,14 @@
 
 
 class Context(ff.view.lava.FenPDFContext, SuperCaller):
-    def __init__(self, win, fen, pp, nv, ctrl):
+    def __init__(self, win, fen, pp, nv, ctrl, spanImageFactory):
         self.super = self.superproxy(ff.view.lava.FenPDFContext)
         ff.view.lava.FenPDFContext.__init__(self, fen, pp, nv, ctrl)
-        self.states = ContextStates(fen, pp)
-        self.keys = KeyHandler(self.states)
-        self.mousemenu = MouseMenu()
         global w
         w = win
+        self.states = ContextStates(fen, pp, spanImageFactory, nv)
+        self.keys = KeyHandler(self.states)
+        self.mousemenu = MouseMenu()
         
         
     def setMngr(self, mngr):
Index: fenfire/org/fenfire/view/PageNodeView.java
diff -u fenfire/org/fenfire/view/PageNodeView.java:1.1 
fenfire/org/fenfire/view/PageNodeView.java:1.2
--- fenfire/org/fenfire/view/PageNodeView.java:1.1      Thu Apr 24 13:55:58 2003
+++ fenfire/org/fenfire/view/PageNodeView.java  Tue Jul 15 03:18:11 2003
@@ -26,6 +26,7 @@
  * Written by Benja Fallenstein
  */
 package org.fenfire.view;
+import org.fenfire.spanimages.*;
 import org.fenfire.swamp.*;
 import org.nongnu.alph.*;
 import org.nongnu.libvob.*;
@@ -37,13 +38,16 @@
 public class PageNodeView implements NodeFunction {
 
     final NodeFunction nodeContent;
+    final SpanImageFactory spanImageFactory;
 
-    public PageNodeView(NodeFunction nodeContent) {
+    public PageNodeView(NodeFunction nodeContent,
+                       SpanImageFactory spanImageFactory) {
        this.nodeContent = nodeContent;
+       this.spanImageFactory = spanImageFactory;
     }
 
     public Object f(ConstGraph g, Object node) {
        Enfilade1D enf = (Enfilade1D)nodeContent.f(g, node);
-       return new PageSpanLayout(enf);
+       return new PageSpanLayout(enf, spanImageFactory);
     }
 }
Index: fenfire/org/fenfire/view/PageScrollView2D.java
diff -u fenfire/org/fenfire/view/PageScrollView2D.java:1.7 
fenfire/org/fenfire/view/PageScrollView2D.java:1.8
--- fenfire/org/fenfire/view/PageScrollView2D.java:1.7  Tue Jun 24 07:11:52 2003
+++ fenfire/org/fenfire/view/PageScrollView2D.java      Tue Jul 15 03:18:11 2003
@@ -25,6 +25,7 @@
  * Written by Benja Fallenstein
  */
 package org.fenfire.view;
+import org.fenfire.spanimages.*;
 import org.nongnu.libvob.VobScene;
 import org.nongnu.alph.*;
 import org.fenfire.swamp.*;
@@ -38,15 +39,25 @@
  */
 public class PageScrollView2D extends View2D {
 
-    NodeFunction scroll2layout = new CachedNodeFunction(100, null,
+    private final SpanImageFactory spanImageFactory;
+    public PageScrollView2D(SpanImageFactory spanImageFactory) {
+       this.spanImageFactory = spanImageFactory;
+       flush();
+    }
+
+    NodeFunction scroll2layout = null; 
+
+    public void flush() {
+       scroll2layout = new CachedNodeFunction(100, null,
            new NodeFunction() {
                public Object f(ConstGraph g, Object block0) {
                    PageScrollBlock block = (PageScrollBlock)block0;
                    return new PageSpanLayout(
-                       (PageSpan)block.getCurrent());
+                       (PageSpan)block.getCurrent(), spanImageFactory);
                }
            }
            );
+    }
 
     
 
Index: fenfire/org/fenfire/view/lava/FenPDFContext.java
diff -u fenfire/org/fenfire/view/lava/FenPDFContext.java:1.36 
fenfire/org/fenfire/view/lava/FenPDFContext.java:1.37
--- fenfire/org/fenfire/view/lava/FenPDFContext.java:1.36       Mon Jul  7 
18:56:06 2003
+++ fenfire/org/fenfire/view/lava/FenPDFContext.java    Tue Jul 15 03:18:11 2003
@@ -251,10 +251,12 @@
                     "application/pdf");
                p("sc: "+sc+" foo: " + sc.getID());
                // mainNodes[1] can never hold articles, can't put there
+               /*
                mainNodes[0]= new 
                     FisheyeMainNode2D(sc, new PageScrollView2D(), 
                            new AbstractMainNode2D.SimpleFocus(0,0),
                                      controller);
+               */
                 return mainNodes;
            }
            else if (key.equals("LINK")) {
@@ -316,12 +318,15 @@
                                                      controller);
                         p("mainNode");
                     } else {
+                       throw new Error("not implemented");
+                       /*
                         mainNodes[i] = new 
                             FisheyeMainNode2D(plane, 
                                               new PageScrollView2D(),
                                new AbstractMainNode2D.SimpleFocus(0,0),
                                              controller);
                         p("fishNode");
+                       */
                     }
                     i++;
                 }




reply via email to

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