From d6eabf29c9c10038924e823e693dddef281abee5 Mon Sep 17 00:00:00 2001 From: Caleb Jones Date: Fri, 13 Apr 2018 19:57:06 -0400 Subject: [PATCH] Parse percentage width for automatic sizing Instead of calculating percentage coordinates relative to 1px, we calculate them relative to 0px width, that way an explicit will be converted to and trigger the bounding-box sizing calculation. --- src/nanosvg.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nanosvg.h b/src/nanosvg.h index 089857f..65ba2a7 100644 --- a/src/nanosvg.h +++ b/src/nanosvg.h @@ -2494,9 +2494,9 @@ static void nsvg__parseSVG(NSVGparser* p, const char** attr) for (i = 0; attr[i]; i += 2) { if (!nsvg__parseAttr(p, attr[i], attr[i + 1])) { if (strcmp(attr[i], "width") == 0) { - p->image->width = nsvg__parseCoordinate(p, attr[i + 1], 0.0f, 1.0f); + p->image->width = nsvg__parseCoordinate(p, attr[i + 1], 0.0f, 0.0f); } else if (strcmp(attr[i], "height") == 0) { - p->image->height = nsvg__parseCoordinate(p, attr[i + 1], 0.0f, 1.0f); + p->image->height = nsvg__parseCoordinate(p, attr[i + 1], 0.0f, 0.0f); } else if (strcmp(attr[i], "viewBox") == 0) { sscanf(attr[i + 1], "%f%*[%%, \t]%f%*[%%, \t]%f%*[%%, \t]%f", &p->viewMinx, &p->viewMiny, &p->viewWidth, &p->viewHeight); } else if (strcmp(attr[i], "preserveAspectRatio") == 0) {