CairoPatternType is used to describe the type of a given pattern.
The type of a pattern is determined by the function used to create it. The cairo_pattern_create_rgb() and cairo_pattern_create_rgba() functions create CairoPatternType::SOLID patterns. The remaining cairo_pattern_create_* functions map to pattern types in obvious ways.
The pattern is a solid (uniform) color. It may be opaque or translucent.
The pattern is a based on a surface (an image).
The pattern is a linear gradient.
The pattern is a radial gradient.