fenfire-commits
[Top][All Lists]
Advanced

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

[ff-cvs] fenfire/org/fenfire bin/fenpdf10.py fenpdf/fenp...


From: Tuomas J. Lukka
Subject: [ff-cvs] fenfire/org/fenfire bin/fenpdf10.py fenpdf/fenp...
Date: Mon, 25 Aug 2003 05:28:54 -0400

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Branch:         
Changes by:     Tuomas J. Lukka <address@hidden>        03/08/25 05:28:54

Modified files:
        org/fenfire/bin: fenpdf10.py 
        org/fenfire/fenpdf: fenpdfcontext.py 
        org/fenfire/fenpdf/actions: keyboard.py mouse.py 
        org/fenfire/fenpdf/appearance: papers.py views.py 
        org/fenfire/fenpdf/events: eventhandler.py 
        org/fenfire/view: PaperView2D.java 

Log message:
        Allow bg to be toggled. At the moment, still resets to home, but this 
will be taken care of later. Remove references to context.states.buoymanager

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/bin/fenpdf10.py.diff?tr1=1.73&tr2=1.74&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/fenpdfcontext.py.diff?tr1=1.26&tr2=1.27&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/actions/keyboard.py.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/actions/mouse.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/appearance/papers.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/appearance/views.py.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/events/eventhandler.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/PaperView2D.java.diff?tr1=1.18&tr2=1.19&r1=text&r2=text

Patches:
Index: fenfire/org/fenfire/bin/fenpdf10.py
diff -u fenfire/org/fenfire/bin/fenpdf10.py:1.73 
fenfire/org/fenfire/bin/fenpdf10.py:1.74
--- fenfire/org/fenfire/bin/fenpdf10.py:1.73    Mon Aug 25 03:02:25 2003
+++ fenfire/org/fenfire/bin/fenpdf10.py Mon Aug 25 05:28:49 2003
@@ -201,7 +201,8 @@
 fenPDF.events.buttons.fenPDF = fenPDF
 
 
-papers = ff.fenpdf.appearance.papers.Papers()
+papers = ff.fenpdf.appearance.papers.Papers(fenPDF)
+
 eventHandler = ff.fenpdf.events.eventhandler.EventHandler(fenPDF)
 
 
@@ -209,6 +210,7 @@
 
 context.states.selection =  \
     fenPDF.uistate.selection = ff.fenpdf.fenpdfcontext.Selection()
+context.fenPDF = fenPDF
 
 context.mousemenu = ff.fenpdf.events.mousemenu.MouseMenu(fenPDF, 
context.states)
 fenPDF.events.mousemenu = context.mousemenu
@@ -254,7 +256,6 @@
         w.setCursor('default')
 
         self.context = context
-        self.context.setBuoyManager(views.getBuoyManager())
 
     def scene(self, vs):
         self.context.states.vs = vs
Index: fenfire/org/fenfire/fenpdf/actions/keyboard.py
diff -u fenfire/org/fenfire/fenpdf/actions/keyboard.py:1.8 
fenfire/org/fenfire/fenpdf/actions/keyboard.py:1.9
--- fenfire/org/fenfire/fenpdf/actions/keyboard.py:1.8  Sun Aug 24 08:06:01 2003
+++ fenfire/org/fenfire/fenpdf/actions/keyboard.py      Mon Aug 25 05:28:51 2003
@@ -110,14 +110,19 @@
        self.fenPDF.animation.regenerateVS()
 
        
-    # XXX Not implemented
     def toggleBgTextureUse(self, value = -1):
-       p("Not implemented")
-       pass
+       """Toggle whether fancy paper bgs are used.
+
+       If value is 0 or 1, use it, if -1, toggle.
+       """
+       self.fenPDF.views.papers.toggleBg(value)
+       self.fenPDF.animation.regenerateVS()
 
     def changeBgPaperMaker(self):
-       p("Not implemented")
-       pass
+       """Change the papermaker, i.e. how the fancy paper is blended.
+       """
+       self.fenPDF.views.papers.adjustPaperMakerIndex(1)
+       self.fenPDF.animation.regenerateVS()
 
 
 
Index: fenfire/org/fenfire/fenpdf/actions/mouse.py
diff -u fenfire/org/fenfire/fenpdf/actions/mouse.py:1.6 
fenfire/org/fenfire/fenpdf/actions/mouse.py:1.7
--- fenfire/org/fenfire/fenpdf/actions/mouse.py:1.6     Sat Aug 23 13:13:33 2003
+++ fenfire/org/fenfire/fenpdf/actions/mouse.py Mon Aug 25 05:28:51 2003
@@ -39,7 +39,7 @@
 
 def defineActions(fenPDF, context):
     def getMainNode():
