diff options
Diffstat (limited to 'source/svg/svg-parse.c')
-rw-r--r-- | source/svg/svg-parse.c | 20 |
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; } |