diff options
author | Caleb Michael Moore <cmoore@src.gnome.org> | 2005-02-17 18:25:52 +0000 |
---|---|---|
committer | Caleb Michael Moore <cmoore@src.gnome.org> | 2005-02-17 18:25:52 +0000 |
commit | d90ab3224315053656017052477b3885ca057331 (patch) | |
tree | 78fc2b55481ff23cb2f5965c459e789cc071096f /rsvg-image.c | |
parent | a3786dac8e67bfff8683591b657c9769286b36bd (diff) | |
download | librsvg-d90ab3224315053656017052477b3885ca057331.tar.gz |
moved libart crap out of RsvgState
Diffstat (limited to 'rsvg-image.c')
-rw-r--r-- | rsvg-image.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/rsvg-image.c b/rsvg-image.c index 4bb0686a..70591632 100644 --- a/rsvg-image.c +++ b/rsvg-image.c @@ -30,14 +30,8 @@ #include <string.h> #include <math.h> #include <errno.h> -#include "rsvg-filter.h" #include <libart_lgpl/art_affine.h> -#include <libart_lgpl/art_rgb_svp.h> #include "rsvg-css.h" -#include "rsvg-mask.h" -/*very art dependant at the moment*/ -#include "rsvg-art-composite.h" -#include "rsvg-art-render.h" static const char s_UTF8_B64Alphabet[64] = { 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, @@ -509,25 +503,19 @@ rsvg_defs_drawable_image_draw (RsvgDefsDrawable * self, RsvgDrawingCtx *ctx, double x = z->x, y = z->y, w = z->w, h = z->h; unsigned int aspect_ratio = z->preserve_aspect_ratio; GdkPixbuf *img = z->img; - RsvgState *state = rsvg_state_current(ctx); - ArtSVP * temppath; - /*this will have to change*/ rsvg_state_reinherit_top(ctx, &self->state, dominate); + rsvg_push_discrete_layer(ctx); + if (!z->overflow && (aspect_ratio & RSVG_ASPECT_RATIO_SLICE)){ - temppath = rsvg_rect_clip_path(x, y, w, h, ctx); - state->clip_path_loaded = TRUE; - state->clippath = rsvg_clip_path_merge(temppath, - state->clippath, 'i'); + rsvg_add_clipping_rect(ctx, x, y, w, h); } rsvg_preserve_aspect_ratio(aspect_ratio, (double)gdk_pixbuf_get_width(img), (double)gdk_pixbuf_get_height(img), &w, &h, &x, &y); - rsvg_push_discrete_layer(ctx); - rsvg_render_image(ctx, img, x, y, w, h); rsvg_pop_discrete_layer(ctx); |