… | |
… | |
409 | |
409 | |
410 | # get_rectangles is buggy in older versions |
410 | # get_rectangles is buggy in older versions |
411 | my @rectangles = $Gtk2::VERSION > 1.115 |
411 | my @rectangles = $Gtk2::VERSION > 1.115 |
412 | ? $event->region->get_rectangles : $event->area; |
412 | ? $event->region->get_rectangles : $event->area; |
413 | |
413 | |
414 | @rectangles = $event->area |
|
|
415 | if @rectangles > 4; |
|
|
416 | |
|
|
417 | for my $area (@rectangles) { |
414 | for my $area (@rectangles) { |
418 | my ($x, $y, $w, $h) = $area->values; # x y w h |
415 | my ($x, $y, $w, $h) = $area->values; # x y w h |
419 | |
416 | |
420 | my @x = ((int ($ox + $x) / TILESIZE) .. int +($ox + $x + $w + TILESIZE - 1) / TILESIZE); |
417 | my @x = ((int ($ox + $x) / TILESIZE) .. int +($ox + $x + $w + TILESIZE - 1) / TILESIZE); |
421 | my @y = ((int ($oy + $y) / TILESIZE) .. int +($oy + $y + $h + TILESIZE - 1) / TILESIZE); |
418 | my @y = ((int ($oy + $y) / TILESIZE) .. int +($oy + $y + $h + TILESIZE - 1) / TILESIZE); |