svg_loader: code refactoring.

simpler code is better for readibility.

Change-Id: I4bc18bb184aea6fea0179bb38b445da5e0acba43
This commit is contained in:
Hermet Park 2020-07-10 09:31:12 +09:00
parent 22581040f3
commit 9299c41a21

View file

@ -1367,16 +1367,11 @@ static SvgNode* _findChildById(SvgNode* node, const char* id)
static void _cloneGradStops(vector<Fill::ColorStop*> *dst, vector<Fill::ColorStop*> src) static void _cloneGradStops(vector<Fill::ColorStop*> *dst, vector<Fill::ColorStop*> src)
{ {
for(vector<Fill::ColorStop*>::iterator itrStop = src.begin(); itrStop != src.end(); itrStop++) { for (auto colorStop : src) {
Fill::ColorStop *stop = (Fill::ColorStop *)malloc(sizeof(Fill::ColorStop)); auto stop = static_cast<Fill::ColorStop *>(malloc(sizeof(Fill::ColorStop)));
stop->r = (*itrStop)->r; *stop = *colorStop;
stop->g = (*itrStop)->g;
stop->b = (*itrStop)->b;
stop->a = (*itrStop)->a;
stop->offset = (*itrStop)->offset;
dst->push_back(stop); dst->push_back(stop);
} }
} }
@ -1571,7 +1566,7 @@ FIND_FACTORY(Graphics, graphicsTags);
FillSpread _parseSpreadValue(const char* value) FillSpread _parseSpreadValue(const char* value)
{ {
FillSpread spread = FillSpread::Pad; auto spread = FillSpread::Pad;
if (!strcmp(value, "reflect")) { if (!strcmp(value, "reflect")) {
spread = FillSpread::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) static bool _attrParseStops(void* data, const char* key, const char* value)
{ {
SvgLoaderData* loader = (SvgLoaderData*)data; SvgLoaderData* loader = (SvgLoaderData*)data;
Fill::ColorStop* stop = loader->svgParse->gradStop; auto stop = loader->svgParse->gradStop;
if (!strcmp(key, "offset")) { if (!strcmp(key, "offset")) {
stop->offset = _toOffset(value); stop->offset = _toOffset(value);
@ -2015,7 +2010,7 @@ static void _svgLoaderParserXmlOpen(SvgLoaderData* loader, const char* content,
} }
loader->latestGradient = gradient; loader->latestGradient = gradient;
} else if (!strcmp(tagName, "stop")) { } else if (!strcmp(tagName, "stop")) {
Fill::ColorStop* stop = (Fill::ColorStop*)calloc(1, sizeof(Fill::ColorStop)); auto stop = static_cast<Fill::ColorStop*>(calloc(1, sizeof(Fill::ColorStop)));
loader->svgParse->gradStop = stop; loader->svgParse->gradStop = stop;
/* default value for opacity */ /* default value for opacity */
stop->a = 255; stop->a = 255;
@ -2168,9 +2163,8 @@ static void _freeGradientStyle(SvgStyleGradient* grad)
free(grad->linear); free(grad->linear);
if (grad->transform) free(grad->transform); if (grad->transform) free(grad->transform);
for(vector<Fill::ColorStop*>::iterator itrStop = grad->stops.begin(); itrStop != grad->stops.end(); itrStop++) { for (auto colorStop : grad->stops) free(colorStop);
free(*itrStop);
}
free(grad); free(grad);
} }
@ -2291,8 +2285,8 @@ bool SvgLoader::read()
else { else {
if (!loader->loaderData.gradients.empty()) { if (!loader->loaderData.gradients.empty()) {
vector<SvgStyleGradient*> gradientList; vector<SvgStyleGradient*> gradientList;
for(vector<SvgStyleGradient*>::iterator itrGrad = loader->loaderData.gradients.begin(); itrGrad != loader->loaderData.gradients.end(); itrGrad++) { for (auto gradient : loader->loaderData.gradients) {
gradientList.push_back(*itrGrad); gradientList.push_back(gradient);
} }
_updateGradient(loader->loaderData.doc, gradientList); _updateGradient(loader->loaderData.doc, gradientList);
gradientList.clear(); gradientList.clear();