refpix = self.tileloader.get_refpix()
return self.__vport_base[0] + refpix[0] , self.__vport_base[1] + refpix[1]
+ def reload ( self , config ) :
+ self.tileloader.set_params( config )
+ for i in range( self.size[0] * self.size[1] ) :
+ self.fill[i] = False
+ self.loadtiles()
+
def loadtiles ( self ) :
for x in range(self.size[0]) :
def __init__ ( self , conf ) :
self.tilesize = 256
- self.rootdir = "%s/%s/%s" % ( conf.mapsdir , conf.mapclass , conf.zoom )
+ self.rootbase = os.path.join( conf.mapsdir , conf.mapclass )
+ self.set_params( conf )
+
+ def set_params ( self , conf ) :
+ self.rootdir = os.path.join( self.rootbase , str(conf.zoom) )
self.__reftile , self.__refpix = self.get_reference( conf )
def do_change_refpix ( self , dx , dy ) :
gtk.Image.__init__(self)
self._bg = background_map( map_size , tile_loader( config ) )
+ self.config = config
self.update_background()
self._bg.do_change_reftile( dx , dy )
self.update_background()
+ def do_change_zoomlevel ( self , dz ) :
+ self.config.zoom += dz
+ self._bg.reload( self.config )
+ self.update_background()
+
def composeMap( self ) :
center_x , center_y = self.center()
map.do_change_reftile( +1 , 0 )
elif event.keyval == gtk.keysyms.Left :
map.do_change_reftile( -1 , 0 )
+ elif event.keyval == 49 :
+ map.do_change_zoomlevel( -1 )
+ elif event.keyval == 50 :
+ map.do_change_zoomlevel( +1 )
else :
print "UNKNOWN",event.keyval