conic gradients fixed
This commit is contained in:
parent
a2a2c63678
commit
f13026b544
@ -526,18 +526,31 @@ namespace
|
|||||||
rect.left() + dir.center().x() * rect.width(),
|
rect.left() + dir.center().x() * rect.width(),
|
||||||
rect.top() + dir.center().y() * rect.height() );
|
rect.top() + dir.center().y() * rect.height() );
|
||||||
|
|
||||||
|
if ( center != m_center )
|
||||||
|
{
|
||||||
|
m_center = center;
|
||||||
|
changed = true;
|
||||||
|
}
|
||||||
|
|
||||||
// Angles as ratio of a rotation
|
// Angles as ratio of a rotation
|
||||||
|
|
||||||
float start = fmod( dir.startAngle(), 360.0 ) / 360.0;
|
float start = fmod( dir.startAngle(), 360.0 ) / 360.0;
|
||||||
if ( start < 0.0)
|
if ( start < 0.0)
|
||||||
start += 1.0;
|
start += 1.0;
|
||||||
|
|
||||||
const float span = fmod( dir.spanAngle(), 360.0 ) / 360.0;
|
float span;
|
||||||
|
|
||||||
if ( center != m_center )
|
if ( dir.spanAngle() >= 360.0 )
|
||||||
{
|
{
|
||||||
m_center = center;
|
span = 1.0;
|
||||||
changed = true;
|
}
|
||||||
|
else if ( dir.spanAngle() <= -360.0 )
|
||||||
|
{
|
||||||
|
span = -1.0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
span = fmod( dir.spanAngle(), 360.0 ) / 360.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ( start != m_start ) || ( span != m_span ) )
|
if ( ( start != m_start ) || ( span != m_span ) )
|
||||||
|
Loading…
x
Reference in New Issue
Block a user