Return the minimal rectangle enclosing the given set of points

        Args:
            points (List[Point]): The set of points that the new Rect must enclose.
            clip_rect (Rect): A clipping Rect.

        Returns:
            Rect: A new Rect enclosing the given points.

def enclose_points(points, clip_rect):
        """Return the minimal rectangle enclosing the given set of points

        Args:
            points (List[Point]): The set of points that the new Rect must enclose.
            clip_rect (Rect): A clipping Rect.

        Returns:
            Rect: A new Rect enclosing the given points.
        """
        point_array = ffi.new('SDL_Point[]', len(points))
        for i, p in enumerate(points):
            point_array[i] = p._ptr
        enclosing_rect = Rect()
        if lib.SDL_EnclosePoints(point_array, len(points), clip_rect._ptr, enclosing_rect._ptr):
            return enclosing_rect
        else:
            return None