}
sub fill {
- croak "SDL::Surface::fill requires a SDL::Rect object"
- unless !$SDL::DEBUG || $_[1] == 0 || $_[1]->isa('SDL::Rect');
- croak "SDL::Surface::fill requires a SDL::Color object"
- unless !$SDL::DEBUG || $_[2]->isa('SDL::Color');
if ($_[1] == 0 ) {
SDL::FillRect(${$_[0]},0,${$_[2]});
} else {
}
sub blit {
+ $_[1] = 0 unless defined $_[1];
+ $_[3] = 0 unless defined $_[3];
+
if ($SDL::DEBUG) {
croak "SDL::Surface::blit requires SDL::Rect objects"
unless ($_[1] == 0 || $_[1]->isa('SDL::Rect'))
croak "SDL::Surface::blit requires SDL::Surface objects"
unless $_[2]->isa('SDL::Surface');
}
- SDL::BlitSurface(map { $_ != 0 ? ${$_} : $_ } @_);
+ SDL::BlitSurface(map { (defined($_) && $_ != 0)? ${$_} : $_ } @_) if defined(@_);
}
sub set_colors {