mirror of
https://github.com/JakubMelka/PDF4QT.git
synced 2024-12-27 08:42:48 +01:00
Bugfixing: Radial pattern now works
This commit is contained in:
parent
1041e654ff
commit
15b610482c
@ -1855,32 +1855,50 @@ public:
|
||||
}
|
||||
PDFReal s = 0.0;
|
||||
|
||||
if (s1 < 0.0 && m_radialShadingPattern->isExtendStart())
|
||||
while (true)
|
||||
{
|
||||
s1 = 0.0;
|
||||
}
|
||||
if (s2 > 1.0 && m_radialShadingPattern->isExtendEnd())
|
||||
{
|
||||
s2 = 1.0;
|
||||
}
|
||||
const PDFReal radius2 = r_0 + s2 * r_1_0;
|
||||
if (radius2 >= 0.0)
|
||||
{
|
||||
if (m_radialShadingPattern->isExtendStart())
|
||||
{
|
||||
s2 = qMax(s2, 0.0);
|
||||
}
|
||||
if (m_radialShadingPattern->isExtendEnd())
|
||||
{
|
||||
s2 = qMin(s2, 1.0);
|
||||
}
|
||||
|
||||
const bool s1Valid = s1 >= 0.0 && s1 <= 0.0;
|
||||
const bool s2Valid = s2 >= 0.0 && s2 <= 0.0;
|
||||
if (s2 >= 0.0 && s2 <= 1.0)
|
||||
{
|
||||
s = s2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const PDFReal radius1 = r_0 + s1 * r_1_0;
|
||||
if (radius1 >= 0.0)
|
||||
{
|
||||
if (m_radialShadingPattern->isExtendStart())
|
||||
{
|
||||
s1 = qMax(s1, 0.0);
|
||||
}
|
||||
if (m_radialShadingPattern->isExtendEnd())
|
||||
{
|
||||
s1 = qMin(s1, 1.0);
|
||||
}
|
||||
|
||||
if (s1 >= 0.0 && s1 <= 1.0)
|
||||
{
|
||||
s = s1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (s2Valid)
|
||||
{
|
||||
s = s2;
|
||||
}
|
||||
else if (s1Valid)
|
||||
{
|
||||
s = s1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
PDFReal t = interpolate(s, m_xStart, m_xEnd, m_tAtStart, m_tAtEnd);
|
||||
PDFReal t = interpolate(s, 0.0, 1.0, m_tAtStart, m_tAtEnd);
|
||||
t = qBound(m_tMin, t, m_tMax);
|
||||
|
||||
const auto& functions = m_radialShadingPattern->getFunctions();
|
||||
|
Loading…
Reference in New Issue
Block a user