cpattern:BeginPatch()
After calling this function, the patch shape should be defined with cpattern:MoveTo(), cpattern:LineTo() and cpattern:CurveTo().
After defining the patch, cpattern:EndPatch() must be called before using the pattern as a source or mask.
Note: If the pattern is not a mesh pattern then it will be put
into an error status with a status of
#CAIRO_STATUS_PATTERN_TYPE_MISMATCH. If the pattern already has a
current patch, it will be put into an error status with a status of
#CAIRO_STATUS_INVALID_MESH_CONSTRUCTION.