summaryrefslogtreecommitdiff
path: root/src/cairo-gstate-private.h
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2005-08-04 22:45:59 +0000
committerKristian Høgsberg <krh@redhat.com>2005-08-04 22:45:59 +0000
commitebf985c87688f090c27c3906a6b441522b2f702a (patch)
tree4ed92acbdfb22a6c1204d77bb0761923ace5a4b6 /src/cairo-gstate-private.h
parent27573750eb9f2655d0b4cb5640a9f3f6c1316bc0 (diff)
downloadcairo-ebf985c87688f090c27c3906a6b441522b2f702a.tar.gz
New files. Move code for manipulating cairo_clip_t out into cairo_clip_* functions and put them in cairo-clip.c.
Rewrite to use new cairo_clip_t functions for manipulating the clip state, change the clip_and_composite_trapezoids call tree to use cairo_clip_t instead of cairo_gstate_t. Use new cairo_clip_t function to maintain clip state while replaying. Pass fill rule and tolerance directly, to break gstate dependency. New function. Set the clip for a surface as specified by the cairo_clip_t. Move translate_traps() from cairo-gstate.c to here and rename it. Reviewed by: otaylor
Diffstat (limited to 'src/cairo-gstate-private.h')
-rw-r--r--src/cairo-gstate-private.h41
1 files changed, 1 insertions, 40 deletions
diff --git a/src/cairo-gstate-private.h b/src/cairo-gstate-private.h
index 063525763..7e82883d3 100644
--- a/src/cairo-gstate-private.h
+++ b/src/cairo-gstate-private.h
@@ -36,46 +36,7 @@
#ifndef CAIRO_GSTATE_PRIVATE_H
#define CAIRO_GSTATE_PRIVATE_H
-#include "cairo-path-fixed-private.h"
-
-struct _cairo_clip_path {
- unsigned int ref_count;
- cairo_path_fixed_t path;
- cairo_fill_rule_t fill_rule;
- double tolerance;
- cairo_clip_path_t *prev;
-};
-
-typedef struct _cairo_clip {
- cairo_clip_mode_t mode;
-
- /*
- * Mask-based clipping for cases where the backend
- * clipping isn't sufficiently able.
- *
- * The rectangle here represents the
- * portion of the destination surface that this
- * clip surface maps to, it does not
- * represent the extents of the clip region or
- * clip paths
- */
- cairo_surface_t *surface;
- cairo_rectangle_t surface_rect;
- /*
- * Surface clip serial number to store
- * in the surface when this clip is set
- */
- unsigned int serial;
- /*
- * A clip region that can be placed in the surface
- */
- pixman_region16_t *region;
- /*
- * If the surface supports path clipping, we store the list of
- * clipping paths that has been set here as a linked list.
- */
- cairo_clip_path_t *path;
-} cairo_clip_t;
+#include "cairo-clip-private.h"
struct _cairo_gstate {
cairo_operator_t operator;