diff options
author | Carl Worth <cworth@cworth.org> | 2005-06-13 16:36:40 +0000 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2005-06-13 16:36:40 +0000 |
commit | 14ae3ce3ade3448f3c3d6ae0344ab4785afa96aa (patch) | |
tree | e86cd9770002970097b5acbb5ddfef855ba26aeb /src/cairo.h | |
parent | 15fb5e0d27a1fc7743894792a168980363df5d71 (diff) |
No longer need to check for NULL after creating a pattern.
Propagate status errors from pattern->status to cr->status.
Originally 2005-05-08 Owen Taylor <otaylor@redhat.com>:
src/cairo-pattern.c src/cairoint.h: If allocation of pattern objects fails, return special static nil pattern objects.
If adding a color stop fails to allocate memory, set pattern->status. (And fix a memory leak.) Make public functions return when pattern->status is set, (and no longer return a cairo_status_t).
src/cairo-pattern.c src/cairo.h doc/public/cairo-sections.txt: Add cairo_pattern_status()
Check the status of gstate->source and of mask patterns passed in.
Diffstat (limited to 'src/cairo.h')
-rw-r--r-- | src/cairo.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/cairo.h b/src/cairo.h index b3c8183e2..4448fd455 100644 --- a/src/cairo.h +++ b/src/cairo.h @@ -160,7 +160,8 @@ typedef enum cairo_status { CAIRO_STATUS_READ_ERROR, CAIRO_STATUS_WRITE_ERROR, CAIRO_STATUS_SURFACE_FINISHED, - CAIRO_STATUS_SURFACE_TYPE_MISMATCH + CAIRO_STATUS_SURFACE_TYPE_MISMATCH, + CAIRO_STATUS_PATTERN_TYPE_MISMATCH } cairo_status_t; /** @@ -1014,21 +1015,24 @@ 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); -cairo_status_t +void cairo_pattern_add_color_stop_rgba (cairo_pattern_t *pattern, double offset, double red, double green, double blue, double alpha); -cairo_status_t +void cairo_pattern_set_matrix (cairo_pattern_t *pattern, const cairo_matrix_t *matrix); -cairo_status_t +void cairo_pattern_get_matrix (cairo_pattern_t *pattern, cairo_matrix_t *matrix); @@ -1038,7 +1042,7 @@ typedef enum { CAIRO_EXTEND_REFLECT } cairo_extend_t; -cairo_status_t +void cairo_pattern_set_extend (cairo_pattern_t *pattern, cairo_extend_t extend); cairo_extend_t @@ -1053,7 +1057,7 @@ typedef enum { CAIRO_FILTER_GAUSSIAN } cairo_filter_t; -cairo_status_t +void cairo_pattern_set_filter (cairo_pattern_t *pattern, cairo_filter_t filter); cairo_filter_t |