docs: def copy(self, texture, source_rect=None, dest_rect=None, rotation=0, center=None, flip=lib.SDL_FLIP_NONE):
          """Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center.
  
          Args:
              texture (Texture): The source texture.
              source_rect (Rect): The source rectangle, or None for the entire texture.
              dest_rect (Rect): The destination rectangle, or None for the entire rendering target.
              rotation (float): An angle in degrees that indicates the rotation that will be applied to dest_rect.
              center (Point): The point around which dest_rect will be rotated (if None, rotation will be done around
                              dest_rect.w/2, dest_rect.h/2).
              flip (int): A value stating which flipping actions should be performed on the texture.
  
          Raises:
              SDLError: If an error is encountered.
          """
          if source_rect == None:
              source_rect_ptr = ffi.NULL
          else:
              source_rect_ptr = source_rect._ptr
              
          if dest_rect == None:
              dest_rect_ptr = ffi.NULL
          else:
              dest_rect_ptr = dest_rect._ptr
  
          if center == None:
              center_ptr = ffi.NULL
          else:
              center_ptr = center._ptr
              
          check_int_err(lib.SDL_RenderCopyEx(self._ptr, texture._ptr, source_rect_ptr, dest_rect_ptr, rotation, center_ptr, flip))