diff options
author | Andrea Canciani <ranma42@gmail.com> | 2011-01-20 01:44:29 +0100 |
---|---|---|
committer | Andrea Canciani <ranma42@gmail.com> | 2011-01-22 11:59:38 +0100 |
commit | 5d95ae924ed15200a17d240d8f0744c74df7c61b (patch) | |
tree | 3278d6bf194a6f08af74bc1cb7f891eea62d2087 /src/cairo-gstate.c | |
parent | e0b741de9006a02acd9b05c8fae52f6b7f775163 (diff) | |
download | cairo-5d95ae924ed15200a17d240d8f0744c74df7c61b.tar.gz |
gstate: Set an error status when restoring a push_group
cairo_push_group (cr) followed by cairo_restore (cr) should put cr in
an error status of CAIRO_STATUS_INVALID_RESTORE.
Fixes group-state.
Diffstat (limited to 'src/cairo-gstate.c')
-rw-r--r-- | src/cairo-gstate.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/cairo-gstate.c b/src/cairo-gstate.c index efb826703..52d568c12 100644 --- a/src/cairo-gstate.c +++ b/src/cairo-gstate.c @@ -342,6 +342,22 @@ _cairo_gstate_redirect_target (cairo_gstate_t *gstate, cairo_surface_t *child) } /** + * _cairo_gstate_is_group + * @gstate: a #cairo_gstate_t + * + * Check if _cairo_gstate_redirect_target has been called on the head + * of the stack. + * + * Return value: %TRUE if @gstate is redirected to a target different + * than the previous state in the stack, %FALSE otherwise. + **/ +cairo_bool_t +_cairo_gstate_is_group (cairo_gstate_t *gstate) +{ + return gstate->parent_target != NULL; +} + +/** * _cairo_gstate_is_redirected * @gstate: a #cairo_gstate_t * |