Initial implemantation of small cursor shifts
authorjaviplx <javiplx@gmail.com>
Sun, 8 May 2011 13:53:58 +0000 (13:53 +0000)
committerjaviplx <javiplx@gmail.com>
Sun, 8 May 2011 13:53:58 +0000 (13:53 +0000)
git-svn-id: file:///svnroot/wifihood/branches/mapview-redesign@150 c51dfc6a-5949-4919-9c8e-f207a149c383

view.py

diff --git a/view.py b/view.py
index 8821a3e..d617f91 100755 (executable)
--- a/view.py
+++ b/view.py
@@ -23,7 +23,8 @@ class background_map ( gtk.gdk.Pixmap ) :
         pixsize = map( lambda x : x * tileloader.tilesize , self.size )
 
         # FIXME : seems that reproducing the previous behaviour requires an extra subtraction of 128 to vpor[1]
-        self.vport = bordersize * tileloader.tilesize + tileloader.refpix[0] , bordersize * tileloader.tilesize + tileloader.refpix[1]
+        #         when moving to non-integer viewports, the shift turns and adition, and changes to vpor[0]
+        self.vport = [ bordersize * tileloader.tilesize + tileloader.refpix[0] , bordersize * tileloader.tilesize + tileloader.refpix[1] ]
 
         gtk.gdk.Pixmap.__init__( self , None , pixsize[0] , pixsize[1] , 24 )
 
@@ -247,8 +248,11 @@ class simpleMapWidget ( AbstractmapWidget , gtk.Image ) :
 
         self._bg = background_map( map_size , tile_loader( config ) )
 
-        p = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, True, 8, map_size[0] , map_size[1] )
-        p.get_from_drawable( self._bg , self._bg.get_colormap() , self._bg.vport[0] , self._bg.vport[1] , 0 , 0 , map_size[0] , map_size[1] )
+        self.update_background()
+    
+    def update_background( self ) :
+        p = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, True, 8, self.win_x , self.win_y )
+        p.get_from_drawable( self._bg , self._bg.get_colormap() , self._bg.vport[0] , self._bg.vport[1] , 0 , 0 , self.win_x , self.win_y )
         self.set_from_pixbuf(p)
     
     def composeMap( self ) :
@@ -355,7 +359,22 @@ class simpleMapWidget ( AbstractmapWidget , gtk.Image ) :
 
 class mapWidget ( simpleMapWidget , interactiveMapWidget ) :
 
-    pass
+    def Up( self ) :
+        self._bg.vport[1] += 256
+        self.update_background()
+
+    def Down( self ) :
+        self._bg.vport[1] -= 256
+        self.update_background()
+
+    def Right( self ) :
+        self._bg.vport[0] += 256
+        self.update_background()
+
+    def Left( self ) :
+        self._bg.vport[0] -= 256
+        self.update_background()
+
 
 if __name__ == "__main__" :