code: def copy_path(self):
          
          path = cairo.cairo_copy_path(self._pointer)
          result = list(_iter_path(path))
          cairo.cairo_path_destroy(path)
          return result
docs: 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)