78 lines
1.8 KiB
C++
78 lines
1.8 KiB
C++
|
/******************************************************************************
|
||
|
* QSkinny - Copyright (C) 2016 Uwe Rathmann
|
||
|
* This file may be used under the terms of the QSkinny License, Version 1.0
|
||
|
*****************************************************************************/
|
||
|
|
||
|
#include "QskTextColors.h"
|
||
|
#include "QskRgbValue.h"
|
||
|
|
||
|
#include <QVariant>
|
||
|
#include <qhashfunctions.h>
|
||
|
#include <QDebug>
|
||
|
|
||
|
uint QskTextColors::hash( uint seed ) const
|
||
|
{
|
||
|
const QRgb rgb[] =
|
||
|
{
|
||
|
textColor.rgba(),
|
||
|
styleColor.rgba(),
|
||
|
linkColor.rgba()
|
||
|
};
|
||
|
|
||
|
return qHashBits( rgb, sizeof( rgb ), seed );
|
||
|
}
|
||
|
|
||
|
QskTextColors QskTextColors::interpolated(
|
||
|
const QskTextColors& to, qreal ratio ) const
|
||
|
{
|
||
|
QskTextColors colors;
|
||
|
colors.textColor = QskRgbValue::interpolated( textColor, to.textColor, ratio );
|
||
|
colors.styleColor = QskRgbValue::interpolated( styleColor, to.styleColor, ratio );
|
||
|
colors.linkColor = QskRgbValue::interpolated( linkColor, to.linkColor, ratio );
|
||
|
|
||
|
return colors;
|
||
|
|
||
|
}
|
||
|
|
||
|
QVariant QskTextColors::interpolate( const QskTextColors& from,
|
||
|
const QskTextColors& to, qreal ratio )
|
||
|
{
|
||
|
return QVariant::fromValue( from.interpolated( to, ratio ) );
|
||
|
}
|
||
|
|
||
|
#ifndef QT_NO_DEBUG_STREAM
|
||
|
|
||
|
static inline void qskDebugColor( QDebug debug, const QColor& c )
|
||
|
{
|
||
|
debug << '('
|
||
|
<< c.red() << ','
|
||
|
<< c.green() << ','
|
||
|
<< c.blue() << ','
|
||
|
<< c.alpha() << ')';
|
||
|
}
|
||
|
|
||
|
QDebug operator<<( QDebug debug, const QskTextColors& colors )
|
||
|
{
|
||
|
QDebugStateSaver saver( debug );
|
||
|
debug.nospace();
|
||
|
|
||
|
debug << "TextColors" << '(';
|
||
|
|
||
|
debug << " T";
|
||
|
qskDebugColor( debug, colors.textColor );
|
||
|
|
||
|
debug << ", S";
|
||
|
qskDebugColor( debug, colors.styleColor );
|
||
|
|
||
|
debug << ", L";
|
||
|
qskDebugColor( debug, colors.linkColor );
|
||
|
|
||
|
debug << " )";
|
||
|
|
||
|
return debug;
|
||
|
}
|
||
|
|
||
|
#endif
|
||
|
|
||
|
|