X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2Fsvgtiny.c;h=9a6709a7e0069aad5290d43ebad3dcc9067d58a3;hb=d78c0e7f3a8eff551a6551827f31b2a4c1a88ca7;hp=98a84d44d7921635a03f67d7188a453a2aaf8ae2;hpb=099cae0989f0ef3db52de99fb0d1e562465f5a02;p=libsvgtiny.git diff --git a/src/svgtiny.c b/src/svgtiny.c index 98a84d4..9a6709a 100644 --- a/src/svgtiny.c +++ b/src/svgtiny.c @@ -684,11 +684,11 @@ svgtiny_code svgtiny_parse(struct svgtiny_diagram *diagram, dom_node_unref(document); return svgtiny_LIBDOM_ERROR; } - if (svg == NULL) { - /* no root svg element */ - dom_node_unref(document); + if (svg == NULL) { + /* no root svg element */ + dom_node_unref(document); return svgtiny_SVG_ERROR; - } + } exc = dom_node_get_node_name(svg, &svg_name); if (exc != DOM_NO_ERR) { @@ -1121,7 +1121,7 @@ svgtiny_code svgtiny_parse_path(dom_element *path, dom_exception exc; char *s, *path_d; float *p; /* path elemets */ - unsigned int palloc; /* number of path elements allocated */ + unsigned int palloc; /* number of path elements allocated */ unsigned int i; float last_x = 0, last_y = 0; float last_cubic_x = 0, last_cubic_y = 0; @@ -1150,15 +1150,15 @@ svgtiny_code svgtiny_parse_path(dom_element *path, return svgtiny_SVG_ERROR; } - /* empty path is permitted it just disables the path */ - palloc = dom_string_byte_length(path_d_str); - if (palloc == 0) { + /* empty path is permitted it just disables the path */ + palloc = dom_string_byte_length(path_d_str); + if (palloc == 0) { dom_string_unref(path_d_str); svgtiny_cleanup_state_local(&state); return svgtiny_OK; - } + } - /* local copy of the path data allowing in-place modification */ + /* local copy of the path data allowing in-place modification */ s = path_d = strndup(dom_string_data(path_d_str), palloc); dom_string_unref(path_d_str); if (s == NULL) { @@ -1166,12 +1166,12 @@ svgtiny_code svgtiny_parse_path(dom_element *path, return svgtiny_OUT_OF_MEMORY; } - /* ensure path element allocation is sensibly bounded */ - if (palloc < 8) { - palloc = 8; - } else if (palloc > 64) { - palloc = palloc / 2; - } + /* ensure path element allocation is sensibly bounded */ + if (palloc < 8) { + palloc = 8; + } else if (palloc > 64) { + palloc = palloc / 2; + } /* allocate initial space for path elements */ p = malloc(sizeof p[0] * palloc); @@ -1192,7 +1192,7 @@ svgtiny_code svgtiny_parse_path(dom_element *path, float x, y, x1, y1, x2, y2, rx, ry, rotation, large_arc, sweep; int n; - /* Ensure there is sufficient space for path elements */ + /* Ensure there is sufficient space for path elements */ #define ALLOC_PATH_ELEMENTS(NUM_ELEMENTS) \ do { \ if ((palloc - i) < NUM_ELEMENTS) { \ @@ -1218,7 +1218,7 @@ svgtiny_code svgtiny_parse_path(dom_element *path, else plot_command = svgtiny_PATH_LINE; do { - ALLOC_PATH_ELEMENTS(3); + ALLOC_PATH_ELEMENTS(3); p[i++] = plot_command; if ('a' <= *command) { x += last_x; @@ -1239,7 +1239,7 @@ svgtiny_code svgtiny_parse_path(dom_element *path, /* closepath (Z, z) (no arguments) */ } else if (sscanf(s, " %1[Zz] %n", command, &n) == 1) { /*LOG(("closepath"));*/ - ALLOC_PATH_ELEMENTS(1); + ALLOC_PATH_ELEMENTS(1); p[i++] = svgtiny_PATH_CLOSE; s += n; @@ -1250,7 +1250,7 @@ svgtiny_code svgtiny_parse_path(dom_element *path, } else if (sscanf(s, " %1[Hh] %f %n", command, &x, &n) == 2) { /*LOG(("horizontal lineto"));*/ do { - ALLOC_PATH_ELEMENTS(3); + ALLOC_PATH_ELEMENTS(3); p[i++] = svgtiny_PATH_LINE; if (*command == 'h') @@ -1265,7 +1265,7 @@ svgtiny_code svgtiny_parse_path(dom_element *path, } else if (sscanf(s, " %1[Vv] %f %n", command, &y, &n) == 2) { /*LOG(("vertical lineto"));*/ do { - ALLOC_PATH_ELEMENTS(3); + ALLOC_PATH_ELEMENTS(3); p[i++] = svgtiny_PATH_LINE; if (*command == 'v') @@ -1281,7 +1281,7 @@ svgtiny_code svgtiny_parse_path(dom_element *path, &x1, &y1, &x2, &y2, &x, &y, &n) == 7) { /*LOG(("curveto"));*/ do { - ALLOC_PATH_ELEMENTS(7); + ALLOC_PATH_ELEMENTS(7); p[i++] = svgtiny_PATH_BEZIER; if (*command == 'c') { @@ -1307,7 +1307,7 @@ svgtiny_code svgtiny_parse_path(dom_element *path, &x2, &y2, &x, &y, &n) == 5) { /*LOG(("shorthand/smooth curveto"));*/ do { - ALLOC_PATH_ELEMENTS(7); + ALLOC_PATH_ELEMENTS(7); p[i++] = svgtiny_PATH_BEZIER; x1 = last_x + (last_x - last_cubic_x); @@ -1333,7 +1333,7 @@ svgtiny_code svgtiny_parse_path(dom_element *path, &x1, &y1, &x, &y, &n) == 5) { /*LOG(("quadratic Bezier curveto"));*/ do { - ALLOC_PATH_ELEMENTS(7); + ALLOC_PATH_ELEMENTS(7); p[i++] = svgtiny_PATH_BEZIER; last_quad_x = x1; @@ -1360,7 +1360,7 @@ svgtiny_code svgtiny_parse_path(dom_element *path, &x, &y, &n) == 3) { /*LOG(("shorthand/smooth quadratic Bezier curveto"));*/ do { - ALLOC_PATH_ELEMENTS(7); + ALLOC_PATH_ELEMENTS(7); p[i++] = svgtiny_PATH_BEZIER; x1 = last_x + (last_x - last_quad_x); @@ -1448,18 +1448,18 @@ svgtiny_code svgtiny_parse_path(dom_element *path, return svgtiny_OK; } - /* resize path element array to not be over allocated */ - if (palloc != i) { - float *tp; + /* resize path element array to not be over allocated */ + if (palloc != i) { + float *tp; - /* try the resize, if it fails just continue to use the old - * allocation - */ - tp = realloc(p, sizeof p[0] * i); - if (tp != NULL) { - p = tp; - } - } + /* try the resize, if it fails just continue to use the old + * allocation + */ + tp = realloc(p, sizeof p[0] * i); + if (tp != NULL) { + p = tp; + } + } err = svgtiny_add_path(p, i, &state); @@ -1895,11 +1895,11 @@ svgtiny_code svgtiny_parse_poly(dom_element *poly, p[i++] = x; p[i++] = y; s += n; - } else { + } else { break; - } - } - if (polygon) + } + } + if (polygon) p[i++] = svgtiny_PATH_CLOSE; free(points); @@ -1936,7 +1936,7 @@ svgtiny_code svgtiny_parse_text(dom_element *text, /* state.ctm.e = px - state.origin_x; */ /* state.ctm.f = py - state.origin_y; */ - exc = dom_node_get_first_child(text, &child); + exc = dom_node_get_first_child(text, &child); if (exc != DOM_NO_ERR) { return svgtiny_LIBDOM_ERROR; svgtiny_cleanup_state_local(&state); @@ -2263,7 +2263,7 @@ void svgtiny_parse_font_attributes(dom_element *node, if (strcmp((const char *) attr->name, "font-size") == 0) { /* TODO */ } - } + } #endif } @@ -2306,9 +2306,7 @@ css_select_results *svgtiny_parse_styles(dom_element *node, struct svgtiny_parse_state *state) { css_error code; - uint8_t fill_opacity_type; css_fixed fill_opacity; - uint8_t stroke_opacity_type; css_fixed stroke_opacity; /* We store the result of svgtiny_parse_style_inline() in @@ -2368,12 +2366,12 @@ css_select_results *svgtiny_parse_styles(dom_element *node, styles->styles[CSS_PSEUDO_ELEMENT_NONE] = composed; } - fill_opacity_type = css_computed_fill_opacity( - styles->styles[CSS_PSEUDO_ELEMENT_NONE], - &fill_opacity); - stroke_opacity_type = css_computed_stroke_opacity( - styles->styles[CSS_PSEUDO_ELEMENT_NONE], - &stroke_opacity); + css_computed_fill_opacity( + styles->styles[CSS_PSEUDO_ELEMENT_NONE], + &fill_opacity); + css_computed_stroke_opacity( + styles->styles[CSS_PSEUDO_ELEMENT_NONE], + &stroke_opacity); state->fill_opacity = FIXTOFLT(fill_opacity); state->stroke_opacity = FIXTOFLT(stroke_opacity); @@ -2404,22 +2402,22 @@ void svgtiny_parse_transform(char *s, float *ma, float *mb, e = f = 0; n = 0; if ((sscanf(s, " matrix (%f %f %f %f %f %f ) %n", - &a, &b, &c, &d, &e, &f, &n) == 6) && (n > 0)) + &a, &b, &c, &d, &e, &f, &n) == 6) && (n > 0)) ; else if ((sscanf(s, " translate (%f %f ) %n", - &e, &f, &n) == 2) && (n > 0)) + &e, &f, &n) == 2) && (n > 0)) ; else if ((sscanf(s, " translate (%f ) %n", - &e, &n) == 1) && (n > 0)) + &e, &n) == 1) && (n > 0)) ; else if ((sscanf(s, " scale (%f %f ) %n", - &a, &d, &n) == 2) && (n > 0)) + &a, &d, &n) == 2) && (n > 0)) ; else if ((sscanf(s, " scale (%f ) %n", - &a, &n) == 1) && (n > 0)) + &a, &n) == 1) && (n > 0)) d = a; else if ((sscanf(s, " rotate (%f %f %f ) %n", - &angle, &x, &y, &n) == 3) && (n > 0)) { + &angle, &x, &y, &n) == 3) && (n > 0)) { angle = angle / 180 * M_PI; a = cos(angle); b = sin(angle); @@ -2428,18 +2426,18 @@ void svgtiny_parse_transform(char *s, float *ma, float *mb, e = -x * cos(angle) + y * sin(angle) + x; f = -x * sin(angle) - y * cos(angle) + y; } else if ((sscanf(s, " rotate (%f ) %n", - &angle, &n) == 1) && (n > 0)) { + &angle, &n) == 1) && (n > 0)) { angle = angle / 180 * M_PI; a = cos(angle); b = sin(angle); c = -sin(angle); d = cos(angle); } else if ((sscanf(s, " skewX (%f ) %n", - &angle, &n) == 1) && (n > 0)) { + &angle, &n) == 1) && (n > 0)) { angle = angle / 180 * M_PI; c = tan(angle); } else if ((sscanf(s, " skewY (%f ) %n", - &angle, &n) == 1) && (n > 0)) { + &angle, &n) == 1) && (n > 0)) { angle = angle / 180 * M_PI; b = tan(angle); } else