summaryrefslogtreecommitdiff
path: root/rsvg-paint-server.c
diff options
context:
space:
mode:
authorDom Lachowicz <doml@src.gnome.org>2005-02-24 00:46:28 +0000
committerDom Lachowicz <doml@src.gnome.org>2005-02-24 00:46:28 +0000
commit4dc53ecc650ba7af74415756e1b28e54ba9f6e40 (patch)
tree1a78e661abd8e73f86ee0e53251d1b76247d0b37 /rsvg-paint-server.c
parent459c450edeef5d97125720d1d7f7aa816a03de08 (diff)
downloadlibrsvg-4dc53ecc650ba7af74415756e1b28e54ba9f6e40.tar.gz
steal libart's affine code. more work toward deprecating/purging libart
Diffstat (limited to 'rsvg-paint-server.c')
-rw-r--r--rsvg-paint-server.c31
1 files changed, 15 insertions, 16 deletions
diff --git a/rsvg-paint-server.c b/rsvg-paint-server.c
index a16178c5..79905863 100644
--- a/rsvg-paint-server.c
+++ b/rsvg-paint-server.c
@@ -33,7 +33,6 @@
#include <glib/gmem.h>
#include <glib/gmessages.h>
#include <glib/gstrfuncs.h>
-#include <libart_lgpl/art_affine.h>
#include <libart_lgpl/art_render_mask.h>
#include <string.h>
#include <math.h>
@@ -214,13 +213,13 @@ rsvg_paint_server_lin_grad_render (RsvgPaintServer *self, ArtRender *ar,
affine[3] = ctx->y1 - ctx->y0;
affine[4] = ctx->x0;
affine[5] = ctx->y0;
- art_affine_multiply(affine, affine, ctx->affine);
+ _rsvg_affine_multiply(affine, affine, ctx->affine);
} else {
for (i = 0; i < 6; i++)
affine[i] = ctx->affine[i];
}
- art_affine_multiply(affine, rlg->affine, affine);
+ _rsvg_affine_multiply(affine, rlg->affine, affine);
/*
in case I am hit by a bus, here is how the following code works:
@@ -340,13 +339,13 @@ rsvg_paint_server_rad_grad_render (RsvgPaintServer *self, ArtRender *ar,
affine[3] = ctx->y1 - ctx->y0;
affine[4] = ctx->x0;
affine[5] = ctx->y0;
- art_affine_multiply(affine, affine, ctx->affine);
+ _rsvg_affine_multiply(affine, affine, ctx->affine);
} else {
for (i = 0; i < 6; i++)
affine[i] = ctx->affine[i];
}
- art_affine_multiply(affine, rrg->affine, affine);
+ _rsvg_affine_multiply(affine, rrg->affine, affine);
agr = z->agr;
if (agr == NULL)
@@ -365,11 +364,11 @@ rsvg_paint_server_rad_grad_render (RsvgPaintServer *self, ArtRender *ar,
z->agr = agr;
}
- art_affine_scale (aff1, rrg->r, rrg->r);
- art_affine_translate (aff2, rrg->cx, rrg->cy);
- art_affine_multiply (aff1, aff1, aff2);
- art_affine_multiply (aff1, aff1, affine);
- art_affine_invert (agr->affine, aff1);
+ _rsvg_affine_scale (aff1, rrg->r, rrg->r);
+ _rsvg_affine_translate (aff2, rrg->cx, rrg->cy);
+ _rsvg_affine_multiply (aff1, aff1, aff2);
+ _rsvg_affine_multiply (aff1, aff1, affine);
+ _rsvg_affine_invert (agr->affine, aff1);
/* todo: libart doesn't support spreads on radial gradients */
@@ -504,7 +503,7 @@ render_image_pattern (ArtRender *render, guchar * pixels, gdouble x, gdouble y,
for (i = 0; i < 6; i++)
image_source->affine[i] = affine[i];
- art_affine_invert(image_source->invaffine, affine);
+ _rsvg_affine_invert(image_source->invaffine, affine);
image_source->init = ART_FALSE;
@@ -544,7 +543,7 @@ rsvg_paint_server_pattern_render (RsvgPaintServer *self, ArtRender *ar,
affine[3] = ctx->y1 - ctx->y0;
affine[4] = ctx->x0;
affine[5] = ctx->y0;
- art_affine_multiply(affine, affine, ctx->affine);
+ _rsvg_affine_multiply(affine, affine, ctx->affine);
} else {
for (i = 0; i < 6; i++)
affine[i] = ctx->affine[i];
@@ -570,7 +569,7 @@ rsvg_paint_server_pattern_render (RsvgPaintServer *self, ArtRender *ar,
caffine[3] = h / pattern->vbh;
caffine[4] = x;
caffine[5] = y;
- art_affine_multiply(caffine, caffine, affine);
+ _rsvg_affine_multiply(caffine, caffine, affine);
}
else if (pattern->obj_cbbox) {
caffine[0] = ctx->x1 - ctx->x0;
@@ -579,14 +578,14 @@ rsvg_paint_server_pattern_render (RsvgPaintServer *self, ArtRender *ar,
caffine[3] = ctx->y1 - ctx->y0;
caffine[4] = ctx->x0;
caffine[5] = ctx->y0;
- art_affine_multiply(caffine, caffine, ctx->affine);
+ _rsvg_affine_multiply(caffine, caffine, ctx->affine);
} else {
for (i = 0; i < 6; i++)
caffine[i] = ctx->affine[i];
}
- art_affine_multiply(affine, affine, pattern->affine);
- art_affine_multiply(caffine, caffine, pattern->affine);
+ _rsvg_affine_multiply(affine, affine, pattern->affine);
+ _rsvg_affine_multiply(caffine, caffine, pattern->affine);
/*check if everything is going to be within the boundaries of the rendering surface*/
maxx = maxy = minx = miny = xoffset = yoffset = 0;