## Cairo utilities

Cairo utilities

## Functions

#define | GO_CAIRO_CLAMP()
#define | GO_CAIRO_CLAMP_SNAP()
void | go_cairo_convert_data_from_pixbuf ()
void | go_cairo_convert_data_to_pixbuf ()
void | go_cairo_emit_svg_path ()
gboolean | go_cairo_surface_is_vector ()

## Description

## Functions

### GO_CAIRO_CLAMP()

    #define GO_CAIRO_CLAMP(x) CLAMP((x),-8000000,8000000)

### GO_CAIRO_CLAMP_SNAP()

    #define GO_CAIRO_CLAMP_SNAP(x,even) GO_CAIRO_CLAMP(even ? floor (x + .5):floor (x) + .5)

### go_cairo_convert_data_from_pixbuf ()

    void
    go_cairo_convert_data_from_pixbuf (unsigned char *dst,
                                       unsigned char const *src,
                                       int width,
                                       int height,
                                       int rowstride);

Converts the pixel data stored in `src` in GDK_COLORSPACE_RGB pixbuf format to CAIRO_FORMAT_ARGB32 cairo format and move them to `dst` . If `src` == `dst` , pixel are converted in place.

#### Parameters

src | a pointer to pixel data in pixbuf format |
dst | a pointer to pixel data in cairo format |
width | image width |
height | image height |
rowstride | data rowstride |

### go_cairo_convert_data_to_pixbuf ()

    void
    go_cairo_convert_data_to_pixbuf (unsigned char *dst,
                                     unsigned char const *src,
                                     int width,
                                     int height,
                                     int rowstride);

Converts the pixel data stored in `src` in CAIRO_FORMAT_ARGB32 cairo format to GDK_COLORSPACE_RGB pixbuf format and move them to `dst` . If `src` == `dst` , pixel are converted in place.

#### Parameters

src | a pointer to pixel data in cairo format |
dst | a pointer to pixel data in pixbuf format |
width | image width |
height | image height |
rowstride | data rowstride |

### go_cairo_emit_svg_path ()

    void
    go_cairo_emit_svg_path (cairo_t *cr,
                            char const *path);

Emits a path described as a SVG path string (d property of path elements) to a cairo context.

#### Parameters

cr | a cairo context |
path | a SVG path |

### go_cairo_surface_is_vector ()

    gboolean
    go_cairo_surface_is_vector (cairo_surface_t const *surface);