cairo_pattern_t

## cairo_pattern_t cairo_pattern_t — |

## Synopsis

    typedef     cairo_pattern_t;
    cairo_pattern_t* cairo_pattern_create_for_surface
                                                (cairo_surface_t *surface);
    cairo_pattern_t* cairo_pattern_create_linear
                                                (double x0,
                                                 double y0,
                                                 double x1,
                                                 double y1);
    cairo_pattern_t* cairo_pattern_create_radial
                                                (double cx0,
                                                 double cy0,
                                                 double radius0,
                                                 double cx1,
                                                 double cy1,
                                                 double radius1);
    void        cairo_pattern_reference         (cairo_pattern_t *pattern);
    void        cairo_pattern_destroy           (cairo_pattern_t *pattern);
    cairo_status_t cairo_pattern_status         (cairo_pattern_t *pattern);
    void        cairo_pattern_add_color_stop_rgb
                                                (cairo_pattern_t *pattern,
                                                 double offset,
                                                 double red,
                                                 double green,
                                                 double blue);
    void        cairo_pattern_add_color_stop_rgba
                                                (cairo_pattern_t *pattern,
                                                 double offset,
                                                 double red,
                                                 double green,
                                                 double blue,
                                                 double alpha);
    void        cairo_pattern_set_matrix        (cairo_pattern_t *pattern,
                                                 const cairo_matrix_t *matrix);
    void        cairo_pattern_get_matrix        (cairo_pattern_t *pattern,
                                                 cairo_matrix_t *matrix);
    enum        cairo_extend_t;
    void        cairo_pattern_set_extend        (cairo_pattern_t *pattern,
                                                 cairo_extend_t extend);
    cairo_extend_t cairo_pattern_get_extend     (cairo_pattern_t *pattern);
    void        cairo_pattern_set_filter        (cairo_pattern_t *pattern,
                                                 cairo_filter_t filter);
    cairo_filter_t cairo_pattern_get_filter     (cairo_pattern_t *pattern);

## Description

## Details

### cairo_pattern_t

    typedef struct _cairo_pattern cairo_pattern_t;

### cairo_pattern_create_for_surface ()

    cairo_pattern_t* cairo_pattern_create_for_surface
                                                (cairo_surface_t *surface);

`surface` : |
Returns : |

### cairo_pattern_create_linear ()

    cairo_pattern_t* cairo_pattern_create_linear
                                                (double x0,
                                                 double y0,
                                                 double x1,
                                                 double y1);

`x0` : |
`y0` : |
`x1` : |
`y1` : |
Returns : |

### cairo_pattern_create_radial ()

    cairo_pattern_t* cairo_pattern_create_radial
                                                (double cx0,
                                                 double cy0,
                                                 double radius0,
                                                 double cx1,
                                                 double cy1,
                                                 double radius1);

`cx0` : |
`cy0` : |
`radius0` : |
`cx1` : |
`cy1` : |
`radius1` : |
Returns : |

### cairo_pattern_reference ()

    void        cairo_pattern_reference         (cairo_pattern_t *pattern);

`pattern` : |

### cairo_pattern_destroy ()

    void        cairo_pattern_destroy           (cairo_pattern_t *pattern);

`pattern` : |

### cairo_pattern_status ()

    cairo_status_t cairo_pattern_status         (cairo_pattern_t *pattern);

Checks whether an error has previously occurred for this pattern.

`pattern` : | a cairo_pattern_t
Returns : | `CAIRO_STATUS_SUCCESS` or `CAIRO_STATUS_NO_MEMORY`

### cairo_pattern_add_color_stop_rgb ()

    void        cairo_pattern_add_color_stop_rgb
                                                (cairo_pattern_t *pattern,
                                                 double offset,
                                                 double red,
                                                 double green,
                                                 double blue);

`pattern` : |
`offset` : |
`red` : |
`green` : |
`blue` : |

### cairo_pattern_add_color_stop_rgba ()

    void        cairo_pattern_add_color_stop_rgba
                                                (cairo_pattern_t *pattern,
                                                 double offset,
                                                 double red,
                                                 double green,
                                                 double blue,
                                                 double alpha);

`pattern` : |
`offset` : |
`red` : |
`green` : |
`blue` : |
`alpha` : |

### cairo_pattern_set_matrix ()

    void        cairo_pattern_set_matrix        (cairo_pattern_t *pattern,
                                                 const cairo_matrix_t *matrix);

`pattern` : |
`matrix` : |

### cairo_pattern_get_matrix ()

    void        cairo_pattern_get_matrix        (cairo_pattern_t *pattern,
                                                 cairo_matrix_t *matrix);

`pattern` : |
`matrix` : |

### enum cairo_extend_t

    typedef enum {
        CAIRO_EXTEND_NONE,
        CAIRO_EXTEND_REPEAT,
        CAIRO_EXTEND_REFLECT
    } cairo_extend_t;

### cairo_pattern_set_extend ()

    void        cairo_pattern_set_extend        (cairo_pattern_t *pattern,
                                                 cairo_extend_t extend);

`pattern` : |
`extend` : |

### cairo_pattern_get_extend ()

    cairo_extend_t cairo_pattern_get_extend     (cairo_pattern_t *pattern);

`pattern` : |
Returns : |

### cairo_pattern_set_filter ()

    void        cairo_pattern_set_filter        (cairo_pattern_t *pattern,
                                                 cairo_filter_t filter);

`pattern` : |
`filter` : |

### cairo_pattern_get_filter ()

    cairo_filter_t cairo_pattern_get_filter     (cairo_pattern_t *pattern);

`pattern` : |
Returns : |