def copy_path(self):
        """Return a copy of the current path.

        :returns:
            A list of ``(path_operation, coordinates)`` tuples
            of a :ref:`PATH_OPERATION` string
            and a tuple of floats coordinates
            whose content depends on the operation type:

            * :obj:`MOVE_TO <PATH_MOVE_TO>`: 1 point ``(x, y)``
            * :obj:`LINE_TO <PATH_LINE_TO>`: 1 point ``(x, y)``
            * :obj:`CURVE_TO <PATH_CURVE_TO>`: 3 points
              ``(x1, y1, x2, y2, x3, y3)``
            * :obj:`CLOSE_PATH <PATH_CLOSE_PATH>` 0 points ``()`` (empty tuple)

        """
        path = cairo.cairo_copy_path(self._pointer)
        result = list(_iter_path(path))
        cairo.cairo_path_destroy(path)
        return result
Return a copy of the current path.

        :returns:
            A list of ``(path_operation, coordinates)`` tuples
            of a :ref:`PATH_OPERATION` string
            and a tuple of floats coordinates
            whose content depends on the operation type:

            * :obj:`MOVE_TO <PATH_MOVE_TO>`: 1 point ``(x, y)``
            * :obj:`LINE_TO <PATH_LINE_TO>`: 1 point ``(x, y)``
            * :obj:`CURVE_TO <PATH_CURVE_TO>`: 3 points
              ``(x1, y1, x2, y2, x3, y3)``
            * :obj:`CLOSE_PATH <PATH_CLOSE_PATH>` 0 points ``()`` (empty tuple)