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


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz ./TODO gfx/demo/xupdf.py
Date: Wed, 02 Oct 2002 03:07:37 -0400

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        02/10/02 03:07:37

Modified files:
        .              : TODO 
        gfx/demo       : xupdf.py 

Log message:
        xupdf coordinate inverse transform WORKS\!\!. Only in the zoomed ('z', 
only one paper visible) view, but easy to port. Really simple code, too.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/TODO.diff?tr1=1.214&tr2=1.215&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/xupdf.py.diff?tr1=1.34&tr2=1.35&r1=text&r2=text

Patches:
Index: gzz/TODO
diff -c gzz/TODO:1.214 gzz/TODO:1.215
*** gzz/TODO:1.214      Wed Oct  2 02:50:49 2002
--- gzz/TODO    Wed Oct  2 03:07:37 2002
***************
*** 58,65 ****
          caching problems.
      tjl:
        - xupdf: distorted multi-page PDF view with xu links
-           - mouse click positioning in distorted cs: get
-             position on paper, move there
            - text
            - entry / link making bindings
                - paint part of page
--- 58,63 ----
Index: gzz/gfx/demo/xupdf.py
diff -c gzz/gfx/demo/xupdf.py:1.34 gzz/gfx/demo/xupdf.py:1.35
*** gzz/gfx/demo/xupdf.py:1.34  Mon Sep 30 08:06:18 2002
--- gzz/gfx/demo/xupdf.py       Wed Oct  2 03:07:37 2002
***************
*** 3,8 ****
--- 3,10 ----
  from gzz.gfx.gl import Stencil
  from gzz.vob.buoy import NadirAngler
  
+ from jarray import array, zeros
+ 
  from gzz.view import pagespanview
  from gfx.libutil import effects
  reload(pagespanview)
***************
*** 339,348 ****
      def mouse(self, ev):
        global globalx, globaly
        if ev.getID() == ev.MOUSE_CLICKED:
!           scale = 1.0 / screensize[1]
!           globalx += (ev.getX() - screensize[0]/2) * scale
            # self.y -= ev.getY() - screensize[1]/2
!           globaly = ev.getY() * scale
            checkGlobalCoords()
            print "Mouse ",globalx, globaly
            AbstractUpdateManager.chg()
--- 341,360 ----
      def mouse(self, ev):
        global globalx, globaly
        if ev.getID() == ev.MOUSE_CLICKED:
!           # scale = 1.0 / screensize[1]
!           # globalx += (ev.getX() - screensize[0]/2) * scale
            # self.y -= ev.getY() - screensize[1]/2
!           # globaly = ev.getY() * scale
! 
!           # Try a real inverse transform
!           point = array([ev.getX(), ev.getY(), 0], 'f')
!           src = zeros(len(point), 'f')
!           self.currentvs.coords.inverseTransformPoints3(
!               self.papercs, point, src)
! 
!           globalx = src[0]
!           globaly = src[1]
!           print "Mouse ret",point, src
            checkGlobalCoords()
            print "Mouse ",globalx, globaly
            AbstractUpdateManager.chg()
***************
*** 368,375 ****
            extrax = 1
            extray = 0.3
            clip = (0-extrax, -extray, w+extrax, 1+extray)
!       globalview.placepapers(vs, cs1_trans, cliprect = clip, showTessel = 
globalshowtessel,
            fancy = globalusefancypaper)
                    
  
  currentScene = XuPDFScene_PDFContext()
--- 380,391 ----
            extrax = 1
            extray = 0.3
            clip = (0-extrax, -extray, w+extrax, 1+extray)
! 
!       globalview.placepapers(vs, cs1_trans, cliprect = clip, 
!           showTessel = globalshowtessel,
            fancy = globalusefancypaper)
+       self.currentvs = vs
+       self.papercs = cs1_trans
                    
  
  currentScene = XuPDFScene_PDFContext()




reply via email to

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