Revert "support more colors in rounded color gradients"
This reverts commit 5754d2d0773d8273d42ae1775b53d40f5e6af26a.
This commit is contained in:
parent
7cbd5d8cb8
commit
6e872bac99
|
@ -506,37 +506,21 @@ namespace
|
|||
class BorderMapGradient
|
||||
{
|
||||
public:
|
||||
inline BorderMapGradient( int stepCount, const QskGradient& gradient )
|
||||
inline BorderMapGradient( int stepCount, QRgb rgb1, QRgb rgb2 )
|
||||
: m_stepCount( stepCount )
|
||||
, m_gradient( gradient )
|
||||
, m_color1( rgb1 )
|
||||
, m_color2( rgb2 )
|
||||
{
|
||||
}
|
||||
|
||||
inline Color colorAt( int step ) const
|
||||
{
|
||||
const qreal ratio = step / m_stepCount;
|
||||
const auto stops = m_gradient.stops();
|
||||
|
||||
for( int i = 0; i < m_gradient.stopCount(); ++i )
|
||||
{
|
||||
const QskGradientStop stop = stops.at( i );
|
||||
|
||||
if( stop.position() >= ratio )
|
||||
{
|
||||
const int start = ( i == 0 ) ? 0 : i - 1;
|
||||
const int end = ( i == 0 ) ? 1 : i;
|
||||
const QColor color = QskGradientStop::interpolated( stops.at( start ),
|
||||
stops.at( end ), ratio );
|
||||
return Color( color );
|
||||
}
|
||||
}
|
||||
|
||||
return Color();
|
||||
return m_color1.interpolatedTo( m_color2, step / m_stepCount );
|
||||
}
|
||||
|
||||
private:
|
||||
const qreal m_stepCount;
|
||||
const QskGradient m_gradient;
|
||||
const Color m_color1, m_color2;
|
||||
};
|
||||
|
||||
template< class Line, class BorderValues >
|
||||
|
@ -882,10 +866,10 @@ static inline void qskRenderBorder( const QskBoxRenderer::Metrics& metrics,
|
|||
const int stepCount = metrics.corner[ 0 ].stepCount;
|
||||
|
||||
qskRenderBorderLines( metrics, orientation, line,
|
||||
BorderMapGradient( stepCount, { Qt::Vertical, c.gradient( Qsk::Top ).startColor(), c.gradient( Qsk::Left ).endColor() } ),
|
||||
BorderMapGradient( stepCount, { Qt::Vertical, c.gradient( Qsk::Right ).startColor(), c.gradient( Qsk::Top ).endColor() } ),
|
||||
BorderMapGradient( stepCount, { Qt::Vertical, c.gradient( Qsk::Left ).startColor(), c.gradient( Qsk::Bottom ).endColor() } ),
|
||||
BorderMapGradient( stepCount, { Qt::Vertical, c.gradient( Qsk::Bottom ).startColor(), c.gradient( Qsk::Right ).endColor() } ) );
|
||||
BorderMapGradient( stepCount, c.gradient( Qsk::Top ).startColor().rgb(), c.gradient( Qsk::Left ).endColor().rgb() ),
|
||||
BorderMapGradient( stepCount, c.gradient( Qsk::Right ).startColor().rgb(), c.gradient( Qsk::Top ).endColor().rgb() ),
|
||||
BorderMapGradient( stepCount, c.gradient( Qsk::Left ).startColor().rgb(), c.gradient( Qsk::Bottom ).endColor().rgb() ),
|
||||
BorderMapGradient( stepCount, c.gradient( Qsk::Bottom ).startColor().rgb(), c.gradient( Qsk::Right ).endColor().rgb() ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -934,10 +918,10 @@ static inline void qskRenderBoxRandom(
|
|||
{
|
||||
const int n = metrics.corner[ 0 ].stepCount;
|
||||
|
||||
const BorderMapGradient tl( n, { Qt::Vertical, bc.gradient( Qsk::Top ).startColor(), bc.gradient( Qsk::Left ).startColor() } );
|
||||
const BorderMapGradient tr( n, { Qt::Vertical, bc.gradient( Qsk::Right ).startColor(), bc.gradient( Qsk::Top ).startColor() } );
|
||||
const BorderMapGradient bl( n, { Qt::Vertical, bc.gradient( Qsk::Left ).startColor(), bc.gradient( Qsk::Bottom ).startColor() } );
|
||||
const BorderMapGradient br( n, { Qt::Vertical, bc.gradient( Qsk::Bottom ).startColor(), bc.gradient( Qsk::Right ).startColor() } );
|
||||
const BorderMapGradient tl( n, bc.gradient( Qsk::Top ).startColor().rgb(), bc.gradient( Qsk::Left ).startColor().rgb() );
|
||||
const BorderMapGradient tr( n, bc.gradient( Qsk::Right ).startColor().rgb(), bc.gradient( Qsk::Top ).startColor().rgb() );
|
||||
const BorderMapGradient bl( n, bc.gradient( Qsk::Left ).startColor().rgb(), bc.gradient( Qsk::Bottom ).startColor().rgb() );
|
||||
const BorderMapGradient br( n, bc.gradient( Qsk::Bottom ).startColor().rgb(), bc.gradient( Qsk::Right ).startColor().rgb() );
|
||||
|
||||
if ( gradient.isMonochrome() )
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue