svg_loader: removed unnecessary casting

The used scaling factor should be a float - casting it to an int caused
misevaluation of the radial gradient radius
This commit is contained in:
Mira Grudzinska 2021-10-10 16:39:06 +02:00 committed by Hermet Park
parent 4219d2b8ea
commit c2bbdccac1

View file

@ -98,15 +98,15 @@ static unique_ptr<RadialGradient> _applyRadialGradientProperty(SvgStyleGradient*
{ {
Fill::ColorStop *stops; Fill::ColorStop *stops;
int stopCount = 0; int stopCount = 0;
int radius; float radius;
auto fillGrad = RadialGradient::gen(); auto fillGrad = RadialGradient::gen();
radius = static_cast<int>(sqrtf(powf(rw, 2.0f) + powf(rh, 2.0f)) / sqrtf(2.0f)); radius = sqrtf(powf(rw, 2.0f) + powf(rh, 2.0f)) / sqrtf(2.0f);
if (!g->userSpace) { if (!g->userSpace) {
//That is according to Units in here //That is according to Units in here
//https://www.w3.org/TR/2015/WD-SVG2-20150915/coords.html //https://www.w3.org/TR/2015/WD-SVG2-20150915/coords.html
int min = static_cast<int>((rh > rw) ? rw : rh); int min = static_cast<int>((rh > rw) ? rw : rh);
radius = static_cast<int>(sqrt(pow(min, 2) + pow(min, 2)) / sqrtf(2.0f)); radius = sqrtf(pow(min, 2) + pow(min, 2)) / sqrtf(2.0f);
} }
if (g->usePercentage) { if (g->usePercentage) {