Changeset 65783 in webkit
- Timestamp:
- Aug 22, 2010 1:38:25 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r65779 r65783 1 2010-08-22 Andreas Kling <andreas.kling@nokia.com> 2 3 Reviewed by Ariya Hidayat. 4 5 [Qt] Gradient: Support inner radius larger than outer radius 6 https://bugs.webkit.org/show_bug.cgi?id=44392 7 8 Unskip two tests that now pass: 9 - canvas/philip/tests/2d.gradient.radial.outside2.html 10 - canvas/philip/tests/2d.gradient.radial.outside3.html 11 12 * platform/qt/Skipped: 13 1 14 2010-08-21 Eric Carlson <eric.carlson@apple.com> 2 15 -
trunk/LayoutTests/platform/qt/Skipped
r65778 r65783 5231 5231 canvas/philip/tests/2d.gradient.radial.cone.top.html 5232 5232 canvas/philip/tests/2d.gradient.radial.negative.html 5233 canvas/philip/tests/2d.gradient.radial.outside2.html5234 canvas/philip/tests/2d.gradient.radial.outside3.html5235 5233 canvas/philip/tests/2d.gradient.radial.touch1.html 5236 5234 canvas/philip/tests/2d.gradient.radial.touch2.html -
trunk/WebCore/ChangeLog
r65782 r65783 1 2010-08-22 Andreas Kling <andreas.kling@nokia.com> 2 3 Reviewed by Ariya Hidayat. 4 5 [Qt] Gradient: Support inner radius larger than outer radius 6 https://bugs.webkit.org/show_bug.cgi?id=44392 7 8 * platform/graphics/qt/GradientQt.cpp: 9 (WebCore::Gradient::platformGradient): Reverse the (radial) gradient if r0 > r1. 10 1 11 2010-08-22 Ariya Hidayat <ariya@sencha.com> 2 12 -
trunk/WebCore/platform/graphics/qt/GradientQt.cpp
r62353 r65783 47 47 return m_gradient; 48 48 49 bool reversed = m_r0 > m_r1; 50 51 qreal innerRadius = reversed ? m_r1 : m_r0; 52 qreal outerRadius = reversed ? m_r0 : m_r1; 53 QPointF center = reversed ? m_p0 : m_p1; 54 QPointF focalPoint = reversed ? m_p1 : m_p0; 55 49 56 if (m_radial) 50 m_gradient = new QRadialGradient( m_p1.x(), m_p1.y(), m_r1, m_p0.x(), m_p0.y());57 m_gradient = new QRadialGradient(center, outerRadius, focalPoint); 51 58 else 52 59 m_gradient = new QLinearGradient(m_p0.x(), m_p0.y(), m_p1.x(), m_p1.y()); … … 66 73 else 67 74 lastStop = stopIterator->stop; 68 if (m_radial && m_r0) 69 lastStop = m_r0 / m_r1 + lastStop * (1.0f - m_r0 / m_r1); 70 m_gradient->setColorAt(qMin(lastStop, qreal(1.0f)), stopColor); 75 76 if (m_radial && !qFuzzyCompare(1 + outerRadius, qreal(1))) { 77 lastStop = lastStop * (1.0f - innerRadius / outerRadius); 78 if (!reversed) 79 lastStop += innerRadius / outerRadius; 80 } 81 82 qreal stopPosition = qMin(lastStop, qreal(1.0f)); 83 84 if (m_radial && reversed) 85 stopPosition = 1 - stopPosition; 86 87 m_gradient->setColorAt(stopPosition, stopColor); 71 88 // Keep the lastStop as orginal value, since the following stopColor depend it 72 89 lastStop = stopIterator->stop;
Note: See TracChangeset
for help on using the changeset viewer.