From 18b7f9590e2081c9aa13a1af265e124fe9edae7a Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Fri, 4 Feb 2022 16:18:14 +0100 Subject: [PATCH] using references --- src/common/QskBoxBorderColors.cpp | 3 --- src/common/QskBoxBorderColors.h | 4 ++-- src/nodes/QskBoxRendererEllipse.cpp | 9 ++++++++- src/nodes/QskBoxRendererRect.cpp | 8 ++++---- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/common/QskBoxBorderColors.cpp b/src/common/QskBoxBorderColors.cpp index 1dc4f5b3..dce16657 100644 --- a/src/common/QskBoxBorderColors.cpp +++ b/src/common/QskBoxBorderColors.cpp @@ -207,11 +207,8 @@ QDebug operator<<( QDebug debug, const QskBoxBorderColors& colors ) debug << "BoxBorderColors" << '('; debug << " L" << colors.gradient( Qsk::Left ); - debug << ", T" << colors.gradient( Qsk::Top ); - debug << ", R" << colors.gradient( Qsk::Right ); - debug << ", B" << colors.gradient( Qsk::Bottom ); debug << " )"; diff --git a/src/common/QskBoxBorderColors.h b/src/common/QskBoxBorderColors.h index daec2b68..5a71df73 100644 --- a/src/common/QskBoxBorderColors.h +++ b/src/common/QskBoxBorderColors.h @@ -39,7 +39,7 @@ class QSK_EXPORT QskBoxBorderColors const QskGradient& right, const QskGradient& bottom ); void setGradient( Qsk::Position, const QskGradient& ); - QskGradient gradient( Qsk::Position ) const; + const QskGradient& gradient( Qsk::Position ) const; void setGradientAt( Qt::Edges, const QskGradient& ); const QskGradient& gradientAt( Qt::Edge ) const; @@ -73,7 +73,7 @@ inline bool QskBoxBorderColors::operator!=( const QskBoxBorderColors& other ) co return !( *this == other ); } -inline QskGradient QskBoxBorderColors::gradient( Qsk::Position position ) const +inline const QskGradient& QskBoxBorderColors::gradient( Qsk::Position position ) const { return m_gradients[ position ]; } diff --git a/src/nodes/QskBoxRendererEllipse.cpp b/src/nodes/QskBoxRendererEllipse.cpp index a9ec43fc..2877e30e 100644 --- a/src/nodes/QskBoxRendererEllipse.cpp +++ b/src/nodes/QskBoxRendererEllipse.cpp @@ -541,7 +541,7 @@ namespace return m_color1.interpolatedTo( m_color2, step / m_stepCount ); } - inline QskGradient gradient() const + inline const QskGradient& gradient() const { return m_gradient; } @@ -605,10 +605,13 @@ namespace if ( borderLines ) { linesBR = borderLines; + linesTR = linesBR + numCornerLines + additionalGradientStops( borderMapBR.gradient() ); + linesTL = linesTR + numCornerLines + additionalGradientStops( borderMapTR.gradient() ); + linesBL = linesTL + numCornerLines + additionalGradientStops( borderMapTL.gradient() ); } @@ -624,10 +627,13 @@ namespace if ( borderLines ) { linesTR = borderLines + 1; + linesTL = linesTR + numCornerLines + additionalGradientStops( borderMapTR.gradient() ); + linesBL = linesTL + numCornerLines + additionalGradientStops( borderMapTL.gradient() ); + linesBR = linesBL + numCornerLines + additionalGradientStops( borderMapBL.gradient() ); } @@ -827,6 +833,7 @@ namespace + additionalGradientStops( borderMapTR.gradient() ) + additionalGradientStops( borderMapTL.gradient() ) + additionalGradientStops( borderMapBL.gradient() ); + const int k = 4 * numCornerLines + additionalStops; if ( orientation == Qt::Vertical ) diff --git a/src/nodes/QskBoxRendererRect.cpp b/src/nodes/QskBoxRendererRect.cpp index 339957f2..fd4d6706 100644 --- a/src/nodes/QskBoxRendererRect.cpp +++ b/src/nodes/QskBoxRendererRect.cpp @@ -422,10 +422,10 @@ static inline void qskCreateBorder( const QskBoxRenderer::Quad& out, const QskBoxRenderer::Quad& in, const QskBoxBorderColors& colors, Line* line ) { - const QskGradient gradientLeft = colors.gradient( Qsk::Left ); - const QskGradient gradientRight = colors.gradient( Qsk::Right ); - const QskGradient gradientTop = colors.gradient( Qsk::Top ); - const QskGradient gradientBottom = colors.gradient( Qsk::Bottom ); + const auto& gradientLeft = colors.gradient( Qsk::Left ); + const auto& gradientRight = colors.gradient( Qsk::Right ); + const auto& gradientTop = colors.gradient( Qsk::Top ); + const auto& gradientBottom = colors.gradient( Qsk::Bottom ); // qdebug