    # File lib/rubygame/rect.rb, line 434
            def clip!(rect)
                    nself = self.normalize
                    other = Rect.new_from_object(rect).normalize!
                    if self.collide_rect?(other)
                            self[0] = [nself.at(0), other.at(0)].max
                            self[1] = [nself.at(1), other.at(1)].max
                            self[2] = [nself.right, other.right].min - self.at(0)
                            self[3] = [nself.bottom, other.bottom].min - self.at(1)
                    else #if they do not intersect at all:
                            self[0], self[1] = nself.topleft
                            self[2], self[3] = 0, 0
                    end
                    return self
            end