#!/usr/bin/perl


unless ($ARGV[0] ne '' && $ARGV[1] ne '') {
  print STDERR "Usage: $0 dX dY < map.in > map.out\n" ;
  exit ;
}
$dX = $ARGV[0] ; $dY = $ARGV[1] ;

while (<STDIN>) {
  chomp ;
  if (!$_ || /^\s*#/) {
    print "$_\n" ;
    next ; 
  }
#rect 222 436,81 520,171
  if (/^rect/) {
    tr/ / /s ;
    ($t,$url,$p1,$p2) = split(/ /) ;
    ($x1,$y1) = split(/,/,$p1) ;
    ($x2,$y2) = split(/,/,$p2) ;
    $x1 += $dX ; $x2 += $dX ;
    $y1 += $dY ; $y2 += $dY ;
    print "$t $url $x1,$y1 $x2,$y2\n" ;
    next ;
  }
#poly 222 450,27 451,63 436,63 432,146 466,151 484,152 483,174 563,173 561,108 51
  if (/^poly/) {
    tr/ / /s ;
    ($t,$url,@p) = split(/ /) ;
    for ($i=0;$i<@p;$i++) {
    ($x,$y) = split(/,/,$p[$i]) ;
    $x += $dX ; $y += $dY ;
    $p[$i] = "$x,$y" ;
    }
    $p = join(' ',@p) ;
    print "$t $url $p\n" ;
    next ;
  }
  print STDERR "Unimplemented $_\n" ;
}
