cairoPatternAddColorStopRgb or
cairoPatternAddColorStopRgba.cairoPatternCreateLinear(x0, y0, x1, y1)This function will always return a valid pointer, but if an error
occurred the pattern status will be set to an error. To inspect
the status of a pattern use cairoPatternStatus.
cairoPatternSetMatrix.