return;
}
+sub contains {
+ my ($self, $rect) = (@_);
+
+ unless ($rect->isa('SDL::Rect')) {
+ croak "must receive an SDL::Rect-based object";
+ }
+
+ my $contained = ($self->x <= $rect->x)
+ && ($self->y <= $rect->y)
+ && ($self->x + $self->w >= $rect->x + $rect->w)
+ && ($self->y + $self->h >= $rect->y + $rect->h)
+ && ($self->x + $self->w > $rect->x)
+ && ($self->y + $self->h > $rect->y)
+ ;
+
+ return $contained;
+}
+
+
+sub collidepoint {
+ my ($self, $x, $y) = (@_);
+
+ unless (defined $x and defined $y) {
+ croak "must receive (x,y) as arguments";
+ }
+
+ my $inside = $x >= $self->x
+ && $x < $self->x + $self->w
+ && $y >= $self->y
+ && $y < $self->y + $self->h
+ ;
+
+ return $inside;
+}
42;
__END__