summaryrefslogtreecommitdiff
path: root/source/svg/svg-parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/svg/svg-parse.c')
-rw-r--r--source/svg/svg-parse.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/source/svg/svg-parse.c b/source/svg/svg-parse.c
index 5c7fc33a..c5b0a7db 100644
--- a/source/svg/svg-parse.c
+++ b/source/svg/svg-parse.c
@@ -117,8 +117,8 @@ svg_parse_angle(const char *str)
}
/* Coordinate transformations */
-void
-svg_parse_transform(fz_context *ctx, svg_document *doc, char *str, fz_matrix *transform)
+fz_matrix
+svg_parse_transform(fz_context *ctx, svg_document *doc, char *str, fz_matrix transform)
{
char keyword[20];
int keywordlen;
@@ -214,7 +214,7 @@ svg_parse_transform(fz_context *ctx, svg_document *doc, char *str, fz_matrix *tr
m.e = args[4];
m.f = args[5];
- *transform = fz_concat(*transform, m);
+ transform = fz_concat(transform, m);
}
else if (!strcmp(keyword, "translate"))
@@ -222,15 +222,15 @@ svg_parse_transform(fz_context *ctx, svg_document *doc, char *str, fz_matrix *tr
if (nargs != 2)
fz_throw(ctx, FZ_ERROR_SYNTAX, "wrong number of arguments to translate(): %d", nargs);
- *transform = fz_pre_translate(*transform, args[0], args[1]);
+ transform = fz_pre_translate(transform, args[0], args[1]);
}
else if (!strcmp(keyword, "scale"))
{
if (nargs == 1)
- *transform = fz_pre_scale(*transform, args[0], args[0]);
+ transform = fz_pre_scale(transform, args[0], args[0]);
else if (nargs == 2)
- *transform = fz_pre_scale(*transform, args[0], args[1]);
+ transform = fz_pre_scale(transform, args[0], args[1]);
else
fz_throw(ctx, FZ_ERROR_SYNTAX, "wrong number of arguments to scale(): %d", nargs);
}
@@ -239,7 +239,7 @@ svg_parse_transform(fz_context *ctx, svg_document *doc, char *str, fz_matrix *tr
{
if (nargs != 1)
fz_throw(ctx, FZ_ERROR_SYNTAX, "wrong number of arguments to rotate(): %d", nargs);
- *transform = fz_pre_rotate(*transform, args[0]);
+ transform = fz_pre_rotate(transform, args[0]);
}
else if (!strcmp(keyword, "skewX"))
@@ -256,7 +256,7 @@ svg_parse_transform(fz_context *ctx, svg_document *doc, char *str, fz_matrix *tr
m.e = 0;
m.f = 0;
- *transform = fz_concat(*transform, m);
+ transform = fz_concat(transform, m);
}
else if (!strcmp(keyword, "skewY"))
@@ -273,7 +273,7 @@ svg_parse_transform(fz_context *ctx, svg_document *doc, char *str, fz_matrix *tr
m.e = 0;
m.f = 0;
- *transform = fz_concat(*transform, m);
+ transform = fz_concat(transform, m);
}
else
@@ -281,4 +281,6 @@ svg_parse_transform(fz_context *ctx, svg_document *doc, char *str, fz_matrix *tr
fz_throw(ctx, FZ_ERROR_SYNTAX, "unknown transform function: %s", keyword);
}
}
+
+ return transform;
}