From 9299c41a21379e7e7f447de6e67a84efd19d0d6e Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Fri, 10 Jul 2020 09:31:12 +0900 Subject: [PATCH] svg_loader: code refactoring. simpler code is better for readibility. Change-Id: I4bc18bb184aea6fea0179bb38b445da5e0acba43 --- src/loaders/svg_loader/tvgSvgLoader.cpp | 26 ++++++++++--------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/loaders/svg_loader/tvgSvgLoader.cpp b/src/loaders/svg_loader/tvgSvgLoader.cpp index 7c0ff9dc..130a60cd 100644 --- a/src/loaders/svg_loader/tvgSvgLoader.cpp +++ b/src/loaders/svg_loader/tvgSvgLoader.cpp @@ -1367,16 +1367,11 @@ static SvgNode* _findChildById(SvgNode* node, const char* id) static void _cloneGradStops(vector *dst, vector src) { - for(vector::iterator itrStop = src.begin(); itrStop != src.end(); itrStop++) { - Fill::ColorStop *stop = (Fill::ColorStop *)malloc(sizeof(Fill::ColorStop)); - stop->r = (*itrStop)->r; - stop->g = (*itrStop)->g; - stop->b = (*itrStop)->b; - stop->a = (*itrStop)->a; - stop->offset = (*itrStop)->offset; + for (auto colorStop : src) { + auto stop = static_cast(malloc(sizeof(Fill::ColorStop))); + *stop = *colorStop; dst->push_back(stop); } - } @@ -1571,7 +1566,7 @@ FIND_FACTORY(Graphics, graphicsTags); FillSpread _parseSpreadValue(const char* value) { - FillSpread spread = FillSpread::Pad; + auto spread = FillSpread::Pad; if (!strcmp(value, "reflect")) { spread = FillSpread::Reflect; @@ -1737,7 +1732,7 @@ static SvgStyleGradient* _createRadialGradient(SvgLoaderData* loader, const char static bool _attrParseStops(void* data, const char* key, const char* value) { SvgLoaderData* loader = (SvgLoaderData*)data; - Fill::ColorStop* stop = loader->svgParse->gradStop; + auto stop = loader->svgParse->gradStop; if (!strcmp(key, "offset")) { stop->offset = _toOffset(value); @@ -2015,7 +2010,7 @@ static void _svgLoaderParserXmlOpen(SvgLoaderData* loader, const char* content, } loader->latestGradient = gradient; } else if (!strcmp(tagName, "stop")) { - Fill::ColorStop* stop = (Fill::ColorStop*)calloc(1, sizeof(Fill::ColorStop)); + auto stop = static_cast(calloc(1, sizeof(Fill::ColorStop))); loader->svgParse->gradStop = stop; /* default value for opacity */ stop->a = 255; @@ -2168,9 +2163,8 @@ static void _freeGradientStyle(SvgStyleGradient* grad) free(grad->linear); if (grad->transform) free(grad->transform); - for(vector::iterator itrStop = grad->stops.begin(); itrStop != grad->stops.end(); itrStop++) { - free(*itrStop); - } + for (auto colorStop : grad->stops) free(colorStop); + free(grad); } @@ -2291,8 +2285,8 @@ bool SvgLoader::read() else { if (!loader->loaderData.gradients.empty()) { vector gradientList; - for(vector::iterator itrGrad = loader->loaderData.gradients.begin(); itrGrad != loader->loaderData.gradients.end(); itrGrad++) { - gradientList.push_back(*itrGrad); + for (auto gradient : loader->loaderData.gradients) { + gradientList.push_back(gradient); } _updateGradient(loader->loaderData.doc, gradientList); gradientList.clear(); -- 2.34.1