diff options
author | Kristian Høgsberg <krh@redhat.com> | 2005-08-04 22:45:59 +0000 |
---|---|---|
committer | Kristian Høgsberg <krh@redhat.com> | 2005-08-04 22:45:59 +0000 |
commit | ebf985c87688f090c27c3906a6b441522b2f702a (patch) | |
tree | 4ed92acbdfb22a6c1204d77bb0761923ace5a4b6 /src/cairo-gstate-private.h | |
parent | 27573750eb9f2655d0b4cb5640a9f3f6c1316bc0 (diff) |
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.h | 41 |
1 files changed, 1 insertions, 40 deletions
diff --git a/src/cairo-gstate-private.h b/src/cairo-gstate-private.h index 06352576..7e82883d 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; |