diff --git a/examples/boxes/main.cpp b/examples/boxes/main.cpp index 2599092b..1eb0d9c0 100644 --- a/examples/boxes/main.cpp +++ b/examples/boxes/main.cpp @@ -361,9 +361,7 @@ static void addRectanglesRest( QskLinearBox* parent ) static void addColoredBorderRectangles1( QskLinearBox* parent ) { - Box* box; - - box = new Box( parent ); + auto* box = new Box( parent ); box->setBorderWidth( 20 ); QskGradient gradient1( Qt::Vertical, { { 0.0, Qt::blue }, { 0.7, Qt::yellow }, @@ -412,10 +410,18 @@ static void addColoredBorderRectangles5( QskLinearBox* parent ) static void addColoredBorderRectangles6( QskLinearBox* parent ) { - Box* box = new Box( parent ); + auto* box = new Box( parent ); box->setBorderWidth( 20 ); - QskGradient gradient( Qt::Vertical, Qt::magenta, Qt::cyan ); - box->setBorderGradients( gradient, gradient, gradient, gradient ); + QskGradient gradient1( Qt::Vertical, { { 0.0, Qt::blue }, + { 0.7, Qt::yellow }, + { 1.0, Qt::darkRed } } ); + QskGradient gradient2( Qt::Vertical, { { 0.0, Qt::black }, + { 0.3, Qt::white }, + { 0.7, Qt::white }, + { 1.0, Qt::black } } ); + QskGradient gradient3( Qt::green ); + QskGradient gradient4( Qt::Vertical, Qt::magenta, Qt::cyan ); + box->setBorderGradients( gradient1, gradient2, gradient3, gradient4 ); box->setShape( 30, Qt::AbsoluteSize ); } diff --git a/src/nodes/QskBoxRendererEllipse.cpp b/src/nodes/QskBoxRendererEllipse.cpp index 113a2928..45340a50 100644 --- a/src/nodes/QskBoxRendererEllipse.cpp +++ b/src/nodes/QskBoxRendererEllipse.cpp @@ -866,10 +866,10 @@ static inline void qskRenderBorder( const QskBoxRenderer::Metrics& metrics, const int stepCount = metrics.corner[ 0 ].stepCount; qskRenderBorderLines( metrics, orientation, line, - BorderMapGradient( stepCount, c.gradient( Qsk::Top ).startColor().rgb(), c.gradient( Qsk::Left ).startColor().rgb() ), // ### - BorderMapGradient( stepCount, c.gradient( Qsk::Right ).startColor().rgb(), c.gradient( Qsk::Top ).startColor().rgb() ), // ### - BorderMapGradient( stepCount, c.gradient( Qsk::Left ).startColor().rgb(), c.gradient( Qsk::Bottom ).startColor().rgb() ), // ### - BorderMapGradient( stepCount, c.gradient( Qsk::Bottom ).startColor().rgb(), c.gradient( Qsk::Right ).startColor().rgb() ) ); // ### + 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() ) ); } } @@ -1124,7 +1124,7 @@ void QskBoxRenderer::renderRectellipseBorder( const int stepCount = metrics.corner[ 0 ].stepCount; const int lineCount = 4 * ( stepCount + 1 ) + 1; - const auto line = allocateLines< Line >( geometry, lineCount ); + const auto line = allocateLines< ColoredLine >( geometry, lineCount ); qskRenderBorderLines( metrics, Qt::Vertical, line, BorderMapNone() ); }