gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] gzz ./TODO gfx/demo/xupdf.py gzz/gfx/gl/GLSpann...


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz ./TODO gfx/demo/xupdf.py gzz/gfx/gl/GLSpann...
Date: Fri, 24 Jan 2003 04:09:31 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        03/01/24 04:09:30

Modified files:
        .              : TODO 
        gfx/demo       : xupdf.py 
        gzz/gfx/gl     : GLSpanner.java GLUtil.java MipzipLoader.java 
        gzz/mem        : MemoryPartitioner.java 
        gzz/util       : Background.java 
        gzz/view       : pagespanview.py xubuoy.py 

Log message:
        Xupdf updates; mipzip now seems to work a little better

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/TODO.diff?tr1=1.530&tr2=1.531&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/xupdf.py.diff?tr1=1.58&tr2=1.59&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/gfx/gl/GLSpanner.java.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/gfx/gl/GLUtil.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/gfx/gl/MipzipLoader.java.diff?tr1=1.15&tr2=1.16&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/mem/MemoryPartitioner.java.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/util/Background.java.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/view/pagespanview.py.diff?tr1=1.25&tr2=1.26&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/view/xubuoy.py.diff?tr1=1.43&tr2=1.44&r1=text&r2=text

Patches:
Index: gzz/TODO
diff -u gzz/TODO:1.530 gzz/TODO:1.531
--- gzz/TODO:1.530      Thu Jan 23 16:29:29 2003
+++ gzz/TODO    Fri Jan 24 04:09:30 2003
@@ -153,6 +153,7 @@
          should be a LOT faster to load.
     humppake:
        - umltool paper dl 15.2., but should actually be done in the late Jan
+       - use drawRoughEdge for focus
        - make pegboard to be only a directive, when all reST could be
           compiled using $(JYTHON) metacode/umldoc.py `find doc -name "*.rst"`
        - enhancing umltool
@@ -255,6 +256,11 @@
          color really is right)
     tjl:
        - xupdf: distorted multi-page PDF view with xu links
+           - change memorypartitioner focus scale:  0..1 is not good,
+             should be 0..2, where 0..1 as now, 1..2 = things that are so
+             close to focus that they should be loaded at highest res.
+             if possible, if not, prioritize them.
+
            - overall goal: USEFUL when article writing starts
            - structure editing
            - multiple instances of same cell visible as a buoy --> keys?
@@ -263,9 +269,8 @@
            + adjustable zoom / distortion area by mouse
            + joystick?
            - use off-screen buffer for libpaper r2t
-       - implement AbstractUpdateManager.chgAfter
-       - create an additional focus object into umltool; "a teared
-          round edge around focused object"
+           - use background loading for paper textures
+               - generate mipzips
        - matrix inv!
        - vobmatcher keymapping to work in both directions
        - PEG move Obs to gzz.util, freeze some gzz.util classes
@@ -297,6 +302,7 @@
            + merge !!!
        - shape transformation & dicing framework
        + soft shadows
+           - use ATI fragment programs
        + motion: grab & drag, not click & slide
            - but paint for select?
            - GRABBING BUOYS ?!!!
Index: gzz/gfx/demo/xupdf.py
diff -u gzz/gfx/demo/xupdf.py:1.58 gzz/gfx/demo/xupdf.py:1.59
--- gzz/gfx/demo/xupdf.py:1.58  Thu Dec 12 13:39:29 2002
+++ gzz/gfx/demo/xupdf.py       Fri Jan 24 04:09:30 2003
@@ -19,7 +19,7 @@
 
 
 # Slow animation for the demo.
-AbstractUpdateManager.defaultAnimationTime = 3000
+AbstractUpdateManager.defaultAnimationTime = 2000
 AbstractUpdateManager.fractCalc = AbstractUpdateManager.LinearCalculator()
 
 from test.tools import tools
