/[gzz]/gzz/gfx/demo/paper/singlepaper.py
ViewVC logotype

Diff of /gzz/gfx/demo/paper/singlepaper.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by tjl, Fri Dec 20 16:00:21 2002 UTC revision 1.6 by tjl, Sun Dec 29 20:33:12 2002 UTC
# Line 2  from __future__ import nested_scopes Line 2  from __future__ import nested_scopes
2  from util import *  from util import *
3  from gfx.util.misc import *  from gfx.util.misc import *
4  import re  import re
   
 class Scene:  
     """Shows a single unique background texture at a time.  
   
     """  
     def __init__(self):  
         self.bgcolor = (0.7, 0.8, 0.6)  
   
         self.seed = 0  
         self.pq = None  
           
         self.optimized = ["not", "opt", "both"]  
   
         print "Paper2scene, keys = ",keys  
         self.key = KeyPresses(self,  
 Action("Choose random seed", "v", self.randomize, noAnimation=1),  
 Action("Edit seed number", re.compile("[0-9]|Back[sS]pace"),  
                                 self.__class__.editSeed, noAnimation=1),  
             *keys  
             )  
   
     def randomize(self, *args):  
         self.seed = rng.nextInt(2000000000)  
         self.initpaper()  
   
     def editSeed(self,k):  
         if k >= "0" and k <= "9": self.seed = self.seed * 10 + int(k)  
         if k == "BackSpace" or k == "Backspace": self.seed = self.seed / 10  
         self.initpaper()  
   
     def initpaper(self):  
         self.pq = getpaper(self.seed)  
         self.opq = getpaper(self.seed, optimized = 1)  
   
     def OLDkey(self, k):  
         oldseed = self.seed  
         if k == 'o':  
             rotatelist(self.optimized)  
   
         if oldseed != self.seed:  
             self.pq = None  
             AbstractUpdateManager.setNoAnimation()  
             AbstractUpdateManager.chg()  
   
               
     def scene(self, vs):  
         size = vs.getSize()  
   
         if not self.pq: self.initpaper()  
         putnoc(vs, background(self.bgcolor))  
   
         cs1 = vs.coords.affineCoordsys(0, 10, 0, 0,  
                                        size.width, 0,  
                                        0, size.height)  
         scale = float(self.zoom)  
         print "Scene: ",self.zoom,scale  
         cs2 = vs.coords.affineCoordsys(0, 0, 0, 0,  
                                        scale / size.width, 0,  
                                        0, scale / size.height)  
   
         cs1left = vs.coords.ortho(cs1, 0, 0, 0, .5, 1)  
         cs1right = vs.coords.ortho(cs1, 0, .5, 0, .5, 1)  
   
         cs2left = vs.coords.ortho(0, 0, 0, 0,  
                                   scale / size.width * 2,  
                                   scale / size.height)  
         cs2right = vs.coords.ortho(0, 0, -1, 0,  
                                    scale / size.width * 2,  
                                    scale / size.height)  
   
         vs.matcher.add(cs1, "1")  
         vs.matcher.add(cs2, "2")  
   
         vs.matcher.add(cs1left, "1l")  
         vs.matcher.add(cs2left, "2l")  
   
         vs.matcher.add(cs1right, "1r")  
         vs.matcher.add(cs2right, "2r")  
   
         pscale = self.zoom  
   
   
         #print "Seed: ",self.seed," pq ",self.pq  
         if self.optimized[0] == "not":  
             print "NOT"  
             vs.map.put(self.pq, cs1, cs2)  
         elif self.optimized[0] == "opt":  
             print "OPT"  
             vs.map.put(self.opq, cs1, cs2)  
         elif self.optimized[0] == "both":  
             print "BOTH"  
             vs.map.put(self.pq, cs1left, cs2left)  
             vs.map.put(self.opq, cs1right, cs2right)  
         else:  
             print "ARGH ",self.optimized  
   
         cs3 = vs.coords.affineCoordsys(0, 0, 0, 0,  
                                        size.height/2, 0,  
                                        0, size.height/2)  
         vs.matcher.add(cs3, "txt")  
   
         putText(vs, cs3, str(self.seed), color=(0,0,0), x=0, y=.12, h=.2)  
   
           
   

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26