diff options
author | Caleb Michael Moore <cmoore@src.gnome.org> | 2005-10-12 15:14:55 +0000 |
---|---|---|
committer | Caleb Michael Moore <cmoore@src.gnome.org> | 2005-10-12 15:14:55 +0000 |
commit | a00dea214d04889ca8717a85de9dbecb65ea3eac (patch) | |
tree | f4cd155ee1ccedd4a579d0fffa7e891f6505a002 | |
parent | 4289af24cf674ad5f4a8cb378ed8558171c7f215 (diff) | |
download | librsvg-a00dea214d04889ca8717a85de9dbecb65ea3eac.tar.gz |
cairo clip path stuff
-rw-r--r-- | rsvg-cairo-clip.c | 11 | ||||
-rw-r--r-- | rsvg-cairo.c | 8 |
2 files changed, 9 insertions, 10 deletions
diff --git a/rsvg-cairo-clip.c b/rsvg-cairo-clip.c index 5c6d47db..71d84dc1 100644 --- a/rsvg-cairo-clip.c +++ b/rsvg-cairo-clip.c @@ -71,6 +71,11 @@ rsvg_cairo_clip_render_path (RsvgDrawingCtx *ctx, const RsvgBpathDef *bpath_def) _set_rsvg_affine (cr, state->affine); + if (rsvg_state_current(ctx)->clip_rule == FILL_RULE_EVENODD) + cairo_set_fill_rule (((RsvgCairoRender *)ctx->render)->cr, CAIRO_FILL_RULE_EVEN_ODD); + else /* state->fill_rule == FILL_RULE_NONZERO */ + cairo_set_fill_rule (((RsvgCairoRender *)ctx->render)->cr, CAIRO_FILL_RULE_WINDING); + for (i=0; i < bpath_def->n_bpath; i++) { bpath = &bpath_def->bpath[i]; @@ -176,11 +181,7 @@ rsvg_cairo_clip (RsvgDrawingCtx *ctx, RsvgClipPath *clip, RsvgCairoBbox *bbox) for (i = 0; i < 6; i++) clip->super.state->affine[i] = affinesave[i]; - - if (rsvg_state_current (ctx)->fill_rule == FILL_RULE_EVENODD) - cairo_set_fill_rule (save->cr, CAIRO_FILL_RULE_EVEN_ODD); - else /* state->fill_rule == FILL_RULE_NONZERO */ - cairo_set_fill_rule (save->cr, CAIRO_FILL_RULE_WINDING); + g_free(ctx->render); cairo_clip(save->cr); ctx->render = &save->super; } diff --git a/rsvg-cairo.c b/rsvg-cairo.c index 972b8bcf..f8bab138 100644 --- a/rsvg-cairo.c +++ b/rsvg-cairo.c @@ -2,9 +2,8 @@ rsvg-cairo.c: Command line utility for exercising rsvg with cairo. - Copyright (C) 2000 Eazel, Inc. - Copyright (C) 2002 Dom Lachowicz - Copyright (C) 2005 Carl Worth. + Copyright (C) 2005 Caleb Moore + This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as @@ -21,8 +20,7 @@ Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - Authors: Raph Levien <raph@artofcode.com> - Carl Worth <cworth@cworth.org> + Authors: Caleb Moore <c.moore@student.unsw.edu.au> */ #include "config.h" |