Lines Matching full:if

24 #if LV_USE_THORVG_INTERNAL
51 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
94 if (!str) return nullptr; in _copyId()
95 if (strlen(str) == 0) return nullptr; in _copyId()
104 if (*content == ',') return content + 1; in _skipComma()
114 //If the start of string is not number in _parseNumber()
115 if ((*content) == _end) { in _parseNumber()
116 if (end) *end = _end; in _parseNumber()
119 //Skip comma if any in _parseNumber()
121 if (end) *end = _end; in _parseNumber()
146 if (!strcmp(*content, "none")) { in _parseAspectRatio()
152 if (!strncmp(*content, alignTags[i].tag, 8)) { in _parseAspectRatio()
160 if (!strcmp(*content, "meet")) { in _parseAspectRatio()
162 } else if (!strcmp(*content, "slice")) { in _parseAspectRatio()
175 if (strstr(str, "cm")) parsedValue *= PX_PER_CM; in _toFloat()
176 else if (strstr(str, "mm")) parsedValue *= PX_PER_MM; in _toFloat()
177 else if (strstr(str, "pt")) parsedValue *= PX_PER_PT; in _toFloat()
178 else if (strstr(str, "pc")) parsedValue *= PX_PER_PC; in _toFloat()
179 else if (strstr(str, "in")) parsedValue *= PX_PER_IN; in _toFloat()
180 else if (strstr(str, "%")) { in _toFloat()
181if (type == SvgParserLengthType::Vertical) parsedValue = (parsedValue / 100.0f) * svgParse->global… in _toFloat()
182 …else if (type == SvgParserLengthType::Horizontal) parsedValue = (parsedValue / 100.0f) * svgParse-… in _toFloat()
183 …else if (type == SvgParserLengthType::Diagonal) parsedValue = (sqrtf(powf(svgParse->global.w, 2) +… in _toFloat()
184 else //if other than it's radius in _toFloat()
187 if (max < svgParse->global.h) in _toFloat()
205 if (strstr(str, "%")) { in _gradientToFloat()
209 else if (strstr(str, "cm")) parsedValue *= PX_PER_CM; in _gradientToFloat()
210 else if (strstr(str, "mm")) parsedValue *= PX_PER_MM; in _gradientToFloat()
211 else if (strstr(str, "pt")) parsedValue *= PX_PER_PT; in _gradientToFloat()
212 else if (strstr(str, "pc")) parsedValue *= PX_PER_PC; in _gradientToFloat()
213 else if (strstr(str, "in")) parsedValue *= PX_PER_IN; in _gradientToFloat()
230 if (ptr) { in _toOffset()
232 if (end != ptr || (end + 1) != strEnd) return 0; in _toOffset()
233 } else if (end != strEnd) return 0; in _toOffset()
244 if (end) { in _toOpacity()
245 if (end[0] == '%' && end[1] == '\0') return lrint(opacity * 2.55f); in _toOpacity()
246 else if (*end == '\0') return lrint(opacity * 255); in _toOpacity()
254 if (!strcmp(str, "Alpha")) return SvgMaskType::Alpha; in _toMaskType()
261 //If any is omitted, will be rendered in its default order after the specified ones.
270 if (!strncmp(str, "fill", 4)) { in _toPaintOrder()
273 } else if (!strncmp(str, "stroke", 6)) { in _toPaintOrder()
276 } else if (!strncmp(str, "markers", 7)) { in _toPaintOrder()
283 if (fillPosition == 0) fillPosition = position++; in _toPaintOrder()
284 if (strokePosition == 0) strokePosition = position++; in _toPaintOrder()
296 if (!strcmp(str, Tags_Array[i].tag)) return Tags_Array[i].Name; \
364 if (!strncmp(str, "none", 4)) return; in _PARSE_TAG()
371 if (str == end) break; in _PARSE_TAG()
372 if (parsedValue <= 0.0f) break; in _PARSE_TAG()
373 if (*end == '%') { in _PARSE_TAG()
382 //If dash array size is 1, it means that dash and gap size are the same. in _PARSE_TAG()
383 if ((*dash).array.count == 1) (*dash).array.push((*dash).array[0]); in _PARSE_TAG()
391 if (!open || !close || open >= close) return nullptr; in _idFromUrl()
394 if (!open || open >= close) return nullptr; in _idFromUrl()
399 //trim the rest of the spaces if any in _idFromUrl()
404 if (*id == ' ' || *id == '\'') return nullptr; in _idFromUrl()
417 if (**end == '%') { in _parseColor()
423 if (r < 0 || r > 255) { in _parseColor()
589 if (!red || !green || !blue) return false; in _hslToRgb()
600 if (tvg::zero(saturation)) _red = _green = _blue = brightness; in _hslToRgb()
602 if (tvg::equal(hue, 360.0)) hue = 0.0f; in _hslToRgb()
608 if (!tvg::zero(v)) sv = (v - p) / v; in _hslToRgb()
673 if (len == 4 && str[0] == '#') { in _toColor()
675 if (isxdigit(str[1]) && isxdigit(str[2]) && isxdigit(str[3])) { in _toColor()
688 } else if (len == 7 && str[0] == '#') { in _toColor()
689if (isxdigit(str[1]) && isxdigit(str[2]) && isxdigit(str[3]) && isxdigit(str[4]) && isxdigit(str[5… in _toColor()
702 …} else if (len >= 10 && (str[0] == 'r' || str[0] == 'R') && (str[1] == 'g' || str[1] == 'G') && (s… in _toColor()
704 if (red && *red == ',') { in _toColor()
706 if (green && *green == ',') { in _toColor()
708 if (blue && blue[0] == ')' && blue[1] == '\0') { in _toColor()
716 } else if (ref && len >= 3 && !strncmp(str, "url", 3)) { in _toColor()
717 if (*ref) free(*ref); in _toColor()
720 …} else if (len >= 10 && (str[0] == 'h' || str[0] == 'H') && (str[1] == 's' || str[1] == 'S') && (s… in _toColor()
724 if (_parseNumber(&content, &hue, &th) && hue) { in _toColor()
729 if (_parseNumber(&hue, &saturation, &ts) && saturation && *saturation == '%') { in _toColor()
735if (_parseNumber(&saturation, &brightness, &tb) && brightness && *brightness == '%') { in _toColor()
738 if (brightness && brightness[0] == ')' && brightness[1] == '\0') { in _toColor()
747 if (!strcasecmp(colors[i].name, str)) { in _toColor()
769 if (*str == ',') ++str; in _parseNumbersArray()
818 if (!matrix) return nullptr; in _parseTransformationMatrix()
829 if (isspace(*str) || (*str == ',')) { in _parseTransformationMatrix()
834 if (!strncmp(matrixTags[i].tag, str, matrixTags[i].sz - 1)) { in _parseTransformationMatrix()
840 if (state == MatrixState::Unknown) goto error; in _parseTransformationMatrix()
843 if (*str != '(') goto error; in _parseTransformationMatrix()
846 if (*str != ')') goto error; in _parseTransformationMatrix()
849 if (state == MatrixState::Matrix) { in _parseTransformationMatrix()
850 if (ptCount != 6) goto error; in _parseTransformationMatrix()
853 } else if (state == MatrixState::Translate) { in _parseTransformationMatrix()
854 if (ptCount == 1) { in _parseTransformationMatrix()
857 } else if (ptCount == 2) { in _parseTransformationMatrix()
861 } else if (state == MatrixState::Rotate) { in _parseTransformationMatrix()
864 if (points[0] < 0) points[0] += 360.0f; in _parseTransformationMatrix()
867 if (ptCount == 1) { in _parseTransformationMatrix()
870 } else if (ptCount == 3) { in _parseTransformationMatrix()
880 } else if (state == MatrixState::Scale) { in _parseTransformationMatrix()
881 if (ptCount < 1 || ptCount > 2) goto error; in _parseTransformationMatrix()
884 if (ptCount == 2) sy = points[1]; in _parseTransformationMatrix()
887 } else if (state == MatrixState::SkewX) { in _parseTransformationMatrix()
888 if (ptCount != 1) goto error; in _parseTransformationMatrix()
892 } else if (state == MatrixState::SkewY) { in _parseTransformationMatrix()
893 if (ptCount != 1) goto error; in _parseTransformationMatrix()
901 if (matrix) free(matrix); in _parseTransformationMatrix()
942if (lengthTags[i].sz - 1 == sz && !strncmp(lengthTags[i].tag, str, sz)) *type = lengthTags[i].type;
959 if (!strcmp(key, "width")) { in _attrParseSvgNode()
961 if (strstr(value, "%") && !(doc->viewFlag & SvgViewFlag::Viewbox)) { in _attrParseSvgNode()
966 } else if (!strcmp(key, "height")) { in _attrParseSvgNode()
968 if (strstr(value, "%") && !(doc->viewFlag & SvgViewFlag::Viewbox)) { in _attrParseSvgNode()
973 } else if (!strcmp(key, "viewBox")) { in _attrParseSvgNode()
974 if (_parseNumber(&value, nullptr, &doc->vx)) { in _attrParseSvgNode()
975 if (_parseNumber(&value, nullptr, &doc->vy)) { in _attrParseSvgNode()
976 if (_parseNumber(&value, nullptr, &doc->vw)) { in _attrParseSvgNode()
977 if (_parseNumber(&value, nullptr, &doc->vh)) { in _attrParseSvgNode()
987 if ((doc->viewFlag & SvgViewFlag::Viewbox) && (doc->vw < 0.0f || doc->vh < 0.0f)) { in _attrParseSvgNode()
991 if (!(doc->viewFlag & SvgViewFlag::Viewbox)) { in _attrParseSvgNode()
995 } else if (!strcmp(key, "preserveAspectRatio")) { in _attrParseSvgNode()
997 } else if (!strcmp(key, "style")) { in _attrParseSvgNode()
1000 …} else if ((!strcmp(key, "x") || !strcmp(key, "y")) && fabsf(strToFloat(value, nullptr)) > FLOAT_E… in _attrParseSvgNode()
1013 if (!strcmp(value, "none")) { in _handlePaintAttr()
1018 if (!strcmp(value, "currentColor")) { in _handlePaintAttr()
1023if (_toColor(value, &paint->color.r, &paint->color.g, &paint->color.b, &paint->url)) paint->none =… in _handlePaintAttr()
1030 if (_toColor(value, &style->color.r, &style->color.g, &style->color.b, nullptr)) { in _handleColorAttr()
1097 if (miterlimit < 0.0f) { in _handleStrokeMiterlimitAttr()
1138 if (len >= 3 && !strncmp(value, "url", 3)) { in _handleClipPathAttr()
1139 if (style->clipPath.url) free(style->clipPath.url); in _handleClipPathAttr()
1149 if (len >= 3 && !strncmp(value, "url", 3)) { in _handleMaskAttr()
1150 if (style->mask.url) free(style->mask.url); in _handleMaskAttr()
1169 if (!strcmp(value, "none")) node->style->display = false; in _handleDisplayAttr()
1185 if (*cssClass && value) free(*cssClass); in _handleCssClassAttr()
1191 if (auto cssNode = cssFindStyleNode(loader->cssStyle, *cssClass, node->type)) { in _handleCssClassAttr()
1195 if (auto cssNode = cssFindStyleNode(loader->cssStyle, *cssClass)) { in _handleCssClassAttr()
1200 if (!cssClassFound) _postpone(loader->nodesToStyle, node, *cssClass); in _handleCssClassAttr()
1243 if (!key || !value) return false; in _parseStyleAttr()
1251 if (styleTags[i].sz - 1 == sz && !strncmp(styleTags[i].tag, key, sz)) { in _parseStyleAttr()
1253 if (auto ptr = strstr(value, "!important")) { in _parseStyleAttr()
1261 if (style) { in _parseStyleAttr()
1262 if (importance || !(node->style->flagsImportance & styleTags[i].flag)) { in _parseStyleAttr()
1266 } else if (!(node->style->flags & styleTags[i].flag)) { in _parseStyleAttr()
1269 if (importance) { in _parseStyleAttr()
1295 if (!strcmp(key, "style")) { in _attrParseGNode()
1297 } else if (!strcmp(key, "transform")) { in _attrParseGNode()
1299 } else if (!strcmp(key, "id")) { in _attrParseGNode()
1300 if (node->id && value) free(node->id); in _attrParseGNode()
1302 } else if (!strcmp(key, "class")) { in _attrParseGNode()
1304 } else if (!strcmp(key, "clip-path")) { in _attrParseGNode()
1306 } else if (!strcmp(key, "mask")) { in _attrParseGNode()
1324 if (!strcmp(key, "style")) { in _attrParseClipPathNode()
1326 } else if (!strcmp(key, "transform")) { in _attrParseClipPathNode()
1328 } else if (!strcmp(key, "id")) { in _attrParseClipPathNode()
1329 if (node->id && value) free(node->id); in _attrParseClipPathNode()
1331 } else if (!strcmp(key, "class")) { in _attrParseClipPathNode()
1333 } else if (!strcmp(key, "clipPathUnits")) { in _attrParseClipPathNode()
1334 if (!strcmp(value, "objectBoundingBox")) clip->userSpace = false; in _attrParseClipPathNode()
1348 if (!strcmp(key, "style")) { in _attrParseMaskNode()
1350 } else if (!strcmp(key, "transform")) { in _attrParseMaskNode()
1352 } else if (!strcmp(key, "id")) { in _attrParseMaskNode()
1353 if (node->id && value) free(node->id); in _attrParseMaskNode()
1355 } else if (!strcmp(key, "class")) { in _attrParseMaskNode()
1357 } else if (!strcmp(key, "maskContentUnits")) { in _attrParseMaskNode()
1358 if (!strcmp(value, "objectBoundingBox")) mask->userSpace = false; in _attrParseMaskNode()
1359 } else if (!strcmp(key, "mask-type")) { in _attrParseMaskNode()
1373 if (!strcmp(key, "id")) { in _attrParseCssStyleNode()
1374 if (node->id && value) free(node->id); in _attrParseCssStyleNode()
1389 if (!strcmp(key, "viewBox")) { in _attrParseSymbolNode()
1390if (!_parseNumber(&value, nullptr, &symbol->vx) || !_parseNumber(&value, nullptr, &symbol->vy)) re… in _attrParseSymbolNode()
1391if (!_parseNumber(&value, nullptr, &symbol->vw) || !_parseNumber(&value, nullptr, &symbol->vh)) re… in _attrParseSymbolNode()
1393 } else if (!strcmp(key, "width")) { in _attrParseSymbolNode()
1396 } else if (!strcmp(key, "height")) { in _attrParseSymbolNode()
1399 } else if (!strcmp(key, "preserveAspectRatio")) { in _attrParseSymbolNode()
1401 } else if (!strcmp(key, "overflow")) { in _attrParseSymbolNode()
1402 if (!strcmp(value, "visible")) symbol->overflowVisible = true; in _attrParseSymbolNode()
1415 if (!node) return nullptr; in _createNode()
1420 if (!node->style) { in _createNode()
1460 if (parent) parent->child.push(node); in _createNode()
1467 if (loader->def && loader->doc->node.doc.defs) return loader->def; in _createDefsNode()
1479 if (!loader->svgParse->node) return nullptr; in _createGNode()
1489 if (!loader->svgParse->node) return nullptr; in _createSvgNode()
1500 if (!(doc->viewFlag & SvgViewFlag::Viewbox)) { in _createSvgNode()
1501 if (doc->viewFlag & SvgViewFlag::Width) { in _createSvgNode()
1504 if (doc->viewFlag & SvgViewFlag::Height) { in _createSvgNode()
1515 if (!loader->svgParse->node) return nullptr; in _createMaskNode()
1529 if (!loader->svgParse->node) return nullptr; in _createClipPathNode()
1543 if (!loader->svgParse->node) return nullptr; in _createCssStyleNode()
1554 if (!loader->svgParse->node) return nullptr; in _createSymbolNode()
1578 if (!strcmp(key, "d")) { in _attrParsePathNode()
1579 if (path->path) free(path->path); in _attrParsePathNode()
1582 } else if (!strcmp(key, "style")) { in _attrParsePathNode()
1584 } else if (!strcmp(key, "clip-path")) { in _attrParsePathNode()
1586 } else if (!strcmp(key, "mask")) { in _attrParsePathNode()
1588 } else if (!strcmp(key, "id")) { in _attrParsePathNode()
1589 if (node->id && value) free(node->id); in _attrParsePathNode()
1591 } else if (!strcmp(key, "class")) { in _attrParsePathNode()
1604 if (!loader->svgParse->node) return nullptr; in _createPathNode()
1638 if (circleTags[i].sz - 1 == sz && !strncmp(circleTags[i].tag, key, sz)) { in _attrParseCircleNode()
1644 if (!strcmp(key, "style")) { in _attrParseCircleNode()
1646 } else if (!strcmp(key, "clip-path")) { in _attrParseCircleNode()
1648 } else if (!strcmp(key, "mask")) { in _attrParseCircleNode()
1650 } else if (!strcmp(key, "id")) { in _attrParseCircleNode()
1651 if (node->id && value) free(node->id); in _attrParseCircleNode()
1653 } else if (!strcmp(key, "class")) { in _attrParseCircleNode()
1666 if (!loader->svgParse->node) return nullptr; in _createCircleNode()
1700 if (ellipseTags[i].sz - 1 == sz && !strncmp(ellipseTags[i].tag, key, sz)) { in _attrParseEllipseNode()
1706 if (!strcmp(key, "id")) { in _attrParseEllipseNode()
1707 if (node->id && value) free(node->id); in _attrParseEllipseNode()
1709 } else if (!strcmp(key, "class")) { in _attrParseEllipseNode()
1711 } else if (!strcmp(key, "style")) { in _attrParseEllipseNode()
1713 } else if (!strcmp(key, "clip-path")) { in _attrParseEllipseNode()
1715 } else if (!strcmp(key, "mask")) { in _attrParseEllipseNode()
1728 if (!loader->svgParse->node) return nullptr; in _createEllipseNode()
1755 if (node->type == SvgNodeType::Polygon) polygon = &(node->node.polygon); in _attrParsePolygonNode()
1758 if (!strcmp(key, "points")) { in _attrParsePolygonNode()
1760 } else if (!strcmp(key, "style")) { in _attrParsePolygonNode()
1762 } else if (!strcmp(key, "clip-path")) { in _attrParsePolygonNode()
1764 } else if (!strcmp(key, "mask")) { in _attrParsePolygonNode()
1766 } else if (!strcmp(key, "id")) { in _attrParsePolygonNode()
1767 if (node->id && value) free(node->id); in _attrParsePolygonNode()
1769 } else if (!strcmp(key, "class")) { in _attrParsePolygonNode()
1782 if (!loader->svgParse->node) return nullptr; in _createPolygonNode()
1793 if (!loader->svgParse->node) return nullptr; in _createPolylineNode()
1829 if (rectTags[i].sz - 1 == sz && !strncmp(rectTags[i].tag, key, sz)) { in _attrParseRectNode()
1832 //Case if only rx or ry is declared in _attrParseRectNode()
1833 if (!strncmp(rectTags[i].tag, "rx", sz)) rect->hasRx = true; in _attrParseRectNode()
1834 if (!strncmp(rectTags[i].tag, "ry", sz)) rect->hasRy = true; in _attrParseRectNode()
1836if ((rect->rx >= FLOAT_EPSILON) && (rect->ry < FLOAT_EPSILON) && rect->hasRx && !rect->hasRy) rect… in _attrParseRectNode()
1837if ((rect->ry >= FLOAT_EPSILON) && (rect->rx < FLOAT_EPSILON) && !rect->hasRx && rect->hasRy) rect… in _attrParseRectNode()
1842 if (!strcmp(key, "id")) { in _attrParseRectNode()
1843 if (node->id && value) free(node->id); in _attrParseRectNode()
1845 } else if (!strcmp(key, "class")) { in _attrParseRectNode()
1847 } else if (!strcmp(key, "style")) { in _attrParseRectNode()
1849 } else if (!strcmp(key, "clip-path")) { in _attrParseRectNode()
1851 } else if (!strcmp(key, "mask")) { in _attrParseRectNode()
1865 if (!loader->svgParse->node) return nullptr; in _createRectNode()
1901 if (lineTags[i].sz - 1 == sz && !strncmp(lineTags[i].tag, key, sz)) { in _attrParseLineNode()
1907 if (!strcmp(key, "id")) { in _attrParseLineNode()
1908 if (node->id && value) free(node->id); in _attrParseLineNode()
1910 } else if (!strcmp(key, "class")) { in _attrParseLineNode()
1912 } else if (!strcmp(key, "style")) { in _attrParseLineNode()
1914 } else if (!strcmp(key, "clip-path")) { in _attrParseLineNode()
1916 } else if (!strcmp(key, "mask")) { in _attrParseLineNode()
1929 if (!loader->svgParse->node) return nullptr; in _createLineNode()
1939 if ((*href) == '#') href++; in _idFromHref()
1971 if (imageTags[i].sz - 1 == sz && !strncmp(imageTags[i].tag, key, sz)) { in _attrParseImageNode()
1977 if (!strcmp(key, "href") || !strcmp(key, "xlink:href")) { in _attrParseImageNode()
1978 if (image->href && value) free(image->href); in _attrParseImageNode()
1980 } else if (!strcmp(key, "id")) { in _attrParseImageNode()
1981 if (node->id && value) free(node->id); in _attrParseImageNode()
1983 } else if (!strcmp(key, "class")) { in _attrParseImageNode()
1985 } else if (!strcmp(key, "style")) { in _attrParseImageNode()
1987 } else if (!strcmp(key, "clip-path")) { in _attrParseImageNode()
1989 } else if (!strcmp(key, "mask")) { in _attrParseImageNode()
1991 } else if (!strcmp(key, "transform")) { in _attrParseImageNode()
2004 if (!loader->svgParse->node) return nullptr; in _createImageNode()
2013 if (!node) return nullptr; in _getDefsNode()
2019 if (node->type == SvgNodeType::Doc) return node->node.doc.defs; in _getDefsNode()
2020 if (node->type == SvgNodeType::Defs) return node; in _getDefsNode()
2028 if (!node) return nullptr; in _findNodeById()
2031 if (node->id && !strcmp(node->id, id)) return node; in _findNodeById()
2033 if (node->child.count > 0) { in _findNodeById()
2037 if (result) break; in _findNodeById()
2048 if (parent->id && !strcmp(parent->id, id)) { in _findParentById()
2082 if (useTags[i].sz - 1 == sz && !strncmp(useTags[i].tag, key, sz)) { in _attrParseUseNode()
2085 if (useTags[i].offset == offsetof(SvgUseNode, w)) use->isWidthSet = true; in _attrParseUseNode()
2086 else if (useTags[i].offset == offsetof(SvgUseNode, h)) use->isHeightSet = true; in _attrParseUseNode()
2092 if (!strcmp(key, "href") || !strcmp(key, "xlink:href")) { in _attrParseUseNode()
2096 if (nodeFrom) { in _attrParseUseNode()
2097 if (!_findParentById(node, id, loader->doc)) { in _attrParseUseNode()
2099 if (nodeFrom->type == SvgNodeType::Symbol) use->symbol = nodeFrom; in _attrParseUseNode()
2106 //if so the 'from' element won't be found now and we have to repeat finding in _attrParseUseNode()
2121 if (!loader->svgParse->node) return nullptr; in _createUseNode()
2155 if (textTags[i].sz - 1 == sz && !strncmp(textTags[i].tag, key, sz)) { in _attrParseTextNode()
2161 if (!strcmp(key, "font-family")) { in _attrParseTextNode()
2162 if (text->fontFamily && value) free(text->fontFamily); in _attrParseTextNode()
2164 } else if (!strcmp(key, "style")) { in _attrParseTextNode()
2166 } else if (!strcmp(key, "clip-path")) { in _attrParseTextNode()
2168 } else if (!strcmp(key, "mask")) { in _attrParseTextNode()
2170 } else if (!strcmp(key, "id")) { in _attrParseTextNode()
2171 if (node->id && value) free(node->id); in _attrParseTextNode()
2173 } else if (!strcmp(key, "class")) { in _attrParseTextNode()
2185 if (!loader->svgParse->node) return nullptr; in _createTextNode()
2241 if (Tags_Array[i].sz - 1 == sz && !strncmp(Tags_Array[i].tag, name, sz)) { \
2256 if (!strcmp(value, "reflect")) { in FIND_FACTORY()
2258 } else if (!strcmp(value, "repeat")) { in FIND_FACTORY()
2269 if (!loader->svgParse->gradient.parsedFx) { in _handleRadialCxAttr()
2279 if (!loader->svgParse->gradient.parsedFy) { in _handleRadialCyAttr()
2314 if (userSpace && !radial->isCxPercentage) radial->cx = radial->cx / loader->svgParse->global.w; in _recalcRadialCxAttr()
2320 if (userSpace && !radial->isCyPercentage) radial->cy = radial->cy / loader->svgParse->global.h; in _recalcRadialCyAttr()
2326 if (userSpace && !radial->isFxPercentage) radial->fx = radial->fx / loader->svgParse->global.w; in _recalcRadialFxAttr()
2332 if (userSpace && !radial->isFyPercentage) radial->fy = radial->fy / loader->svgParse->global.h; in _recalcRadialFyAttr()
2339if (userSpace && !radial->isFrPercentage) radial->fr = radial->fr / (sqrtf(powf(loader->svgParse->… in _recalcRadialFrAttr()
2346if (userSpace && !radial->isRPercentage) radial->r = radial->r / (sqrtf(powf(loader->svgParse->glo… in _recalcRadialRAttr()
2352 if (!radial->isCxPercentage) { in _recalcInheritedRadialCxAttr()
2353 if (userSpace) radial->cx /= loader->svgParse->global.w; in _recalcInheritedRadialCxAttr()
2361 if (!radial->isCyPercentage) { in _recalcInheritedRadialCyAttr()
2362 if (userSpace) radial->cy /= loader->svgParse->global.h; in _recalcInheritedRadialCyAttr()
2370 if (!radial->isFxPercentage) { in _recalcInheritedRadialFxAttr()
2371 if (userSpace) radial->fx /= loader->svgParse->global.w; in _recalcInheritedRadialFxAttr()
2379 if (!radial->isFyPercentage) { in _recalcInheritedRadialFyAttr()
2380 if (userSpace) radial->fy /= loader->svgParse->global.h; in _recalcInheritedRadialFyAttr()
2388 if (!radial->isFrPercentage) { in _recalcInheritedRadialFrAttr()
2389if (userSpace) radial->fr /= sqrtf(powf(loader->svgParse->global.h, 2) + powf(loader->svgParse->gl… in _recalcInheritedRadialFrAttr()
2397 if (!radial->isRPercentage) { in _recalcInheritedRadialRAttr()
2398if (userSpace) radial->r /= sqrtf(powf(loader->svgParse->global.h, 2) + powf(loader->svgParse->glo… in _recalcInheritedRadialRAttr()
2490 if (radialTags[i].sz - 1 == sz && !strncmp(radialTags[i].tag, key, sz)) { in _attrParseRadialGradientNode()
2497 if (!strcmp(key, "id")) { in _attrParseRadialGradientNode()
2498 if (grad->id && value) free(grad->id); in _attrParseRadialGradientNode()
2500 } else if (!strcmp(key, "spreadMethod")) { in _attrParseRadialGradientNode()
2503 } else if (!strcmp(key, "href") || !strcmp(key, "xlink:href")) { in _attrParseRadialGradientNode()
2504 if (grad->ref && value) free(grad->ref); in _attrParseRadialGradientNode()
2506 } else if (!strcmp(key, "gradientUnits")) { in _attrParseRadialGradientNode()
2507 if (!strcmp(value, "userSpaceOnUse")) grad->userSpace = true; in _attrParseRadialGradientNode()
2509 } else if (!strcmp(key, "gradientTransform")) { in _attrParseRadialGradientNode()
2528 if (!grad->radial) { in _createRadialGradient()
2566 if (!strcmp(key, "stop-opacity")) { in _attrParseStopsStyle()
2569 } else if (!strcmp(key, "stop-color")) { in _attrParseStopsStyle()
2570 if (_toColor(value, &stop->r, &stop->g, &stop->b, nullptr)) { in _attrParseStopsStyle()
2586 if (!strcmp(key, "offset")) { in _attrParseStops()
2588 } else if (!strcmp(key, "stop-opacity")) { in _attrParseStops()
2589 if (!(loader->svgParse->flags & SvgStopStyleFlags::StopOpacity)) { in _attrParseStops()
2592 } else if (!strcmp(key, "stop-color")) { in _attrParseStops()
2593 if (!(loader->svgParse->flags & SvgStopStyleFlags::StopColor)) { in _attrParseStops()
2596 } else if (!strcmp(key, "style")) { in _attrParseStops()
2632 if (userSpace && !linear->isX1Percentage) linear->x1 = linear->x1 / loader->svgParse->global.w; in _recalcLinearX1Attr()
2638 if (userSpace && !linear->isY1Percentage) linear->y1 = linear->y1 / loader->svgParse->global.h; in _recalcLinearY1Attr()
2644 if (userSpace && !linear->isX2Percentage) linear->x2 = linear->x2 / loader->svgParse->global.w; in _recalcLinearX2Attr()
2650 if (userSpace && !linear->isY2Percentage) linear->y2 = linear->y2 / loader->svgParse->global.h; in _recalcLinearY2Attr()
2656 if (!linear->isX1Percentage) { in _recalcInheritedLinearX1Attr()
2657 if (userSpace) linear->x1 /= loader->svgParse->global.w; in _recalcInheritedLinearX1Attr()
2665 if (!linear->isX2Percentage) { in _recalcInheritedLinearX2Attr()
2666 if (userSpace) linear->x2 /= loader->svgParse->global.w; in _recalcInheritedLinearX2Attr()
2674 if (!linear->isY1Percentage) { in _recalcInheritedLinearY1Attr()
2675 if (userSpace) linear->y1 /= loader->svgParse->global.h; in _recalcInheritedLinearY1Attr()
2683 if (!linear->isY2Percentage) { in _recalcInheritedLinearY2Attr()
2684 if (userSpace) linear->y2 /= loader->svgParse->global.h; in _recalcInheritedLinearY2Attr()
2758 if (linear_tags[i].sz - 1 == sz && !strncmp(linear_tags[i].tag, key, sz)) { in _attrParseLinearGradientNode()
2765 if (!strcmp(key, "id")) { in _attrParseLinearGradientNode()
2766 if (grad->id && value) free(grad->id); in _attrParseLinearGradientNode()
2768 } else if (!strcmp(key, "spreadMethod")) { in _attrParseLinearGradientNode()
2771 } else if (!strcmp(key, "href") || !strcmp(key, "xlink:href")) { in _attrParseLinearGradientNode()
2772 if (grad->ref && value) free(grad->ref); in _attrParseLinearGradientNode()
2774 } else if (!strcmp(key, "gradientUnits")) { in _attrParseLinearGradientNode()
2775 if (!strcmp(value, "userSpaceOnUse")) grad->userSpace = true; in _attrParseLinearGradientNode()
2777 } else if (!strcmp(key, "gradientTransform")) { in _attrParseLinearGradientNode()
2796 if (!grad->linear) { in _createLinearGradient()
2844 if (gradientTags[i].sz - 1 == sz && !strncmp(gradientTags[i].tag, name, sz)) { in _findGradientFactory()
2862 if (!to || !from) return; in _inheritGradient()
2864if (!(to->flags & SvgGradientFlags::SpreadMethod) && (from->flags & SvgGradientFlags::SpreadMethod… in _inheritGradient()
2869if (!(to->flags & SvgGradientFlags::GradientUnits) && (from->flags & SvgGradientFlags::GradientUni… in _inheritGradient()
2874 if (!to->transform && from->transform) { in _inheritGradient()
2876 if (to->transform) memcpy(to->transform, from->transform, sizeof(Matrix)); in _inheritGradient()
2879 if (to->type == SvgGradientType::Linear) { in _inheritGradient()
2882 if (!(to->flags & linear_tags[i].flag) && (from->flags & linear_tags[i].flag)) { in _inheritGradient()
2887 if (!gradUnitSet && coordSet) { in _inheritGradient()
2891 if (to->userSpace == from->userSpace) continue; in _inheritGradient()
2892 if (gradUnitSet && !coordSet) { in _inheritGradient()
2896 } else if (to->type == SvgGradientType::Radial) { in _inheritGradient()
2899 if (!(to->flags & radialTags[i].flag) && (from->flags & radialTags[i].flag)) { in _inheritGradient()
2904 if (!gradUnitSet && coordSet) { in _inheritGradient()
2906 //If fx and fy are not set, set cx and cy. in _inheritGradient()
2907if (!strcmp(radialTags[i].tag, "cx") && !(to->flags & SvgGradientFlags::Fx)) to->radial->fx = to->… in _inheritGradient()
2908if (!strcmp(radialTags[i].tag, "cy") && !(to->flags & SvgGradientFlags::Fy)) to->radial->fy = to->… in _inheritGradient()
2911 if (to->userSpace == from->userSpace) continue; in _inheritGradient()
2912 if (gradUnitSet && !coordSet) { in _inheritGradient()
2913 //If fx and fx are not set, do not call recalc. in _inheritGradient()
2914if (!strcmp(radialTags[i].tag, "fx") && !(to->flags & SvgGradientFlags::Fx)) continue; in _inheritGradient()
2915if (!strcmp(radialTags[i].tag, "fy") && !(to->flags & SvgGradientFlags::Fy)) continue; in _inheritGradient()
2921 if (to->stops.empty()) _cloneGradStops(to->stops, from->stops); in _inheritGradient()
2927 if (!from) return nullptr; in _cloneGradient()
2930 if (!grad) return nullptr; in _cloneGradient()
2939 if (from->transform) { in _cloneGradient()
2941 if (grad->transform) memcpy(grad->transform, from->transform, sizeof(Matrix)); in _cloneGradient()
2944 if (grad->type == SvgGradientType::Linear) { in _cloneGradient()
2946 if (!grad->linear) goto error_grad_alloc; in _cloneGradient()
2948 } else if (grad->type == SvgGradientType::Radial) { in _cloneGradient()
2950 if (!grad->radial) goto error_grad_alloc; in _cloneGradient()
2959 if (grad) { in _cloneGradient()
2969 if (parent == nullptr) return; in _styleInherit()
2970 //Inherit the property of parent if not present in child. in _styleInherit()
2971 if (!child->curColorSet) { in _styleInherit()
2975 if (!(child->flags & SvgStyleFlags::PaintOrder)) { in _styleInherit()
2979 if (!(child->fill.flags & SvgFillFlags::Paint)) { in _styleInherit()
2983 if (parent->fill.paint.url) { in _styleInherit()
2984 if (child->fill.paint.url) free(child->fill.paint.url); in _styleInherit()
2988 if (!(child->fill.flags & SvgFillFlags::Opacity)) { in _styleInherit()
2991 if (!(child->fill.flags & SvgFillFlags::FillRule)) { in _styleInherit()
2995 if (!(child->stroke.flags & SvgStrokeFlags::Paint)) { in _styleInherit()
2999 if (parent->stroke.paint.url) { in _styleInherit()
3000 if (child->stroke.paint.url) free(child->stroke.paint.url); in _styleInherit()
3004 if (!(child->stroke.flags & SvgStrokeFlags::Opacity)) { in _styleInherit()
3007 if (!(child->stroke.flags & SvgStrokeFlags::Width)) { in _styleInherit()
3010 if (!(child->stroke.flags & SvgStrokeFlags::Dash)) { in _styleInherit()
3011 if (parent->stroke.dash.array.count > 0) { in _styleInherit()
3019 if (!(child->stroke.flags & SvgStrokeFlags::DashOffset)) { in _styleInherit()
3022 if (!(child->stroke.flags & SvgStrokeFlags::Cap)) { in _styleInherit()
3025 if (!(child->stroke.flags & SvgStrokeFlags::Join)) { in _styleInherit()
3028 if (!(child->stroke.flags & SvgStrokeFlags::Miterlimit)) { in _styleInherit()
3036 if (from == nullptr) return; in _styleCopy()
3037 //Copy the properties of 'from' only if they were explicitly set (not the default ones). in _styleCopy()
3038 if (from->curColorSet) { in _styleCopy()
3042 if (from->flags & SvgStyleFlags::Opacity) { in _styleCopy()
3045 if (from->flags & SvgStyleFlags::PaintOrder) { in _styleCopy()
3048 if (from->flags & SvgStyleFlags::Display) { in _styleCopy()
3053 if (from->fill.flags & SvgFillFlags::Paint) { in _styleCopy()
3057 if (from->fill.paint.url) { in _styleCopy()
3058 if (to->fill.paint.url) free(to->fill.paint.url); in _styleCopy()
3062 if (from->fill.flags & SvgFillFlags::Opacity) { in _styleCopy()
3065 if (from->fill.flags & SvgFillFlags::FillRule) { in _styleCopy()
3070 if (from->stroke.flags & SvgStrokeFlags::Paint) { in _styleCopy()
3074 if (from->stroke.paint.url) { in _styleCopy()
3075 if (to->stroke.paint.url) free(to->stroke.paint.url); in _styleCopy()
3079 if (from->stroke.flags & SvgStrokeFlags::Opacity) { in _styleCopy()
3082 if (from->stroke.flags & SvgStrokeFlags::Width) { in _styleCopy()
3085 if (from->stroke.flags & SvgStrokeFlags::Dash) { in _styleCopy()
3086 if (from->stroke.dash.array.count > 0) { in _styleCopy()
3094 if (from->stroke.flags & SvgStrokeFlags::DashOffset) { in _styleCopy()
3097 if (from->stroke.flags & SvgStrokeFlags::Cap) { in _styleCopy()
3100 if (from->stroke.flags & SvgStrokeFlags::Join) { in _styleCopy()
3103 if (from->stroke.flags & SvgStrokeFlags::Miterlimit) { in _styleCopy()
3112 if (from->transform) { in _copyAttr()
3114 if (to->transform) *to->transform = *from->transform; in _copyAttr()
3119 if (from->style->clipPath.url) { in _copyAttr()
3120 if (to->style->clipPath.url) free(to->style->clipPath.url); in _copyAttr()
3123 if (from->style->mask.url) { in _copyAttr()
3124 if (to->style->mask.url) free(to->style->mask.url); in _copyAttr()
3162 if (from->node.path.path) { in _copyAttr()
3163 if (to->node.path.path) free(to->node.path.path); in _copyAttr()
3169 if ((to->node.polygon.pts.count = from->node.polygon.pts.count)) { in _copyAttr()
3175 if ((to->node.polyline.pts.count = from->node.polyline.pts.count)) { in _copyAttr()
3185 if (from->node.image.href) { in _copyAttr()
3186 if (to->node.image.href) free(to->node.image.href); in _copyAttr()
3205 if (from->node.text.text) { in _copyAttr()
3206 if (to->node.text.text) free(to->node.text.text); in _copyAttr()
3209 if (from->node.text.fontFamily) { in _copyAttr()
3210 if (to->node.text.fontFamily) free(to->node.text.fontFamily); in _copyAttr()
3226 if (depth == 8192) { in _cloneNode()
3232 if (!from || !parent || from == parent) return; in _cloneNode()
3235 if (!newNode) return; in _cloneNode()
3253 if (!nodeFrom) nodeFrom = _findNodeById(doc, nodeIdPair.id); in _clonePostponedNodes()
3254 if (!_findParentById(nodeIdPair.node, nodeIdPair.id, doc)) { in _clonePostponedNodes()
3256if (nodeFrom && nodeFrom->type == SvgNodeType::Symbol && nodeIdPair.node->type == SvgNodeType::Use… in _clonePostponedNodes()
3277 if (itr) { in _svgLoaderParserXmlClose()
3280 if ((unsigned int)sz >= sizeof(tagName)) sz = sizeof(tagName) - 1; in _svgLoaderParserXmlClose()
3287 if (!strncmp(tagName, groupTags[i].tag, sz)) { in _svgLoaderParserXmlClose()
3294 if (!strncmp(tagName, graphicsTags[i].tag, sz)) { in _svgLoaderParserXmlClose()
3296 if (!strncmp(tagName, "text", 4)) loader->openedTag = OpenedTagType::Other; in _svgLoaderParserXmlClose()
3318 if (!attrs) { in _svgLoaderParserXmlOpen()
3322 if (empty) attrs--; in _svgLoaderParserXmlOpen()
3325 if (attrs) { in _svgLoaderParserXmlOpen()
3329 if ((unsigned)sz >= sizeof(tagName)) return; in _svgLoaderParserXmlOpen()
3335 if ((method = _findGroupFactory(tagName))) { in _svgLoaderParserXmlOpen()
3337 if (empty) return; in _svgLoaderParserXmlOpen()
3338 if (!loader->doc) { in _svgLoaderParserXmlOpen()
3339 if (strcmp(tagName, "svg")) return; //Not a valid svg document in _svgLoaderParserXmlOpen()
3343 if (!strcmp(tagName, "svg")) return; //Already loaded <svg>(SvgNodeType::Doc) tag in _svgLoaderParserXmlOpen()
3344 if (loader->stack.count > 0) parent = loader->stack.last(); in _svgLoaderParserXmlOpen()
3346 if (!strcmp(tagName, "style")) { in _svgLoaderParserXmlOpen()
3348 // is introduced this if condition shouldn't be necessary any more in _svgLoaderParserXmlOpen()
3349 if (!loader->cssStyle) { in _svgLoaderParserXmlOpen()
3360 if (!node) return; in _svgLoaderParserXmlOpen()
3361 if (node->type != SvgNodeType::Defs || !empty) { in _svgLoaderParserXmlOpen()
3364 } else if ((method = _findGraphicsFactory(tagName))) { in _svgLoaderParserXmlOpen()
3365 if (loader->stack.count > 0) parent = loader->stack.last(); in _svgLoaderParserXmlOpen()
3368 if (node && !empty) { in _svgLoaderParserXmlOpen()
3369 if (!strcmp(tagName, "text")) loader->openedTag = OpenedTagType::Text; in _svgLoaderParserXmlOpen()
3374 } else if ((gradientMethod = _findGradientFactory(tagName))) { in _svgLoaderParserXmlOpen()
3378 // There is no way to know if the currently parsed gradient is in defs. in _svgLoaderParserXmlOpen()
3379 …// If a gradient is declared outside of defs after defs is set, it is included in the gradie… in _svgLoaderParserXmlOpen()
3381 …// This is only to support this when multiple gradients are declared, even if no defs are de… in _svgLoaderParserXmlOpen()
3383 if (loader->def && loader->doc->node.doc.defs) { in _svgLoaderParserXmlOpen()
3389 } else if (!strcmp(tagName, "stop")) { in _svgLoaderParserXmlOpen()
3390 if (!loader->latestGradient) { in _svgLoaderParserXmlOpen()
3399 } else if (!isIgnoreUnsupportedLogElements(tagName)) { in _svgLoaderParserXmlOpen()
3424 if ((method = _findGroupFactory(tag))) { in _svgLoaderParserXmlCssStyle()
3425if ((node = method(loader, loader->cssStyle, attrs, attrsLength, simpleXmlParseW3CAttribute))) nod… in _svgLoaderParserXmlCssStyle()
3426 } else if ((method = _findGraphicsFactory(tag))) { in _svgLoaderParserXmlCssStyle()
3427if ((node = method(loader, loader->cssStyle, attrs, attrsLength, simpleXmlParseW3CAttribute))) nod… in _svgLoaderParserXmlCssStyle()
3428 } else if ((gradientMethod = _findGradientFactory(tag))) { in _svgLoaderParserXmlCssStyle()
3430 } else if (!strcmp(tag, "stop")) { in _svgLoaderParserXmlCssStyle()
3432 } else if (!strcmp(tag, "all")) { in _svgLoaderParserXmlCssStyle()
3433if ((node = _createCssStyleNode(loader, loader->cssStyle, attrs, attrsLength, simpleXmlParseW3CAtt… in _svgLoaderParserXmlCssStyle()
3434 } else if (!isIgnoreUnsupportedLogElements(tag)) { in _svgLoaderParserXmlCssStyle()
3467if (loader->openedTag == OpenedTagType::Style) _svgLoaderParserXmlCssStyle(loader, content, length… in _svgLoaderParser()
3468 … else if (loader->openedTag == OpenedTagType::Text) _svgLoaderParserText(loader, content, length); in _svgLoaderParser()
3493if (!node->style->display && node->type != SvgNodeType::ClipPath) TVGLOG("SVG", "Inefficient eleme… in _inefficientNodeCheck()
3494if (node->style->opacity == 0) TVGLOG("SVG", "Inefficient elements used [Opacity is zero][Node Typ… in _inefficientNodeCheck()
3495if (node->style->fill.opacity == 0 && node->style->stroke.opacity == 0) TVGLOG("SVG", "Inefficient… in _inefficientNodeCheck()
3499if (!node->node.path.path) TVGLOG("SVG", "Inefficient elements used [Empty path][Node Type : %s]",… in _inefficientNodeCheck()
3503if (node->node.ellipse.rx == 0 && node->node.ellipse.ry == 0) TVGLOG("SVG", "Inefficient elements … in _inefficientNodeCheck()
3508if (node->node.polygon.pts.count < 2) TVGLOG("SVG", "Inefficient elements used [Invalid Polygon][N… in _inefficientNodeCheck()
3512if (node->node.circle.r == 0) TVGLOG("SVG", "Inefficient elements used [Size is zero][Node Type : … in _inefficientNodeCheck()
3516if (node->node.rect.w == 0 && node->node.rect.h) TVGLOG("SVG", "Inefficient elements used [Size is… in _inefficientNodeCheck()
3520if (node->node.line.x1 == node->node.line.x2 && node->node.line.y1 == node->node.line.y2) TVGLOG("… in _inefficientNodeCheck()
3548 if ((*gradList)->id && !strcmp((*gradList)->id, id)) { in _gradientDup()
3555 if (result && result->ref) { in _gradientDup()
3558 if ((*gradList)->id && !strcmp((*gradList)->id, result->ref)) { in _gradientDup()
3572 if (node->child.count > 0) { in _updateGradient()
3578 if (node->style->fill.paint.url) { in _updateGradient()
3580 if (newGrad) { in _updateGradient()
3581 if (node->style->fill.paint.gradient) { in _updateGradient()
3588 if (node->style->stroke.paint.url) { in _updateGradient()
3590 if (newGrad) { in _updateGradient()
3591 if (node->style->stroke.paint.gradient) { in _updateGradient()
3604 if (node->style->clipPath.url && !node->style->clipPath.node) { in _updateComposite()
3606 if (findResult) node->style->clipPath.node = findResult; in _updateComposite()
3608 if (node->style->mask.url && !node->style->mask.node) { in _updateComposite()
3610 if (findResult) node->style->mask.node = findResult; in _updateComposite()
3612 if (node->child.count > 0) { in _updateComposite()
3623 if (!style) return; in _freeNodeStyle()
3630 if (style->fill.paint.gradient) { in _freeNodeStyle()
3634 if (style->stroke.paint.gradient) { in _freeNodeStyle()
3647 if (!node) return; in _freeNode()
3714 if (!attrs) { in _svgLoaderParserForValidCheckXmlOpen()
3720 if (attrs) { in _svgLoaderParserForValidCheckXmlOpen()
3723 if ((unsigned)sz >= sizeof(tagName)) return false; in _svgLoaderParserForValidCheckXmlOpen()
3729 if ((method = _findGroupFactory(tagName))) { in _svgLoaderParserForValidCheckXmlOpen()
3730 if (!loader->doc) { in _svgLoaderParserForValidCheckXmlOpen()
3731 if (strcmp(tagName, "svg")) return true; //Not a valid svg document in _svgLoaderParserForValidCheckXmlOpen()
3750 //If 'res' is false, it means <svg> tag is found. in _svgLoaderParserForValidCheck()
3779 if (!all) return; in clear()
3786 if (copy) free((char*)content); in clear()
3816if ((viewFlag & SvgViewFlag::Viewbox) && (fabsf(vw) <= FLOAT_EPSILON || fabsf(vh) <= FLOAT_EPSILON… in run()
3822 if (!simpleXmlParse(content, size, true, _svgLoaderParser, &(loaderData))) return; in run()
3824 if (loaderData.doc) { in run()
3827if (loaderData.nodesToStyle.count > 0) cssApplyStyleToPostponeds(loaderData.nodesToStyle, loaderDa… in run()
3828 if (loaderData.cssStyle) cssUpdateStyle(loaderData.doc, loaderData.cssStyle); in run()
3830if (loaderData.cloneNodes.count > 0) _clonePostponedNodes(&loaderData.cloneNodes, loaderData.doc); in run()
3833 if (defs) _updateComposite(loaderData.doc, defs); in run()
3836 if (defs) _updateStyle(defs, nullptr); in run()
3838if (loaderData.gradients.count > 0) _updateGradient(&loaderData, loaderData.doc, &loaderData.gradi… in run()
3839 if (defs) _updateGradient(&loaderData, loaderData.doc, &defs->node.defs.gradients); in run()
3845 if (!(viewFlag & SvgViewFlag::Viewbox)) { in run()
3862 //If the <svg> tag is found, the loaded file is valid and stores viewbox information. in header()
3865 if (!loaderData.svgParse) return false; in header()
3872 if (loaderData.doc && loaderData.doc->type == SvgNodeType::Doc) { in header()
3877 if (viewFlag & SvgViewFlag::Viewbox) { in header()
3883 if (viewFlag & SvgViewFlag::Width) w = loaderData.doc->node.doc.w; in header()
3886 if (viewFlag & SvgViewFlag::WidthInPercent) { in header()
3892 if (viewFlag & SvgViewFlag::Height) h = loaderData.doc->node.doc.h; in header()
3895 if (viewFlag & SvgViewFlag::HeightInPercent) { in header()
3904 //Before loading, set default viewbox & size if they are empty in header()
3906 if (viewFlag & SvgViewFlag::Width) { in header()
3910 if (viewFlag & SvgViewFlag::WidthInPercent) { in header()
3915 if (viewFlag & SvgViewFlag::Height) { in header()
3919 if (viewFlag & SvgViewFlag::HeightInPercent) { in header()
3939 if (copy) { in open()
3941 if (!content) return false; in open()
3960 if (!f.is_open()) return false; in open()
3966 if (filePath.empty()) return false; in open()
3977 if (!paint) return false; in resize()
3990 if (!content || size == 0) return false; in read()
3993 if (root || !LoadModule::read()) return true; in read()
4003 if (!LoadModule::close()) return false; in close()