Index: gzz/gzz/gfx/gl/GLSpanner.java
diff -u gzz/gzz/gfx/gl/GLSpanner.java:1.5 gzz/gzz/gfx/gl/GLSpanner.java:1.6
--- gzz/gzz/gfx/gl/GLSpanner.java:1.5   Thu Jan 23 11:06:30 2003
+++ gzz/gzz/gfx/gl/GLSpanner.java       Fri Jan 24 04:09:30 2003
@@ -13,6 +13,9 @@
 import gzz.util.ImageSize;
 import gzz.util.ZZLogger;
 
+/** A static class, superceding GLSpans, for loading Image spans into OpenGL 
+ * textures.
+ */
 public class GLSpanner {
     public static boolean dbg = false;
     private static void pa(String s) { System.err.println(s); }
Index: gzz/gzz/gfx/gl/GLUtil.java
diff -u gzz/gzz/gfx/gl/GLUtil.java:1.2 gzz/gzz/gfx/gl/GLUtil.java:1.3
--- gzz/gzz/gfx/gl/GLUtil.java:1.2      Mon Jan 20 09:22:57 2003
+++ gzz/gzz/gfx/gl/GLUtil.java  Fri Jan 24 04:09:30 2003
@@ -16,13 +16,19 @@
      * This method takes the drastic approach: delete the
      * texture and then teximage it again.
      * <p>
-     * The texture parameters are not touched.
+     * The texture parameters are not touched, except that
+     * BASE_LEVEL and .
+     * <p>
+     * This MIGHT have now gotten fixed with the realization that
+     * we should always keep so many levels of the texture
+     * that both width and height are greater than 1 - not sure though.
      */
     static public void reloadCompressed(GL.Texture tex, int start, int end) {
        if(dbg) pa("Reload "+tex+" "+start+" "+end);
        String texformat = null;
        int[] sizes = new int[end*2];
        byte[][] backup = new byte[end][];
+       if(dbg) pa("ch: "+checkMipmap(tex));
        for(int i=start; i<end; i++) {
            sizes[2*i] = (int)tex.getLevelParameter(i, 
                                "TEXTURE_WIDTH")[0];
Index: gzz/gzz/gfx/gl/MipzipLoader.java
diff -u gzz/gzz/gfx/gl/MipzipLoader.java:1.15 
gzz/gzz/gfx/gl/MipzipLoader.java:1.16
--- gzz/gzz/gfx/gl/MipzipLoader.java:1.15       Mon Jan 20 09:22:57 2003
+++ gzz/gzz/gfx/gl/MipzipLoader.java    Fri Jan 24 04:09:30 2003
@@ -20,9 +20,23 @@
     public static boolean dbg = false;
     final static void pa(String s) { System.out.println(s); }
 
+    /** I have a hunch that zlib might not be re-entrant
+     * and that that would be causing our problems,
+     * since loading a level synchronously
+     * at the beginning mixed everything.
+     */
+    private static Object zlibLock = new Object();
+
     private int goalBaseLevel = -15;
     private int currentBaseLevel = 1000;
 
+    /** The base level will never be set higher than this.
+     * Apparently, the NV driver prefers to have more than one
+     * mipmap level loaded in the beginning, possibly
+     * because of the array shape?
+     */
+    private int maxBaseLevel;
+
     private Background bg = null;
     private float priority = 0;
 
@@ -57,8 +71,8 @@
     }
 
     synchronized private byte[] readEntry(String name) throws IOException {
-       ZipFile f = getZipFile();
-       synchronized(f) {
+       synchronized(zlibLock) {
+           ZipFile f = getZipFile();
            ZipEntry e = f.getEntry(name);
            byte[] loadedData = new byte[(int)e.getSize()];
            InputStream i = f.getInputStream(e);
@@ -143,8 +157,10 @@
                        " "+state);
            switch(state) {
            case STATE_INTEXTURE:
+               /*
                tex.loadNull2D(level, texFormat, 
                        4, 2, 0, "RGB", "FLOAT");
+               */
            case STATE_DATALOADED:
                loadedData = null;
            }
@@ -187,18 +203,15 @@
        currentBaseLevel = level;
     }
 
-    /** Set the base level synchronously: load or discard.
+    /** Load to the base level synchronously: no discards.
      * @param level The base level: the lowest-detail level to be loaded
      */
     synchronized public void loadToBaseLevelSynch(int level) throws 
IOException {
-       for(int i=0; i<level; i++) {
-           levels[i].discard(); // XXX fix
-       }
+       setBaseLevel(level);
        for(int i=level; i<levels.length; i++) {
            levels[i].loadData();
            levels[i].texImage();
        }
-       setBaseLevel(level);
     }
 
     /** Set the base level goal for
@@ -214,7 +227,7 @@
     synchronized public void setGoalBaseLevel(int level,
                                Background bg, float priority) {
        if(level < 0) level = 0;
-       if(level >= levels.length-1) level = levels.length-1;
+       if(level >= maxBaseLevel) level = maxBaseLevel;
        if(level != goalBaseLevel || level != currentBaseLevel) {
            if(dbg) pa("MipzipLoader "+this+" goal "+level+
                            " now at "+currentBaseLevel);
@@ -248,7 +261,6 @@
                    levels[i].loadData();
                    AbstractUpdateManager.doWhenIdle( 
                            levels[i], priority - 10 - .1f * i);
-                   // AbstractUpdateManager.chg();
                    priority += .05;
                    bg.addTask(r_runBg, priority);
                } catch(IOException e) {
@@ -284,8 +296,13 @@
                }
                for(int j=0; j<goalBaseLevel; j++)
                    levels[j].wasDiscarded();
+
                GLUtil.reloadCompressed(tex, 
                            goalBaseLevel, levels.length);
+               if(currentBaseLevel < goalBaseLevel)
+                   setBaseLevel(goalBaseLevel);
+               else
+                   setBaseLevel(currentBaseLevel); // need to set always after 
reloadCompressed
                break;
 
            }
@@ -305,7 +322,7 @@
            boolean wasGreater = currentBaseLevel > i+1;
            setBaseLevel(i+1);
            if(wasGreater)
-               AbstractUpdateManager.chg();
+               AbstractUpdateManager.chgAfter(100);
            return;
        }
     }
@@ -397,30 +414,33 @@
     }
 
     /** Create a new MipzipLoader for the given mipzip file.
+     * Must be run in the GL thread.
      */
     public MipzipLoader(File mipzipFile) throws IOException {
        this.mipzipFile = mipzipFile;
        this.tex = GL.createTexture();
-       ZipFile f = getZipFile();
-       if(dbg) {
-           pa("Creating new mipzip loader: "+mipzipFile);
-           for(Enumeration e = f.entries(); e.hasMoreElements(); ) {
-               pa("Entry: " + e.nextElement());
+       synchronized(zlibLock) {
+           ZipFile f = getZipFile();
+           if(dbg) {
+               pa("Creating new mipzip loader: "+mipzipFile);
+               for(Enumeration e = f.entries(); e.hasMoreElements(); ) {
+                   pa("Entry: " + e.nextElement());
+               }
+           }
+           ZipEntry e = f.getEntry("texformat");
+           if(e == null) throw new IOException("Invalid format: no texformat 
in mipzip");
+           this.texFormat = e.getComment();
+           ArrayList l = new ArrayList();
+           for(int i=0; i<100; i++) {
+               e = f.getEntry(""+i);
+               if(e == null) break;
+               l.add(new Level(i, e.getComment()));
+           }
+           levels = (Level[])l.toArray(new Level[l.size()]);
+           if( levels[levels.length-1].size.width != 1 ||
+               levels[levels.length-1].size.height != 1 ) {
+               throw new IOException("Not all levels there!");
            }
-       }
-       ZipEntry e = f.getEntry("texformat");
-       if(e == null) throw new IOException("Invalid format: no texformat in 
mipzip");
-       this.texFormat = e.getComment();
-       ArrayList l = new ArrayList();
-       for(int i=0; i<100; i++) {
-           e = f.getEntry(""+i);
-           if(e == null) break;
-           l.add(new Level(i, e.getComment()));
-       }
-       levels = (Level[])l.toArray(new Level[l.size()]);
-       if( levels[levels.length-1].size.width != 1 ||
-           levels[levels.length-1].size.height != 1 ) {
-           throw new IOException("Not all levels there!");
        }
        bitsPerTexel = GL.bitsPerTexel(texFormat);
        if(bitsPerTexel < 0) {
@@ -428,7 +448,9 @@
                        texFormat+" not known, assuming 32bpt");
            bitsPerTexel = 32; 
        }
-       currentBaseLevel = levels.length;
+       maxBaseLevel = levels.length - 3;
+       if(maxBaseLevel < 0) maxBaseLevel = 0;
+       loadToBaseLevelSynch(maxBaseLevel);
     }
 
     public String toString() {
Index: gzz/gzz/mem/MemoryPartitioner.java
diff -u gzz/gzz/mem/MemoryPartitioner.java:1.13 
gzz/gzz/mem/MemoryPartitioner.java:1.14
--- gzz/gzz/mem/MemoryPartitioner.java:1.13     Mon Jan 20 12:53:01 2003
+++ gzz/gzz/mem/MemoryPartitioner.java  Fri Jan 24 04:09:30 2003
@@ -173,6 +173,7 @@
                    // AbstractUpdateManager.chg();
                    if(dbg) pa("rerated, sleeping");
                    Thread.sleep(250);
+               } catch(ConcurrentModificationException e) { 
                } catch(Exception e) { 
                    ZZLogger.exc(e, "gzz.mem.MemoryPartitioner thread!");
                }
Index: gzz/gzz/util/Background.java
diff -u gzz/gzz/util/Background.java:1.5 gzz/gzz/util/Background.java:1.6
--- gzz/gzz/util/Background.java:1.5    Sat Jan 18 10:18:21 2003
+++ gzz/gzz/util/Background.java        Fri Jan 24 04:09:30 2003
@@ -92,8 +92,8 @@
 
     {
        bgThread.setDaemon(true);
-       bgThread.start();
        bgThread.setPriority(Thread.MIN_PRIORITY);
+       bgThread.start();
     }
 
     private static Background defaultInstance = null;
Index: gzz/gzz/view/pagespanview.py
diff -u gzz/gzz/view/pagespanview.py:1.25 gzz/gzz/view/pagespanview.py:1.26
--- gzz/gzz/view/pagespanview.py:1.25   Mon Jan 20 12:53:01 2003
+++ gzz/gzz/view/pagespanview.py        Fri Jan 24 04:09:30 2003
@@ -7,6 +7,8 @@
 import java
 from jarray import zeros
 
+dbg = 0
+
 reload(gfx.libpaper.papermill)
 
 papermill = gfx.libpaper.papermill.ThePaperMill()
@@ -42,7 +44,7 @@
 class PDFPage:
     def __init__(self, span, scrollblockPaper):
        self.rect = GLSpanner.getSpanRect(span)
-       print "Rect: ",self.rect
+       if dbg: print "Rect: ",self.rect
        (self.paperwhite, self.w, self.h, self.paperwithbg) = pdfpaper(span, 
self.rect, scrollblockPaper) 
 
 def getPDFPapers(content):
@@ -92,7 +94,7 @@
        
     """ % locals()
 
-    print "Texcode: ",texcode
+    if dbg: print "Texcode: ",texcode
 
     def mpap_general(blend, pap = None):
        if pap == None:
@@ -153,31 +155,20 @@
                Disable ALPHA_TEST
 
                Enable REGISTER_COMBINERS_NV
-               CombinerParameterNV NUM_GENERAL_COMBINERS_NV 2
+               CombinerParameterNV CONSTANT_COLOR0_NV 0 0 0 0
+               CombinerParameterNV CONSTANT_COLOR1_NV 0 0 0 .7
+
+               """ % locals() +
+               nvcode.parseCombiner("""
+
+                   SPARE0 = (1-TEX1) + (-CONST0.alpha)
+
+                   SPARE0 = (-SPARE0)*CONST1.alpha + (.5)*(+TEX0)
+
+                   color = SPARE0 + SPARE0
+                   alpha = 1
+               """)))
 
-               # 2*tex1 - 1  ->  spare0
-               CI0 RGB A TEXTURE1 EXPAND_NORMAL_NV RGB
-               CI0 RGB B ZERO UNSIGNED_INVERT_NV RGB
-               CI0 RGB C ZERO UNSIGNED_INVERT_NV RGB
-               CI0 RGB D ZERO EXPAND_NORMAL_NV RGB
-               CO0 RGB DISCARD_NV DISCARD_NV SPARE0_NV NONE NONE FALSE FALSE 
FALSE
-
-               # spare0 + tex0 -> spare1
-               CI1 RGB A TEXTURE0 UNSIGNED_IDENTITY_NV RGB
-               CI1 RGB B ZERO UNSIGNED_INVERT_NV RGB
-               CI1 RGB C SPARE0_NV SIGNED_IDENTITY_NV RGB
-               CI1 RGB D ZERO UNSIGNED_INVERT_NV RGB
-               CO1 RGB DISCARD_NV DISCARD_NV SPARE1_NV NONE NONE FALSE FALSE 
FALSE
-
-               FCI A SPARE1_NV UNSIGNED_IDENTITY_NV RGB
-               FCI B ZERO UNSIGNED_INVERT_NV RGB
-               FCI C ZERO UNSIGNED_IDENTITY_NV RGB
-               FCI D ZERO UNSIGNED_IDENTITY_NV RGB
-               FCI G ZERO UNSIGNED_IDENTITY_NV ALPHA
-
-               # Final color: simply just SPARE1
-           
-           """ % locals()))
            ppass.setNTexGens(2)
            ppass.putNormalTexGen(1, [wm, 0, 0, pdfrect.x0,
                                      0, hm, 0, pdfrect.y0,
@@ -189,23 +180,7 @@
 
 
     papw = mpap("BlendFunc SRC_COLOR ZERO")
-    papo = mpap(nvcode.combinercode("""
-       Enable REGISTER_COMBINERS_NV
-       CombinerParameterNV NUM_GENERAL_COMBINERS_NV 1
-
-       CI0 RGB A TEXTURE0 EXPAND_NEGATE_NV RGB
-       CI0 RGB B ZERO UNSIGNED_INVERT_NV RGB
-       CI0 RGB C ZERO UNSIGNED_INVERT_NV RGB
-       CI0 RGB D ZERO UNSIGNED_INVERT_NV RGB
-       CO0 RGB DISCARD_NV DISCARD_NV SPARE0_NV NONE NONE FALSE FALSE FALSE
-       FCI A SPARE0_NV UNSIGNED_IDENTITY_NV RGB
-       FCI B ZERO UNSIGNED_INVERT_NV RGB
-       FCI C ZERO UNSIGNED_IDENTITY_NV RGB
-       FCI D ZERO UNSIGNED_IDENTITY_NV RGB
-       FCI G ZERO UNSIGNED_IDENTITY_NV ALPHA
-       BlendFunc ONE ONE
-       BlendEquation FUNC_REVERSE_SUBTRACT
-    """), pap = background.clone())
+    papo = mpap("", pap = background.clone())
     return (papw, pw, ph, papo)
 
 
@@ -219,7 +194,7 @@
         self.black = GLCache.getCallList("Color 0 0 0")
        self.cell = cell
        self.content = cell.space.cellTexter.getEnfilade(cell, None)
-       print "Cell content: ",self.content.toString()
+       if dbg: print "Cell content: ",self.content.toString()
        self.pap = getPDFPapers(self.content)
        self.irregu = effects.IrreguFrame(
           0, 0, self.pap[0].w / self.pap[0].h * len(self.pap), 1,
@@ -232,7 +207,7 @@
 
        self.scaledsheetsize = (self.pap[0].w * self.scale, self.pap[0].h * 
self.scale)
        self.scaledsize = (len(self.pap) * self.scaledsheetsize[0], 
self.scaledsheetsize[1])
-       print "Scaledsize: ",self.scaledsheetsize
+       if dbg: print "Scaledsize: ",self.scaledsheetsize
     # Height = always 1.
     # Start = always (0,0)
     def placepapers(self, vs, 
@@ -240,7 +215,7 @@
                    cliprect = None,
                    fancy = 1,
                    showTessel = 0):
-       print "Placepapers: ", self.papersize, self.scaledsheetsize, 
self.scaledsize, "pages: ",len(self.pap)
+       if dbg: print "Placepapers: ", self.papersize, self.scaledsheetsize, 
self.scaledsize, "pages: ",len(self.pap)
        self.papercoordsys = cs1into
        self.cliprect = cliprect
        key = self.cell.getId()
@@ -359,7 +334,7 @@
 
     def reqTextures(self, x, y, all=0, importance = 1):
        (page, px, py) = self.paperpoint_inv(x, y)
-       print "Request page ",page
+       if dbg: print "Request page ",page
        self.pap[page].rect.getTexture(importance, 4000)
        if all:
            for i in range(0, len(self.pap)):
@@ -372,7 +347,7 @@
        coords.inverseTransformPoints3(self.papercoordsys, point3, src)
        x = src[0]
        y = src[1]
-       print "hitclip: ",point3, src, x, y
+       if dbg: print "hitclip: ",point3, src, x, y
        if not cliprect:
            cliprect = (0, 0, self.scaledsize, 1)
        if cliprect[0] < x < cliprect[2] and cliprect[1] < y < cliprect[3]:
Index: gzz/gzz/view/xubuoy.py
diff -u gzz/gzz/view/xubuoy.py:1.43 gzz/gzz/view/xubuoy.py:1.44
--- gzz/gzz/view/xubuoy.py:1.43 Mon Jan 20 12:53:01 2003
+++ gzz/gzz/view/xubuoy.py      Fri Jan 24 04:09:30 2003
@@ -13,6 +13,7 @@
 from gzz.view import pagespanview
 reload(pagespanview)
 
+dbg = 0
 
 from gfx.libutil import effects
 
@@ -146,7 +147,7 @@
            self.cell = None
            return
        m = l[0]
-       print m
+       if dbg: print m
        self.cell = m
         if ispdf(self.cell):
            self.view = getCellPDFView(self.cell)
@@ -246,7 +247,7 @@
        vs.matcher.add(main_end_cs, "link"+str(self.link)+str(self.linkindex))
        vs.matcher.add(link_end_cs, "link"+str(self.link)+str(1-self.linkindex))
 
-       print "lineconn!"
+       if dbg: print "lineconn!"
        vs.map.put(GLCache.getCallList("""
            PushAttrib ENABLE_BIT LINE_BIT
            Disable TEXTURE_2D
@@ -383,7 +384,7 @@
            AbstractUpdateManager.chg()
         elif key == 'm':
             if not self.corner1: return
-            print "Mark: %s; %s" % (self.corner1, self.corner2)
+            if dbg: print "Mark: %s; %s" % (self.corner1, self.corner2)
             
             enf = self.getCurrentEnfilade()
             mark = gzz.view.Mark(self.cursor, enf)
@@ -399,7 +400,7 @@
             if not self.corner1: return 1
             enf = self.getCurrentEnfilade()
             binder = self.win.getFallback().binder
-            print "Enfilade is", enf
+            if dbg: print "Enfilade is", enf
             if key == 'Ctrl-L':
                 binder.makeLink(1, enf)
             else:
@@ -477,11 +478,11 @@
             maxx, maxy = self.view.scaledsheetsize
             page = int(random() * len(self.view.pap))
             pagex = maxx * page
-            print "Paper size: %s" % ((maxx, maxy),)
+            if dbg: print "Paper size: %s" % ((maxx, maxy),)
             self.corner1 = (pagex + random() * maxx, random() * maxy)
             self.corner2 = (pagex + random() * maxx, random() * maxy)
             self.select()
-            print "Random selection: %s; %s" % (self.corner1, self.corner2)
+            if dbg: print "Random selection: %s; %s" % (self.corner1, 
self.corner2)
        elif key == 'f': # Change filter
            rotatelist(filters)
            pagespanview.setFilters(filters[0])
@@ -508,14 +509,14 @@
                 w = int(max(c1[1], c2[1]) - x)
                 y = int(min(c1[2], c2[2]))
                 h = int(max(c1[2], c2[2]) - y)
-                print "Area:", (page, page+1, x, y, w, h)
+                if dbg: print "Area:", (page, page+1, x, y, w, h)
                 span = self.span.subArea(page, page+1, x, y, w, h)
             else:
                 p0 = min(c1[0], c2[0])
                 p1 = max(c1[0], c2[0])
                 span = self.span.subSpan(p0, p1+1)
                 
-            print "Marking span: %s" % (span,)
+            if dbg: print "Marking span: %s" % (span,)
                 
             space = self.cursor.space
             enf = space.getCellTexter().getEnfilade(self.cursor, None)
@@ -538,7 +539,7 @@
            for b in self.buoys:
                h = b.hit(self.currentvs.coords, point)
                if h:
-                   print "BUOY HIT!\n"
+                   if dbg: print "BUOY HIT!\n"
                    global globalx, globaly
                    globalx, globaly = h[0], h[1]
                    if self.win:
@@ -548,12 +549,12 @@
                    return
            h = self.view.hitClip(self.currentvs.coords, point, None)
            if h:
-               print "Move to ",globalx, globaly
+               if dbg: print "Move to ",globalx, globaly
                globalx,globaly = h
            else:
-               print "Didn't hit anything"
+               if dbg: print "Didn't hit anything"
            self.checkGlobalCoords()
-           print "Mouse ",globalx, globaly
+           if dbg: print "Mouse ",globalx, globaly
            AbstractUpdateManager.chg()
        elif ev.getID() == ev.MOUSE_PRESSED:
            self.pressx = ev.getX()
@@ -572,7 +573,7 @@
            self.corner2 = (dst[0], dst[1])
             self.select()
        else:
-           print "Unused mouse: ",ev
+           if dbg: print "Unused mouse: ",ev
            
             
     def select(self):
@@ -614,7 +615,7 @@
        globalforw = xuindexer.getForwardIndex().getMatches(content)
        globalback = xuindexer.getBackwardIndex().getMatches(content)
 
-       print "Xu: ",globalforw,globalback
+       if dbg: print "Xu: ",globalforw,globalback
 
        java.lang.System.gc()
         if redraw:
@@ -666,7 +667,7 @@
        eye = self.modes[0].eye
        mag = (self.modes[0].mag[0] * sheight,
                self.modes[0].mag[1] * sheight)
-       print "MAG: ",mag, eye
+       if dbg: print "MAG: ",mag, eye
        cs1_zoom= vs.coords.distort(cs1, 0, focusy_at, 
            eye, eye, *mag)
        vs.matcher.add(cs1_zoom, self.cursor.getId()+"__bulg") 




reply via email to

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