-       return context.states.buoymanager.getLastMain()
+       return fenPDF.views.getBuoyManager().getLastMain()
     def getOldVS():
        return fenPDF.animation.lastVs
 
@@ -193,7 +193,7 @@
        
     class BuoyMouseMenu(vob.mouse.MouseClickListener):
        def clicked(self, x, y):
-           buoymanager = context.states.buoymanager
+           buoymanager = fenPDF.views.getBuoyManager()
            p('hit',buoymanager.buoyHit)
            fenPDF.uistate.menu.originateFromBuoy(buoymanager.buoyHit)
            context.mousemenu.showList(x,y, 'buoymenu')
@@ -202,7 +202,7 @@
 
     class BuoyFollowClick(vob.mouse.MouseClickListener):
        def clicked(self, x,y):
-           buoymanager = context.states.buoymanager
+           buoymanager = fenPDF.views.getBuoyManager()
            p('hit',buoymanager.buoyHit, buoymanager.buoyHit.single)
            buoymanager.buoyHit.single.followLink(buoymanager.buoyHit.link)
            fenPDF.animation.regenerateVS()
Index: fenfire/org/fenfire/fenpdf/appearance/papers.py
diff -u fenfire/org/fenfire/fenpdf/appearance/papers.py:1.1 
fenfire/org/fenfire/fenpdf/appearance/papers.py:1.2
--- fenfire/org/fenfire/fenpdf/appearance/papers.py:1.1 Wed Aug 20 12:34:33 2003
+++ fenfire/org/fenfire/fenpdf/appearance/papers.py     Mon Aug 25 05:28:51 2003
@@ -1,20 +1,73 @@
 # (c) Tuomas J. Lukka
 
+import java
+import vob
 from org import fenfire as ff
 
+dbg = 1
+
+def p(*s):
+    print 'ff.fenpdf.appearance.papers::', s
+
+class ConstantPaperMill(vob.gl.PaperMill):
+    def __init__(self, paper):
+       self.paper = paper
+    def getPaper(self, seed):
+       return self.paper
+
 class Papers:
     """Encapsulate the selection of background drawing methods.
     """
-    def __init__(self):
+    def __init__(self, fenPDF):
+       self.fenPDF = fenPDF
+
+       self.useBg = 1
+       self.fancyPaperMakerIndex = 0
+       self.whitePaperMakerIndex = 0
+
        self.update()
 
+    def toggleBg(self, useBg = -1):
+       """Toggle (or set) whether to use background textures.
+       """
+       if useBg == -1:
+           self.useBg = not self.useBg
+       else:
+           self.useBg = useBg
+
+       self.fenPDF.views.update()
+       
+    def adjustPaperMakerIndex(self, delta):
+       if self.useBg:
+           self.whitePaperMakerIndex += delta
+           self.whitePaperMakerIndex %= \
+               len(ff.spanimages.gl.papermakers.whitePaperMakers)
+       else:
+           self.fancyPaperMakerIndex += delta
+           self.fancyPaperMakerIndex %= \
+               len(ff.spanimages.gl.papermakers.fancyPaperMakers)
+
+
     def update(self):
        self.spanImageFactory = ff.spanimages.gl.DefaultSpanImageFactory(
            ff.spanimages.gl.PageScrollBlockImager())
-       self.spanImageFactory.paperMaker = 
ff.spanimages.gl.papermakers.fancyBlur()
+       if self.useBg:
+           paperMaker = ff.spanimages.gl.papermakers.fancyPaperMakers[
+               self.fancyPaperMakerIndex][0]()
+       else:
+           paperMaker = ff.spanimages.gl.papermakers.whitePaperMakers[
+               self.whitePaperMakerIndex][0]()
+
+       self.spanImageFactory.paperMaker = paperMaker
 
     def getSpanImageFactory(self):
        return self.spanImageFactory
 
     def decorateWithPaperView(self, view2d):
