class interactiveMapWidget :
def Shift( self , dx , dy ) :
- self.hide()
- tile_x , tile_y = ( self.refpix_x - dx ) / self.tile_size , ( self.refpix_y - dy ) / self.tile_size
- self.reftile_x += tile_x
- self.reftile_y += tile_y
+# tile_x , tile_y = ( self.refpix_x - dx ) / self.tile_size , ( self.refpix_y - dy ) / self.tile_size
+# self.reftile_x += tile_x
+# self.reftile_y += tile_y
- self.refpix_x -= dx + self.tile_size * tile_x
- self.refpix_y -= dy + self.tile_size * tile_y
+# self.refpix_x -= dx + self.tile_size * tile_x
+# self.refpix_y -= dy + self.tile_size * tile_y
- self.composeMap()
- self.show()
+ self.mapwidget._bg.vport[0] += dx
+ self.mapwidget._bg.vport[1] += dy
+ self.mapwidget.update_background()
def Up( self ) :
self.mapwidget.reftile_y -= 1
self.connect_object('button_release_event', self.release_event, self)
def press_event ( self , widget , event ) :
- self.click_x , self.click_y = event.x , event.x
+ self.click_x , self.click_y = event.x , event.y
def release_event ( self , widget, event ) :
- shift = math.sqrt( (event.x-self.click_x)**2 + (event.y-self.click_y)**2 )
+ delta_x = int( self.click_x - event.x )
+ delta_y = int( self.click_y - event.y )
widget.Shift(delta_x, delta_y)
self.click_x , self.click_y = None , None