… | |
… | |
900 | my $area = [$dx, $dy, $edge + $shadow, $edge + $shadow]; |
900 | my $area = [$dx, $dy, $edge + $shadow, $edge + $shadow]; |
901 | |
901 | |
902 | my $mark = $self->{board}{board}[$x-1][$y-1]; |
902 | my $mark = $self->{board}{board}[$x-1][$y-1]; |
903 | my $old = $oldboard ? $oldboard->{board}[$x-1][$y-1] : 0; |
903 | my $old = $oldboard ? $oldboard->{board}[$x-1][$y-1] : 0; |
904 | |
904 | |
905 | if ($oldboard && $old != $mark) { |
905 | if ($oldboard) { |
|
|
906 | next if $old == $mark; # no change |
|
|
907 | |
906 | $self->{background}->copy_area (@$area, $pixbuf, $dx, $dy); |
908 | $self->{background}->copy_area (@$area, $pixbuf, $dx, $dy); |
907 | $expose_area = $expose_area |
909 | $expose_area = $expose_area |
908 | ? Gtk::Gdk::Rectangle->union ($expose_area, $area) |
910 | ? Gtk::Gdk::Rectangle->union ($expose_area, $area) |
909 | : $area; |
911 | : $area; |
910 | } |
912 | } |