Use background object to draw the map
authorjaviplx <javiplx@gmail.com>
Sun, 8 May 2011 11:54:52 +0000 (11:54 +0000)
committerjaviplx <javiplx@gmail.com>
Sun, 8 May 2011 11:54:52 +0000 (11:54 +0000)
git-svn-id: file:///svnroot/wifihood/branches/mapview-redesign@145 c51dfc6a-5949-4919-9c8e-f207a149c383

view.py

diff --git a/view.py b/view.py
index 1748889..1b20af6 100755 (executable)
--- a/view.py
+++ b/view.py
@@ -14,10 +14,15 @@ class background_map ( gtk.gdk.Pixmap ) :
 
         self.tileloader = tileloader
 
-        self.size = map( lambda x : 2 * int( math.ceil( x / float(tileloader.tilesize) ) / 2 ) + 1 + 2 * bordersize , map_size )
+        # Values for minimun fit without border
+        center = map( lambda x :     int( math.ceil( x / float(tileloader.tilesize) ) / 2 )     , map_size )
+        size = map( lambda x : 2 * x + 1 , center )
+
+        self.center = map( lambda x : x + bordersize , center )
+        self.size = map( lambda x : x + 2 * bordersize , size )
         pixsize = map( lambda x : x * tileloader.tilesize , self.size )
 
-        gtk.gdk.Pixmap.__init__( self , None , pixsize[0] , pixsize[1] , 8 )
+        gtk.gdk.Pixmap.__init__( self , None , pixsize[0] , pixsize[1] , 24 )
 
         self.fill = map( lambda x : False , range( self.size[0] * self.size[1] ) )
 
@@ -60,8 +65,6 @@ class tile_loader :
 
     def get_tile ( self , tile ) :
         file = self.tilepath( self.reftile[0] + tile[0] , self.reftile[1] + tile[1] )
-        if tile[0] == 4 and tile[1] == 3 :
-            return None
         try :
             os.stat(file)
             return gtk.gdk.pixbuf_new_from_file( file )
@@ -236,11 +239,10 @@ class simpleMapWidget ( AbstractmapWidget , gtk.Image ) :
 
         self._bg = background_map( map_size , tile_loader( config ) )
 
-        p = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, True, 8, self.win_x, self.win_y)
+        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() , 0, 0 , 0, 0 , map_size[0] , map_size[1] )
         self.set_from_pixbuf(p)
     
-        self.composeMap()
-
     def composeMap( self ) :
         center_x , center_y = self.center()