uncrustified
This commit is contained in:
parent
7f5d289808
commit
1cc0dff8d5
1851
.uncrustify
1851
.uncrustify
File diff suppressed because it is too large
Load Diff
|
@ -165,14 +165,15 @@ bool LightDisplay::arcContainsPoint( const QRectF& rect, const QPointF& point )
|
||||||
const int tolerance = 20;
|
const int tolerance = 20;
|
||||||
|
|
||||||
// 1. check angle
|
// 1. check angle
|
||||||
QPointF circlePos( point.x() - rect.center().x(),
|
QPointF circlePos(
|
||||||
rect.center().y() - point.y() );
|
point.x() - rect.center().x(),
|
||||||
|
rect.center().y() - point.y() );
|
||||||
|
|
||||||
const qreal angle = angleFromPoint( rect, point );
|
const qreal angle = angleFromPoint( rect, point );
|
||||||
|
|
||||||
const bool angleWithinRange = angleInRange( metrics, angle )
|
const bool angleWithinRange = angleInRange( metrics, angle )
|
||||||
|| angleDiff( angle, metrics.startAngle() ) <= tolerance
|
|| angleDiff( angle, metrics.startAngle() ) <= tolerance
|
||||||
|| angleDiff( angle, metrics.endAngle() ) <= tolerance;
|
|| angleDiff( angle, metrics.endAngle() ) <= tolerance;
|
||||||
|
|
||||||
// 2. check whether point is on arc
|
// 2. check whether point is on arc
|
||||||
const qreal radiusMax = rect.width() / 2;
|
const qreal radiusMax = rect.width() / 2;
|
||||||
|
@ -181,7 +182,7 @@ bool LightDisplay::arcContainsPoint( const QRectF& rect, const QPointF& point )
|
||||||
|
|
||||||
const qreal polarRadius = qSqrt( qPow( circlePos.x(), 2 ) + qPow( circlePos.y(), 2 ) );
|
const qreal polarRadius = qSqrt( qPow( circlePos.x(), 2 ) + qPow( circlePos.y(), 2 ) );
|
||||||
const bool pointOnArc = ( polarRadius + tolerance ) > radiusMin
|
const bool pointOnArc = ( polarRadius + tolerance ) > radiusMin
|
||||||
&& ( polarRadius - tolerance ) < radiusMax;
|
&& ( polarRadius - tolerance ) < radiusMax;
|
||||||
|
|
||||||
bool ret = angleWithinRange && pointOnArc;
|
bool ret = angleWithinRange && pointOnArc;
|
||||||
|
|
||||||
|
|
|
@ -33,15 +33,15 @@ QRectF LightDisplaySkinlet::subControlRect( const QskSkinnable* skinnable,
|
||||||
QRectF rect = contentsRect;
|
QRectF rect = contentsRect;
|
||||||
const qreal ticksSpacing = 4; // space between the ticks and the arc
|
const qreal ticksSpacing = 4; // space between the ticks and the arc
|
||||||
|
|
||||||
if( subControl == LightDisplay::Groove
|
if( subControl == LightDisplay::Groove || subControl == LightDisplay::Panel )
|
||||||
|| subControl == LightDisplay::Panel )
|
|
||||||
{
|
{
|
||||||
QSizeF textSize = textLabelsSize( display );
|
QSizeF textSize = textLabelsSize( display );
|
||||||
QskArcMetrics arcMetrics = display->arcMetricsHint( LightDisplay::ColdAndWarmArc );
|
QskArcMetrics arcMetrics = display->arcMetricsHint( LightDisplay::ColdAndWarmArc );
|
||||||
const qreal ticksWidth = display->arcMetricsHint( LightDisplay::Tickmarks ).width() + ticksSpacing;
|
const qreal ticksWidth = display->arcMetricsHint( LightDisplay::Tickmarks ).width() + ticksSpacing;
|
||||||
|
|
||||||
const qreal x = textSize.width() + arcMetrics.width() + ticksWidth;
|
const qreal x = textSize.width() + arcMetrics.width() + ticksWidth;
|
||||||
const qreal w = contentsRect.width() - ( 2 * ( textSize.width() + arcMetrics.width() + ticksWidth ) );
|
const qreal w = contentsRect.width() -
|
||||||
|
( 2 * ( textSize.width() + arcMetrics.width() + ticksWidth ) );
|
||||||
const qreal y = arcMetrics.width() + ticksWidth;
|
const qreal y = arcMetrics.width() + ticksWidth;
|
||||||
const qreal h = contentsRect.height() - 2 * ( arcMetrics.width() + ticksWidth );
|
const qreal h = contentsRect.height() - 2 * ( arcMetrics.width() + ticksWidth );
|
||||||
|
|
||||||
|
@ -52,24 +52,24 @@ QRectF LightDisplaySkinlet::subControlRect( const QskSkinnable* skinnable,
|
||||||
}
|
}
|
||||||
else if( subControl == LightDisplay::ColdAndWarmArc )
|
else if( subControl == LightDisplay::ColdAndWarmArc )
|
||||||
{
|
{
|
||||||
const QRectF panelRect = subControlRect( skinnable, contentsRect,
|
const QRectF panelRect = subControlRect( skinnable, contentsRect, LightDisplay::Panel );
|
||||||
LightDisplay::Panel );
|
|
||||||
auto barWidth = display->arcMetricsHint( LightDisplay::ColdAndWarmArc ).width();
|
auto barWidth = display->arcMetricsHint( LightDisplay::ColdAndWarmArc ).width();
|
||||||
auto rect = panelRect.marginsAdded( { barWidth, barWidth, barWidth, barWidth } );
|
auto rect = panelRect.marginsAdded( { barWidth, barWidth, barWidth, barWidth } );
|
||||||
return rect;
|
return rect;
|
||||||
}
|
}
|
||||||
else if( subControl == LightDisplay::Tickmarks )
|
else if( subControl == LightDisplay::Tickmarks )
|
||||||
{
|
{
|
||||||
const QRectF arcRect = subControlRect( skinnable, contentsRect,
|
const QRectF arcRect = subControlRect(
|
||||||
LightDisplay::ColdAndWarmArc );
|
skinnable, contentsRect, LightDisplay::ColdAndWarmArc );
|
||||||
const qreal ticksWidth = display->arcMetricsHint( LightDisplay::Tickmarks ).width() + ticksSpacing;
|
const qreal ticksWidth = display->arcMetricsHint(
|
||||||
const QRectF rect = arcRect.marginsAdded( { ticksWidth, ticksWidth, ticksWidth, ticksWidth } );
|
LightDisplay::Tickmarks ).width() + ticksSpacing;
|
||||||
|
const QRectF rect =
|
||||||
|
arcRect.marginsAdded( { ticksWidth, ticksWidth, ticksWidth, ticksWidth } );
|
||||||
return rect;
|
return rect;
|
||||||
}
|
}
|
||||||
else if( subControl == LightDisplay::ValueText )
|
else if( subControl == LightDisplay::ValueText )
|
||||||
{
|
{
|
||||||
QRectF valueTextRect = subControlRect( skinnable, contentsRect,
|
QRectF valueTextRect = subControlRect( skinnable, contentsRect, LightDisplay::Panel );
|
||||||
LightDisplay::Panel );
|
|
||||||
const QFontMetricsF fm( skinnable->effectiveFont( subControl ) );
|
const QFontMetricsF fm( skinnable->effectiveFont( subControl ) );
|
||||||
const qreal fontWidth = fm.width( QStringLiteral( "100 %" ) );
|
const qreal fontWidth = fm.width( QStringLiteral( "100 %" ) );
|
||||||
const QPointF center = valueTextRect.center();
|
const QPointF center = valueTextRect.center();
|
||||||
|
@ -175,7 +175,7 @@ QSGNode* LightDisplaySkinlet::updateSubNode(
|
||||||
int tickLineWidth = display->metric( LightDisplay::Tickmarks );
|
int tickLineWidth = display->metric( LightDisplay::Tickmarks );
|
||||||
|
|
||||||
ticksNode->update( color, ticksRect, arcMetrics, boundaries,
|
ticksNode->update( color, ticksRect, arcMetrics, boundaries,
|
||||||
tickmarks, tickLineWidth, Qt::Horizontal );
|
tickmarks, tickLineWidth, Qt::Horizontal );
|
||||||
|
|
||||||
return ticksNode;
|
return ticksNode;
|
||||||
}
|
}
|
||||||
|
|
|
@ -125,7 +125,7 @@ QColor ShadowedBox::shadowColor() const
|
||||||
return m_shadowColor;
|
return m_shadowColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
QRectF ShadowedBox::layoutRectForSize( const QSizeF &size ) const
|
QRectF ShadowedBox::layoutRectForSize( const QSizeF& size ) const
|
||||||
{
|
{
|
||||||
auto padding = paddingHint( Panel );
|
auto padding = paddingHint( Panel );
|
||||||
return { padding.left() / 2, padding.top() / 2,
|
return { padding.left() / 2, padding.top() / 2,
|
||||||
|
|
|
@ -46,9 +46,9 @@ namespace
|
||||||
|
|
||||||
int compare( const QSGMaterial* other ) const override;
|
int compare( const QSGMaterial* other ) const override;
|
||||||
|
|
||||||
QVector2D aspect = QVector2D{1.0, 1.0};
|
QVector2D aspect = QVector2D{ 1.0, 1.0 };
|
||||||
float blurExtent = 0.0;
|
float blurExtent = 0.0;
|
||||||
QVector4D radius = QVector4D{0.0, 0.0, 0.0, 0.0};
|
QVector4D radius = QVector4D{ 0.0, 0.0, 0.0, 0.0 };
|
||||||
QColor color = Qt::black;
|
QColor color = Qt::black;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -46,9 +46,9 @@ namespace
|
||||||
|
|
||||||
int compare( const QSGMaterial* other ) const override;
|
int compare( const QSGMaterial* other ) const override;
|
||||||
|
|
||||||
QVector2D aspect = QVector2D{1.0, 1.0};
|
QVector2D aspect = QVector2D{ 1.0, 1.0 };
|
||||||
float blurExtent = 0.0;
|
float blurExtent = 0.0;
|
||||||
QVector4D radius = QVector4D{0.0, 0.0, 0.0, 0.0};
|
QVector4D radius = QVector4D{ 0.0, 0.0, 0.0, 0.0 };
|
||||||
QColor color = Qt::black;
|
QColor color = Qt::black;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ class QSK_EXPORT QskArcMetrics
|
||||||
public:
|
public:
|
||||||
constexpr QskArcMetrics() noexcept;
|
constexpr QskArcMetrics() noexcept;
|
||||||
constexpr QskArcMetrics( qreal width, qreal startAngle, qreal spanAngle,
|
constexpr QskArcMetrics( qreal width, qreal startAngle, qreal spanAngle,
|
||||||
Qt::SizeMode = Qt::AbsoluteSize ) noexcept;
|
Qt::SizeMode = Qt::AbsoluteSize ) noexcept;
|
||||||
|
|
||||||
bool operator==( const QskArcMetrics& ) const noexcept;
|
bool operator==( const QskArcMetrics& ) const noexcept;
|
||||||
bool operator!=( const QskArcMetrics& ) const noexcept;
|
bool operator!=( const QskArcMetrics& ) const noexcept;
|
||||||
|
|
|
@ -122,7 +122,7 @@ QRectF qskValidOrEmptyInnerRect( const QRectF& rect, const QMarginsF& margins )
|
||||||
return QRectF( x, y, w, h );
|
return QRectF( x, y, w, h );
|
||||||
}
|
}
|
||||||
|
|
||||||
QRectF qskInterpolatedRect( const QRectF &from, const QRectF &to, qreal progress )
|
QRectF qskInterpolatedRect( const QRectF& from, const QRectF& to, qreal progress )
|
||||||
{
|
{
|
||||||
if ( progress <= 0.0 )
|
if ( progress <= 0.0 )
|
||||||
return from;
|
return from;
|
||||||
|
@ -138,7 +138,7 @@ QRectF qskInterpolatedRect( const QRectF &from, const QRectF &to, qreal progress
|
||||||
return QRectF( x, y, w, h );
|
return QRectF( x, y, w, h );
|
||||||
}
|
}
|
||||||
|
|
||||||
QSizeF qskInterpolatedSize( const QSizeF &from, const QSizeF &to, qreal progress )
|
QSizeF qskInterpolatedSize( const QSizeF& from, const QSizeF& to, qreal progress )
|
||||||
{
|
{
|
||||||
if ( progress <= 0.0 )
|
if ( progress <= 0.0 )
|
||||||
return from;
|
return from;
|
||||||
|
|
|
@ -119,7 +119,7 @@ bool qskIsStandardKeyInput( const QKeyEvent* event, QKeySequence::StandardKey ke
|
||||||
#if 1
|
#if 1
|
||||||
return event->matches( key );
|
return event->matches( key );
|
||||||
#else
|
#else
|
||||||
constexpr auto mask = ~(Qt::KeypadModifier | Qt::GroupSwitchModifier);
|
constexpr auto mask = ~( Qt::KeypadModifier | Qt::GroupSwitchModifier );
|
||||||
|
|
||||||
// We should route this call through the skin. TODO
|
// We should route this call through the skin. TODO
|
||||||
const auto theme = QGuiApplicationPrivate::platformTheme();
|
const auto theme = QGuiApplicationPrivate::platformTheme();
|
||||||
|
|
|
@ -52,7 +52,8 @@ class QskMenuSkinlet::PrivateData
|
||||||
{
|
{
|
||||||
m_data->enableCache( false );
|
m_data->enableCache( false );
|
||||||
}
|
}
|
||||||
private:
|
|
||||||
|
private:
|
||||||
PrivateData* m_data;
|
PrivateData* m_data;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -382,7 +382,7 @@ bool QskPopup::hasFaderEffect() const
|
||||||
|
|
||||||
void QskPopup::setPopupFlags( PopupFlags flags )
|
void QskPopup::setPopupFlags( PopupFlags flags )
|
||||||
{
|
{
|
||||||
if ( static_cast<int>(flags) != m_data->flags )
|
if ( static_cast< int >( flags ) != m_data->flags )
|
||||||
{
|
{
|
||||||
m_data->flags = flags;
|
m_data->flags = flags;
|
||||||
updateInputGrabber();
|
updateInputGrabber();
|
||||||
|
|
|
@ -209,8 +209,7 @@ static inline QskAspect qskSubstitutedAspect(
|
||||||
if ( aspect.hasStates() )
|
if ( aspect.hasStates() )
|
||||||
{
|
{
|
||||||
qWarning() << "QskSkinnable::(re)setSkinHint: setting hints with states "
|
qWarning() << "QskSkinnable::(re)setSkinHint: setting hints with states "
|
||||||
"is discouraged - use QskSkinTableEditor if you are "
|
"is discouraged - use QskSkinTableEditor if you are sure, that you need this.";
|
||||||
"sure, that you need this.";
|
|
||||||
|
|
||||||
qWarning() << "QskAspect:" << aspect.stateless()
|
qWarning() << "QskAspect:" << aspect.stateless()
|
||||||
<< skinnable->skinStatesAsPrintable( aspect.states() );
|
<< skinnable->skinStatesAsPrintable( aspect.states() );
|
||||||
|
|
|
@ -572,8 +572,8 @@ bool QskDialogButtonBox::isDefaultButtonKeyEvent( const QKeyEvent* event )
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return ( event->key() == Qt::Key_Enter ) ||
|
return ( event->key() == Qt::Key_Enter )
|
||||||
( event->key() == Qt::Key_Return );
|
|| ( event->key() == Qt::Key_Return );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,8 @@ class QskHunspellTextPredictor::PrivateData
|
||||||
QLocale locale;
|
QLocale locale;
|
||||||
};
|
};
|
||||||
|
|
||||||
QskHunspellTextPredictor::QskHunspellTextPredictor( const QLocale &locale, QObject* object )
|
QskHunspellTextPredictor::QskHunspellTextPredictor(
|
||||||
|
const QLocale& locale, QObject* object )
|
||||||
: Inherited( object )
|
: Inherited( object )
|
||||||
, m_data( new PrivateData() )
|
, m_data( new PrivateData() )
|
||||||
{
|
{
|
||||||
|
@ -43,7 +44,8 @@ void QskHunspellTextPredictor::reset()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QPair< QString, QString > QskHunspellTextPredictor::affAndDicFile( const QString& path, const QLocale& locale )
|
QPair< QString, QString > QskHunspellTextPredictor::affAndDicFile(
|
||||||
|
const QString& path, const QLocale& locale )
|
||||||
{
|
{
|
||||||
QString prefix = QStringLiteral( "%1/%2" ).arg( path, locale.name() );
|
QString prefix = QStringLiteral( "%1/%2" ).arg( path, locale.name() );
|
||||||
QString affFile = prefix + QStringLiteral( ".aff" );
|
QString affFile = prefix + QStringLiteral( ".aff" );
|
||||||
|
@ -63,7 +65,7 @@ void QskHunspellTextPredictor::loadDictionaries()
|
||||||
{
|
{
|
||||||
QString userPaths = QString::fromUtf8( qgetenv( "QSK_HUNSPELL_PATH" ) );
|
QString userPaths = QString::fromUtf8( qgetenv( "QSK_HUNSPELL_PATH" ) );
|
||||||
|
|
||||||
#if defined(Q_OS_WIN32)
|
#if defined( Q_OS_WIN32 )
|
||||||
QChar separator( ';' );
|
QChar separator( ';' );
|
||||||
QStringList defaultPaths;
|
QStringList defaultPaths;
|
||||||
#else
|
#else
|
||||||
|
@ -106,7 +108,7 @@ void QskHunspellTextPredictor::request( const QString& text )
|
||||||
|
|
||||||
char** suggestions;
|
char** suggestions;
|
||||||
|
|
||||||
QTextCodec *codec = QTextCodec::codecForName( m_data->hunspellEncoding );
|
const auto codec = QTextCodec::codecForName( m_data->hunspellEncoding );
|
||||||
const QByteArray word = codec ? codec->fromUnicode( text ) : text.toUtf8();
|
const QByteArray word = codec ? codec->fromUnicode( text ) : text.toUtf8();
|
||||||
|
|
||||||
const int count = Hunspell_suggest(
|
const int count = Hunspell_suggest(
|
||||||
|
|
|
@ -318,7 +318,7 @@ QskInputContextFactory* QskInputContext::factory() const
|
||||||
return m_data->factory;
|
return m_data->factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<QskTextPredictor> QskInputContext::textPredictor( const QLocale& locale )
|
std::shared_ptr< QskTextPredictor > QskInputContext::textPredictor( const QLocale& locale )
|
||||||
{
|
{
|
||||||
if ( m_data->factory )
|
if ( m_data->factory )
|
||||||
return m_data->factory->setupPredictor( locale );
|
return m_data->factory->setupPredictor( locale );
|
||||||
|
@ -550,12 +550,12 @@ std::shared_ptr< QskTextPredictor > QskInputContextFactory::setupPredictor( cons
|
||||||
QskTextPredictor* QskInputContextFactory::createPredictor( const QLocale& locale )
|
QskTextPredictor* QskInputContextFactory::createPredictor( const QLocale& locale )
|
||||||
{
|
{
|
||||||
#if HUNSPELL
|
#if HUNSPELL
|
||||||
return new QskHunspellTextPredictor( locale );
|
return new QskHunspellTextPredictor( locale );
|
||||||
#else
|
#else
|
||||||
Q_UNUSED( locale );
|
Q_UNUSED( locale );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
QskInputPanel* QskInputContextFactory::createPanel() const
|
QskInputPanel* QskInputContextFactory::createPanel() const
|
||||||
|
|
|
@ -369,10 +369,7 @@ QskInputPanel::QskInputPanel( QQuickItem* parent )
|
||||||
this, &QskInputPanel::updateLocale );
|
this, &QskInputPanel::updateLocale );
|
||||||
|
|
||||||
connect( &m_data->keyProcessor, &KeyProcessor::keyProcessingFinished,
|
connect( &m_data->keyProcessor, &KeyProcessor::keyProcessingFinished,
|
||||||
this, [this]( const Result& result )
|
this, [this]( const Result& result ) { m_data->handleKeyProcessingFinished( result ); } );
|
||||||
{
|
|
||||||
m_data->handleKeyProcessingFinished( result );
|
|
||||||
} );
|
|
||||||
|
|
||||||
updateLocale( locale() );
|
updateLocale( locale() );
|
||||||
}
|
}
|
||||||
|
@ -489,9 +486,9 @@ void QskInputPanel::resetPredictor( const QLocale& locale )
|
||||||
{
|
{
|
||||||
// text predictor lives in another thread, so these will all be QueuedConnections:
|
// text predictor lives in another thread, so these will all be QueuedConnections:
|
||||||
connect( this, &QskInputPanel::predictionReset,
|
connect( this, &QskInputPanel::predictionReset,
|
||||||
predictor.get(), &QskTextPredictor::reset );
|
predictor.get(), &QskTextPredictor::reset );
|
||||||
connect( this, &QskInputPanel::predictionRequested,
|
connect( this, &QskInputPanel::predictionRequested,
|
||||||
predictor.get(), &QskTextPredictor::request );
|
predictor.get(), &QskTextPredictor::request );
|
||||||
|
|
||||||
connect( predictor.get(), &QskTextPredictor::predictionChanged,
|
connect( predictor.get(), &QskTextPredictor::predictionChanged,
|
||||||
this, &QskInputPanel::updatePrediction );
|
this, &QskInputPanel::updatePrediction );
|
||||||
|
|
|
@ -53,7 +53,7 @@ class QSK_EXPORT QskInputPanel : public QskControl
|
||||||
virtual void attachItem( QQuickItem* ) = 0;
|
virtual void attachItem( QQuickItem* ) = 0;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void updatePrediction( const QString &text, const QStringList &candidates );
|
void updatePrediction( const QString&, const QStringList& candidates );
|
||||||
void resetPredictor( const QLocale& );
|
void resetPredictor( const QLocale& );
|
||||||
void updateLocale( const QLocale& );
|
void updateLocale( const QLocale& );
|
||||||
|
|
||||||
|
|
|
@ -118,7 +118,7 @@ void QskBoxNode::setBoxData( const QRectF& rect,
|
||||||
if ( isFillMonochrome && isBorderMonochrome )
|
if ( isFillMonochrome && isBorderMonochrome )
|
||||||
{
|
{
|
||||||
if ( borderColors.gradient( Qsk::Left ).startColor()
|
if ( borderColors.gradient( Qsk::Left ).startColor()
|
||||||
== fillGradient.startColor() )
|
== fillGradient.startColor() )
|
||||||
{
|
{
|
||||||
// we can draw border and background in one
|
// we can draw border and background in one
|
||||||
hasBorder = false;
|
hasBorder = false;
|
||||||
|
|
|
@ -561,9 +561,10 @@ namespace
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void addAdditionalLines( float x11, float y11, float x12, float y12, // start line
|
void addAdditionalLines(
|
||||||
float x21,float y21, float x22, float y22, // end line
|
float x11, float y11, float x12, float y12, // start line
|
||||||
const QskGradient& gradient, Line* lines )
|
float x21, float y21, float x22, float y22, // end line
|
||||||
|
const QskGradient& gradient, Line* lines )
|
||||||
{
|
{
|
||||||
int additionalStopCount = additionalGradientStops( gradient );
|
int additionalStopCount = additionalGradientStops( gradient );
|
||||||
|
|
||||||
|
@ -712,35 +713,37 @@ namespace
|
||||||
if( additionalGradientStops( borderMapTR.gradient() ) > 0 )
|
if( additionalGradientStops( borderMapTR.gradient() ) > 0 )
|
||||||
{
|
{
|
||||||
float x1TR = c[ TopRight ].centerX + v.dx1( TopRight ),
|
float x1TR = c[ TopRight ].centerX + v.dx1( TopRight ),
|
||||||
y1TR = c[ TopRight ].centerY - v.dy1( TopRight ),
|
y1TR = c[ TopRight ].centerY - v.dy1( TopRight ),
|
||||||
x2TR = c[ TopRight ].centerX + v.dx2( TopRight ),
|
x2TR = c[ TopRight ].centerX + v.dx2( TopRight ),
|
||||||
y2TR = c[ TopRight ].centerY - v.dy2( TopRight ),
|
y2TR = c[ TopRight ].centerY - v.dy2( TopRight ),
|
||||||
|
|
||||||
x1TL = c[ TopLeft ].centerX - v.dx1( TopLeft ),
|
x1TL = c[ TopLeft ].centerX - v.dx1( TopLeft ),
|
||||||
y1TL = c[ TopLeft ].centerY - v.dy1( TopLeft ),
|
y1TL = c[ TopLeft ].centerY - v.dy1( TopLeft ),
|
||||||
x2TL = c[ TopLeft ].centerX - v.dx2( TopLeft ),
|
x2TL = c[ TopLeft ].centerX - v.dx2( TopLeft ),
|
||||||
y2TL = c[ TopLeft ].centerY - v.dy2( TopLeft );
|
y2TL = c[ TopLeft ].centerY - v.dy2( TopLeft );
|
||||||
|
|
||||||
addAdditionalLines( x1TR, y1TR, x2TR, y2TR,
|
addAdditionalLines(
|
||||||
x1TL, y1TL, x2TL, y2TL,
|
x1TR, y1TR, x2TR, y2TR,
|
||||||
borderMapTR.gradient(), linesTR + k );
|
x1TL, y1TL, x2TL, y2TL,
|
||||||
|
borderMapTR.gradient(), linesTR + k );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( additionalGradientStops( borderMapBL.gradient() ) > 0 )
|
if( additionalGradientStops( borderMapBL.gradient() ) > 0 )
|
||||||
{
|
{
|
||||||
float x1BL = c[ BottomLeft ].centerX - v.dx1( BottomLeft ),
|
float x1BL = c[ BottomLeft ].centerX - v.dx1( BottomLeft ),
|
||||||
y1BL = c[ BottomLeft ].centerY + v.dy1( BottomLeft ),
|
y1BL = c[ BottomLeft ].centerY + v.dy1( BottomLeft ),
|
||||||
x2BL = c[ BottomLeft ].centerX - v.dx2( BottomLeft ),
|
x2BL = c[ BottomLeft ].centerX - v.dx2( BottomLeft ),
|
||||||
y2BL = c[ BottomLeft ].centerY + v.dy2( BottomLeft ),
|
y2BL = c[ BottomLeft ].centerY + v.dy2( BottomLeft ),
|
||||||
|
|
||||||
x1BR = c[ BottomRight ].centerX + v.dx1( BottomRight ),
|
x1BR = c[ BottomRight ].centerX + v.dx1( BottomRight ),
|
||||||
y1BR = c[ BottomRight ].centerY + v.dy1( BottomRight ),
|
y1BR = c[ BottomRight ].centerY + v.dy1( BottomRight ),
|
||||||
x2BR = c[ BottomRight ].centerX + v.dx2( BottomRight ),
|
x2BR = c[ BottomRight ].centerX + v.dx2( BottomRight ),
|
||||||
y2BR = c[ BottomRight ].centerY + v.dy2( BottomRight );
|
y2BR = c[ BottomRight ].centerY + v.dy2( BottomRight );
|
||||||
|
|
||||||
addAdditionalLines( x1BL, y1BL, x2BL, y2BL,
|
addAdditionalLines(
|
||||||
x1BR, y1BR, x2BR, y2BR,
|
x1BL, y1BL, x2BL, y2BL,
|
||||||
borderMapBL.gradient(), linesBL + k );
|
x1BR, y1BR, x2BR, y2BR,
|
||||||
|
borderMapBL.gradient(), linesBL + k );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -749,35 +752,37 @@ namespace
|
||||||
if( additionalGradientStops( borderMapTL.gradient() ) > 0 )
|
if( additionalGradientStops( borderMapTL.gradient() ) > 0 )
|
||||||
{
|
{
|
||||||
float x1TL = c[ TopLeft ].centerX - v.dx1( TopLeft ),
|
float x1TL = c[ TopLeft ].centerX - v.dx1( TopLeft ),
|
||||||
y1TL = c[ TopLeft ].centerY - v.dy1( TopLeft ),
|
y1TL = c[ TopLeft ].centerY - v.dy1( TopLeft ),
|
||||||
x2TL = c[ TopLeft ].centerX - v.dx2( TopLeft ),
|
x2TL = c[ TopLeft ].centerX - v.dx2( TopLeft ),
|
||||||
y2TL = c[ TopLeft ].centerY - v.dy2( TopLeft ),
|
y2TL = c[ TopLeft ].centerY - v.dy2( TopLeft ),
|
||||||
|
|
||||||
x1BL = c[ BottomLeft ].centerX - v.dx1( BottomLeft ),
|
x1BL = c[ BottomLeft ].centerX - v.dx1( BottomLeft ),
|
||||||
y1BL = c[ BottomLeft ].centerY + v.dy1( BottomLeft ),
|
y1BL = c[ BottomLeft ].centerY + v.dy1( BottomLeft ),
|
||||||
x2BL = c[ BottomLeft ].centerX - v.dx2( BottomLeft ),
|
x2BL = c[ BottomLeft ].centerX - v.dx2( BottomLeft ),
|
||||||
y2BL = c[ BottomLeft ].centerY + v.dy2( BottomLeft );
|
y2BL = c[ BottomLeft ].centerY + v.dy2( BottomLeft );
|
||||||
|
|
||||||
addAdditionalLines( x1TL, y1TL, x2TL, y2TL,
|
addAdditionalLines(
|
||||||
x1BL, y1BL, x2BL, y2BL,
|
x1TL, y1TL, x2TL, y2TL,
|
||||||
borderMapTL.gradient(), linesTL + j );
|
x1BL, y1BL, x2BL, y2BL,
|
||||||
|
borderMapTL.gradient(), linesTL + j );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( additionalGradientStops( borderMapBR.gradient() ) > 0 )
|
if( additionalGradientStops( borderMapBR.gradient() ) > 0 )
|
||||||
{
|
{
|
||||||
float x1BR = c[ BottomRight ].centerX + v.dx1( BottomRight ),
|
float x1BR = c[ BottomRight ].centerX + v.dx1( BottomRight ),
|
||||||
y1BR = c[ BottomRight ].centerY + v.dy1( BottomRight ),
|
y1BR = c[ BottomRight ].centerY + v.dy1( BottomRight ),
|
||||||
x2BR = c[ BottomRight ].centerX + v.dx2( BottomRight ),
|
x2BR = c[ BottomRight ].centerX + v.dx2( BottomRight ),
|
||||||
y2BR = c[ BottomRight ].centerY + v.dy2( BottomRight ),
|
y2BR = c[ BottomRight ].centerY + v.dy2( BottomRight ),
|
||||||
|
|
||||||
x1TR = c[ TopRight ].centerX + v.dx1( TopRight ),
|
x1TR = c[ TopRight ].centerX + v.dx1( TopRight ),
|
||||||
y1TR = c[ TopRight ].centerY - v.dy1( TopRight ),
|
y1TR = c[ TopRight ].centerY - v.dy1( TopRight ),
|
||||||
x2TR = c[ TopRight ].centerX + v.dx2( TopRight ),
|
x2TR = c[ TopRight ].centerX + v.dx2( TopRight ),
|
||||||
y2TR = c[ TopRight ].centerY - v.dy2( TopRight );
|
y2TR = c[ TopRight ].centerY - v.dy2( TopRight );
|
||||||
|
|
||||||
addAdditionalLines( x1BR, y1BR, x2BR, y2BR,
|
addAdditionalLines(
|
||||||
x1TR, y1TR, x2TR, y2TR,
|
x1BR, y1BR, x2BR, y2BR,
|
||||||
borderMapBR.gradient(), linesBR + j );
|
x1TR, y1TR, x2TR, y2TR,
|
||||||
|
borderMapBR.gradient(), linesBR + j );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1011,17 +1016,13 @@ static inline void qskRenderBorder( const QskBoxRenderer::Metrics& metrics,
|
||||||
const int stepCount = metrics.corner[ 0 ].stepCount;
|
const int stepCount = metrics.corner[ 0 ].stepCount;
|
||||||
|
|
||||||
auto left = c.gradient( Qsk::Left ), top = c.gradient( Qsk::Top ),
|
auto left = c.gradient( Qsk::Left ), top = c.gradient( Qsk::Top ),
|
||||||
right = c.gradient( Qsk::Right ), bottom = c.gradient( Qsk::Bottom );
|
right = c.gradient( Qsk::Right ), bottom = c.gradient( Qsk::Bottom );
|
||||||
|
|
||||||
qskRenderBorderLines( metrics, orientation, line,
|
qskRenderBorderLines( metrics, orientation, line,
|
||||||
BorderMapGradient( stepCount, qskRgbGradientStart( top ),
|
BorderMapGradient( stepCount, qskRgbGradientStart( top ), qskRgbGradientEnd( left ), left ),
|
||||||
qskRgbGradientEnd( left ), left ),
|
BorderMapGradient( stepCount, qskRgbGradientStart( right ), qskRgbGradientEnd( top ), top ),
|
||||||
BorderMapGradient( stepCount, qskRgbGradientStart( right ),
|
BorderMapGradient( stepCount, qskRgbGradientStart( left ), qskRgbGradientEnd( bottom ), bottom ),
|
||||||
qskRgbGradientEnd( top ), top ),
|
BorderMapGradient( stepCount, qskRgbGradientStart( bottom ), qskRgbGradientEnd( right ), right ) );
|
||||||
BorderMapGradient( stepCount, qskRgbGradientStart( left ),
|
|
||||||
qskRgbGradientEnd( bottom ), bottom ),
|
|
||||||
BorderMapGradient( stepCount, qskRgbGradientStart( bottom ),
|
|
||||||
qskRgbGradientEnd( right ), right ) );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1071,16 +1072,12 @@ static inline void qskRenderBoxRandom(
|
||||||
const int n = metrics.corner[ 0 ].stepCount;
|
const int n = metrics.corner[ 0 ].stepCount;
|
||||||
|
|
||||||
auto left = bc.gradient( Qsk::Left ), top = bc.gradient( Qsk::Top ),
|
auto left = bc.gradient( Qsk::Left ), top = bc.gradient( Qsk::Top ),
|
||||||
right = bc.gradient( Qsk::Right ), bottom = bc.gradient( Qsk::Bottom );
|
right = bc.gradient( Qsk::Right ), bottom = bc.gradient( Qsk::Bottom );
|
||||||
|
|
||||||
const BorderMapGradient tl( n, qskRgbGradientStart( top.startColor() ),
|
const BorderMapGradient tl( n, qskRgbGradientStart( top.startColor() ), qskRgbGradientEnd( left.endColor() ), left );
|
||||||
qskRgbGradientEnd( left.endColor() ), left );
|
const BorderMapGradient tr( n, qskRgbGradientStart( right ), qskRgbGradientEnd( top ), top );
|
||||||
const BorderMapGradient tr( n, qskRgbGradientStart( right ),
|
const BorderMapGradient bl( n, qskRgbGradientStart( left ), qskRgbGradientEnd( bottom ), bottom );
|
||||||
qskRgbGradientEnd( top ), top );
|
const BorderMapGradient br( n, qskRgbGradientStart( bottom ), qskRgbGradientEnd( right ), right );
|
||||||
const BorderMapGradient bl( n, qskRgbGradientStart( left ),
|
|
||||||
qskRgbGradientEnd( bottom ), bottom );
|
|
||||||
const BorderMapGradient br( n, qskRgbGradientStart( bottom ),
|
|
||||||
qskRgbGradientEnd( right ), right );
|
|
||||||
|
|
||||||
if ( gradient.isMonochrome() )
|
if ( gradient.isMonochrome() )
|
||||||
{
|
{
|
||||||
|
|
|
@ -623,9 +623,14 @@ void QskBoxRenderer::renderRect(
|
||||||
auto fillLines = line + fillLineCount;
|
auto fillLines = line + fillLineCount;
|
||||||
|
|
||||||
if ( bc.isMonochrome() )
|
if ( bc.isMonochrome() )
|
||||||
qskCreateBorderMonochrome( rect, in, bc.gradient( Qsk::Left ).startColor().rgba(), fillLines );
|
{
|
||||||
|
const auto rgb = bc.gradient( Qsk::Left ).startColor().rgba();
|
||||||
|
qskCreateBorderMonochrome( rect, in, rgb, fillLines );
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
qskCreateBorder( rect, in, bc, fillLines );
|
qskCreateBorder( rect, in, bc, fillLines );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue