<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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