summaryrefslogtreecommitdiff
path: root/src/cairo-gstate.c
diff options
context:
space:
mode:
authorAndrea Canciani <ranma42@gmail.com>2011-01-20 01:44:29 +0100
committerAndrea Canciani <ranma42@gmail.com>2011-01-22 11:59:38 +0100
commit5d95ae924ed15200a17d240d8f0744c74df7c61b (patch)
tree3278d6bf194a6f08af74bc1cb7f891eea62d2087 /src/cairo-gstate.c
parente0b741de9006a02acd9b05c8fae52f6b7f775163 (diff)
downloadcairo-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.c16
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
*