From 14040bf6524217f509119af2d3458751ca04dc20 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Mon, 25 Oct 2021 08:29:12 +0200 Subject: [PATCH] workaround for monochrome gradients with additional stops --- src/nodes/QskBoxNode.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/nodes/QskBoxNode.cpp b/src/nodes/QskBoxNode.cpp index 7ebfe472..cd7d9052 100644 --- a/src/nodes/QskBoxNode.cpp +++ b/src/nodes/QskBoxNode.cpp @@ -56,8 +56,17 @@ void QskBoxNode::setBoxData( const QRectF& rect, const QskGradient& fillGradient void QskBoxNode::setBoxData( const QRectF& rect, const QskBoxShapeMetrics& shape, const QskBoxBorderMetrics& borderMetrics, - const QskBoxBorderColors& borderColors, const QskGradient& fillGradient ) + const QskBoxBorderColors& borderColors, const QskGradient& gradient ) { + QskGradient fillGradient = gradient; +#if 1 + // Renderer is buggy for monochrome gradients with stops. TODO ... + if ( fillGradient.stops().count() > 2 && fillGradient.isMonochrome() ) + { + fillGradient.setColor( fillGradient.startColor() ); + } +#endif + #if 1 const uint metricsHash = qskMetricsHash( shape, borderMetrics ); const uint colorsHash = qskColorsHash( borderColors, fillGradient );