-       return ff.view.PaperView2D(view2d)
+       paperView = ff.view.PaperView2D(view2d)
+       p("decorateWithPaperView", self.useBg)
+       if not self.useBg:
+           paperView.paperMill = \
+               ConstantPaperMill(vob.gl.SpecialPapers.solidPaper(
+                   java.awt.Color.white))
+       return paperView
Index: fenfire/org/fenfire/fenpdf/appearance/views.py
diff -u fenfire/org/fenfire/fenpdf/appearance/views.py:1.10 
fenfire/org/fenfire/fenpdf/appearance/views.py:1.11
--- fenfire/org/fenfire/fenpdf/appearance/views.py:1.10 Mon Aug 25 03:02:25 2003
+++ fenfire/org/fenfire/fenpdf/appearance/views.py      Mon Aug 25 05:28:52 2003
@@ -33,6 +33,7 @@
        self.update()
 
     def update(self):
+       self.papers.update()
        # XXX Figure out get & create stuffs
 
        self.multiplexerNodeFunction = 
self.createMultiplexerNodeContentFunction()
Index: fenfire/org/fenfire/fenpdf/events/eventhandler.py
diff -u fenfire/org/fenfire/fenpdf/events/eventhandler.py:1.5 
fenfire/org/fenfire/fenpdf/events/eventhandler.py:1.6
--- fenfire/org/fenfire/fenpdf/events/eventhandler.py:1.5       Mon Aug 25 
03:02:25 2003
+++ fenfire/org/fenfire/fenpdf/events/eventhandler.py   Mon Aug 25 05:28:52 2003
@@ -150,7 +150,7 @@
 
     def key(self, key):
        self.fenPDF.events.key.key(key, 
-                       self.context.states.buoymanager.getLastMain())
+           self.fenPDF.views.getBuoyManager().getLastMain())
         vob.AbstractUpdateManager.chg()
         return 1
 
Index: fenfire/org/fenfire/fenpdf/fenpdfcontext.py
diff -u fenfire/org/fenfire/fenpdf/fenpdfcontext.py:1.26 
fenfire/org/fenfire/fenpdf/fenpdfcontext.py:1.27
--- fenfire/org/fenfire/fenpdf/fenpdfcontext.py:1.26    Sun Aug 24 08:06:01 2003
+++ fenfire/org/fenfire/fenpdf/fenpdfcontext.py Mon Aug 25 05:28:50 2003
@@ -82,8 +82,6 @@
         self.fen = fen
         self.pageview = None
 
-        # buoymanager, set with setBuoymanager()
-        self.buoymanager = None
 
         # main view mouse multiplexer
         self.mainMouse = None
@@ -112,9 +110,6 @@
        self.filename = filename
         
         
-    def setBuoyManager(self, manager):
-        self.states.buoymanager = manager
-        
 
     # call back from AbstractMainNode2D
     def changeFastAfterMouseEvent(self):
@@ -129,7 +124,7 @@
         #self.super.mainNodeToBeRender(vs, into, main)
 
         # draw cursor
-        if not self.states.cursor.hasAccursed() and main == 
self.states.buoymanager.getLastMain():
+        if not self.states.cursor.hasAccursed() and main == 
self.fenPDF.views.getBuoyManager().getLastMain():
             tmp = jarray.zeros(2, 'f')
             vs.coords.getSqSize(into, tmp)
            cursorCS = vs.orthoBoxCS(into, "CURSOR", 0,
Index: fenfire/org/fenfire/view/PaperView2D.java
diff -u fenfire/org/fenfire/view/PaperView2D.java:1.18 
fenfire/org/fenfire/view/PaperView2D.java:1.19
--- fenfire/org/fenfire/view/PaperView2D.java:1.18      Wed Aug 20 12:34:33 2003
+++ fenfire/org/fenfire/view/PaperView2D.java   Mon Aug 25 05:28:53 2003
@@ -36,7 +36,7 @@
  * this other view is rendered on top of the paper.
  */
 public class PaperView2D extends View2D {
-public static final String rcsid = "$Id: PaperView2D.java,v 1.18 2003/08/20 
16:34:33 tjl Exp $";
+public static final String rcsid = "$Id: PaperView2D.java,v 1.19 2003/08/25 
09:28:53 tjl Exp $";
     public static boolean dbg = false;
     private static void pa(String s) { System.out.println("PaperView2D::"+s); }
 
@@ -44,7 +44,7 @@
     public float dicefactor = 1;
     public int flags = 0;
 
-    public float paperScaling = 1; // 1/200f;
+    public float paperScaling = .5; // 1/200f;
 
     public View2D getChildView2D() { return child; }
     protected View2D child;




reply via email to

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