Lines Matching refs:grad
2485 SvgStyleGradient* grad = loader->svgParse->styleGrad; in _attrParseRadialGradientNode() local
2486 SvgRadialGradient* radial = grad->radial; in _attrParseRadialGradientNode()
2492 grad->flags = (grad->flags | radialTags[i].flag); in _attrParseRadialGradientNode()
2498 if (grad->id && value) free(grad->id); in _attrParseRadialGradientNode()
2499 grad->id = _copyId(value); in _attrParseRadialGradientNode()
2501 grad->spread = _parseSpreadValue(value); in _attrParseRadialGradientNode()
2502 grad->flags = (grad->flags | SvgGradientFlags::SpreadMethod); in _attrParseRadialGradientNode()
2504 if (grad->ref && value) free(grad->ref); in _attrParseRadialGradientNode()
2505 grad->ref = _idFromHref(value); in _attrParseRadialGradientNode()
2507 if (!strcmp(value, "userSpaceOnUse")) grad->userSpace = true; in _attrParseRadialGradientNode()
2508 grad->flags = (grad->flags | SvgGradientFlags::GradientUnits); in _attrParseRadialGradientNode()
2510 grad->transform = _parseTransformationMatrix(value); in _attrParseRadialGradientNode()
2521 auto grad = (SvgStyleGradient*)(calloc(1, sizeof(SvgStyleGradient))); in _createRadialGradient() local
2522 loader->svgParse->styleGrad = grad; in _createRadialGradient()
2524 grad->flags = SvgGradientFlags::None; in _createRadialGradient()
2525 grad->type = SvgGradientType::Radial; in _createRadialGradient()
2526 grad->userSpace = false; in _createRadialGradient()
2527 grad->radial = (SvgRadialGradient*)calloc(1, sizeof(SvgRadialGradient)); in _createRadialGradient()
2528 if (!grad->radial) { in _createRadialGradient()
2529 grad->clear(); in _createRadialGradient()
2530 free(grad); in _createRadialGradient()
2536 grad->radial->cx = 0.5f; in _createRadialGradient()
2537 grad->radial->cy = 0.5f; in _createRadialGradient()
2538 grad->radial->fx = 0.5f; in _createRadialGradient()
2539 grad->radial->fy = 0.5f; in _createRadialGradient()
2540 grad->radial->r = 0.5f; in _createRadialGradient()
2541 grad->radial->isCxPercentage = true; in _createRadialGradient()
2542 grad->radial->isCyPercentage = true; in _createRadialGradient()
2543 grad->radial->isFxPercentage = true; in _createRadialGradient()
2544 grad->radial->isFyPercentage = true; in _createRadialGradient()
2545 grad->radial->isRPercentage = true; in _createRadialGradient()
2546 grad->radial->isFrPercentage = true; in _createRadialGradient()
2554 radialTags[i].tagRecalc(loader, grad->radial, grad->userSpace); in _createRadialGradient()
2753 SvgStyleGradient* grad = loader->svgParse->styleGrad; in _attrParseLinearGradientNode() local
2754 SvgLinearGradient* linear = grad->linear; in _attrParseLinearGradientNode()
2760 grad->flags = (grad->flags | linear_tags[i].flag); in _attrParseLinearGradientNode()
2766 if (grad->id && value) free(grad->id); in _attrParseLinearGradientNode()
2767 grad->id = _copyId(value); in _attrParseLinearGradientNode()
2769 grad->spread = _parseSpreadValue(value); in _attrParseLinearGradientNode()
2770 grad->flags = (grad->flags | SvgGradientFlags::SpreadMethod); in _attrParseLinearGradientNode()
2772 if (grad->ref && value) free(grad->ref); in _attrParseLinearGradientNode()
2773 grad->ref = _idFromHref(value); in _attrParseLinearGradientNode()
2775 if (!strcmp(value, "userSpaceOnUse")) grad->userSpace = true; in _attrParseLinearGradientNode()
2776 grad->flags = (grad->flags | SvgGradientFlags::GradientUnits); in _attrParseLinearGradientNode()
2778 grad->transform = _parseTransformationMatrix(value); in _attrParseLinearGradientNode()
2789 auto grad = (SvgStyleGradient*)(calloc(1, sizeof(SvgStyleGradient))); in _createLinearGradient() local
2790 loader->svgParse->styleGrad = grad; in _createLinearGradient()
2792 grad->flags = SvgGradientFlags::None; in _createLinearGradient()
2793 grad->type = SvgGradientType::Linear; in _createLinearGradient()
2794 grad->userSpace = false; in _createLinearGradient()
2795 grad->linear = (SvgLinearGradient*)calloc(1, sizeof(SvgLinearGradient)); in _createLinearGradient()
2796 if (!grad->linear) { in _createLinearGradient()
2797 grad->clear(); in _createLinearGradient()
2798 free(grad); in _createLinearGradient()
2804 grad->linear->x2 = 1.0f; in _createLinearGradient()
2805 grad->linear->isX2Percentage = true; in _createLinearGradient()
2810 linear_tags[i].tagRecalc(loader, grad->linear, grad->userSpace); in _createLinearGradient()
2929 auto grad = (SvgStyleGradient*)(calloc(1, sizeof(SvgStyleGradient))); in _cloneGradient() local
2930 if (!grad) return nullptr; in _cloneGradient()
2932 grad->type = from->type; in _cloneGradient()
2933 grad->id = from->id ? _copyId(from->id) : nullptr; in _cloneGradient()
2934 grad->ref = from->ref ? _copyId(from->ref) : nullptr; in _cloneGradient()
2935 grad->spread = from->spread; in _cloneGradient()
2936 grad->userSpace = from->userSpace; in _cloneGradient()
2937 grad->flags = from->flags; in _cloneGradient()
2940 grad->transform = (Matrix*)calloc(1, sizeof(Matrix)); in _cloneGradient()
2941 if (grad->transform) memcpy(grad->transform, from->transform, sizeof(Matrix)); in _cloneGradient()
2944 if (grad->type == SvgGradientType::Linear) { in _cloneGradient()
2945 grad->linear = (SvgLinearGradient*)calloc(1, sizeof(SvgLinearGradient)); in _cloneGradient()
2946 if (!grad->linear) goto error_grad_alloc; in _cloneGradient()
2947 memcpy(grad->linear, from->linear, sizeof(SvgLinearGradient)); in _cloneGradient()
2948 } else if (grad->type == SvgGradientType::Radial) { in _cloneGradient()
2949 grad->radial = (SvgRadialGradient*)calloc(1, sizeof(SvgRadialGradient)); in _cloneGradient()
2950 if (!grad->radial) goto error_grad_alloc; in _cloneGradient()
2951 memcpy(grad->radial, from->radial, sizeof(SvgRadialGradient)); in _cloneGradient()
2954 _cloneGradStops(grad->stops, from->stops); in _cloneGradient()
2956 return grad; in _cloneGradient()
2959 if (grad) { in _cloneGradient()
2960 grad->clear(); in _cloneGradient()
2961 free(grad); in _cloneGradient()