QGradient::Spread -> QskGradient::Spread
This commit is contained in:
parent
abf325dbde
commit
0925b40b7a
@ -65,7 +65,7 @@ namespace
|
|||||||
|
|
||||||
QskGradient gradient( QGradient::PhoenixStart );
|
QskGradient gradient( QGradient::PhoenixStart );
|
||||||
gradient.setLinearDirection( 0.0, 0.0, 0.2, 0.5 );
|
gradient.setLinearDirection( 0.0, 0.0, 0.2, 0.5 );
|
||||||
gradient.setSpread( QGradient::ReflectSpread );
|
gradient.setSpread( QskGradient::ReflectSpread );
|
||||||
|
|
||||||
shapeItem->setGradient( gradient );
|
shapeItem->setGradient( gradient );
|
||||||
}
|
}
|
||||||
@ -79,7 +79,7 @@ namespace
|
|||||||
|
|
||||||
QskGradient gradient( stops );
|
QskGradient gradient( stops );
|
||||||
gradient.setLinearDirection( 0.0, 0.0, 0.05, 0.1 );
|
gradient.setLinearDirection( 0.0, 0.0, 0.05, 0.1 );
|
||||||
gradient.setSpread( QGradient::RepeatSpread );
|
gradient.setSpread( QskGradient::RepeatSpread );
|
||||||
|
|
||||||
shapeItem->setGradient( gradient );
|
shapeItem->setGradient( gradient );
|
||||||
}
|
}
|
||||||
@ -112,7 +112,7 @@ namespace
|
|||||||
|
|
||||||
QskGradient gradient( QskRgb::LightYellow, QskRgb::MidnightBlue );
|
QskGradient gradient( QskRgb::LightYellow, QskRgb::MidnightBlue );
|
||||||
gradient.setRadialDirection( QskRadialDirection() );
|
gradient.setRadialDirection( QskRadialDirection() );
|
||||||
gradient.setSpread( QGradient::PadSpread );
|
gradient.setSpread( QskGradient::PadSpread );
|
||||||
|
|
||||||
shapeItem->setGradient( gradient );
|
shapeItem->setGradient( gradient );
|
||||||
}
|
}
|
||||||
@ -137,7 +137,7 @@ namespace
|
|||||||
|
|
||||||
QskGradient gradient( stops );
|
QskGradient gradient( stops );
|
||||||
gradient.setDirection( QskGradient::Radial );
|
gradient.setDirection( QskGradient::Radial );
|
||||||
gradient.setSpread( QGradient::PadSpread );
|
gradient.setSpread( QskGradient::PadSpread );
|
||||||
|
|
||||||
shapeItem->setGradient( gradient );
|
shapeItem->setGradient( gradient );
|
||||||
}
|
}
|
||||||
@ -149,7 +149,7 @@ namespace
|
|||||||
|
|
||||||
QskGradient gradient( QGradient::LilyMeadow );
|
QskGradient gradient( QGradient::LilyMeadow );
|
||||||
gradient.setRadialDirection( 0.5, 0.7, 0.25 );
|
gradient.setRadialDirection( 0.5, 0.7, 0.25 );
|
||||||
gradient.setSpread( QGradient::RepeatSpread );
|
gradient.setSpread( QskGradient::RepeatSpread );
|
||||||
|
|
||||||
shapeItem->setGradient( gradient );
|
shapeItem->setGradient( gradient );
|
||||||
}
|
}
|
||||||
@ -161,7 +161,7 @@ namespace
|
|||||||
|
|
||||||
QskGradient gradient( Qt::red, Qt::blue );
|
QskGradient gradient( Qt::red, Qt::blue );
|
||||||
gradient.setRadialDirection( 0.6, 0.4, 0.1 );
|
gradient.setRadialDirection( 0.6, 0.4, 0.1 );
|
||||||
gradient.setSpread( QGradient::ReflectSpread );
|
gradient.setSpread( QskGradient::ReflectSpread );
|
||||||
|
|
||||||
shapeItem->setGradient( gradient );
|
shapeItem->setGradient( gradient );
|
||||||
}
|
}
|
||||||
@ -181,7 +181,7 @@ namespace
|
|||||||
|
|
||||||
QskGradient gradient( QGradient::JuicyPeach );
|
QskGradient gradient( QGradient::JuicyPeach );
|
||||||
gradient.setConicDirection( 0.5, 0.5, 30.0, 60.0 );
|
gradient.setConicDirection( 0.5, 0.5, 30.0, 60.0 );
|
||||||
gradient.setSpread( QGradient::ReflectSpread );
|
gradient.setSpread( QskGradient::ReflectSpread );
|
||||||
|
|
||||||
shapeItem->setGradient( gradient );
|
shapeItem->setGradient( gradient );
|
||||||
}
|
}
|
||||||
@ -192,7 +192,7 @@ namespace
|
|||||||
|
|
||||||
QskGradient gradient( QGradient::WinterNeva );
|
QskGradient gradient( QGradient::WinterNeva );
|
||||||
gradient.setConicDirection( 0.5, 0.5, 30.0, 60.0 );
|
gradient.setConicDirection( 0.5, 0.5, 30.0, 60.0 );
|
||||||
gradient.setSpread( QGradient::RepeatSpread );
|
gradient.setSpread( QskGradient::RepeatSpread );
|
||||||
|
|
||||||
shapeItem->setGradient( gradient );
|
shapeItem->setGradient( gradient );
|
||||||
}
|
}
|
||||||
@ -213,7 +213,7 @@ namespace
|
|||||||
|
|
||||||
QskGradient gradient( QGradient::FabledSunset );
|
QskGradient gradient( QGradient::FabledSunset );
|
||||||
gradient.setConicDirection( 0.5, 0.5, 45.0, 180.0 );
|
gradient.setConicDirection( 0.5, 0.5, 45.0, 180.0 );
|
||||||
gradient.setSpread( QGradient::ReflectSpread );
|
gradient.setSpread( QskGradient::ReflectSpread );
|
||||||
|
|
||||||
shapeItem->setGradient( gradient );
|
shapeItem->setGradient( gradient );
|
||||||
}
|
}
|
||||||
|
@ -151,6 +151,15 @@ namespace
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if ( v.isNumber() )
|
||||||
|
{
|
||||||
|
if ( it.name() == QStringLiteral( "spread" ) )
|
||||||
|
{
|
||||||
|
const auto s = v.toNumber();
|
||||||
|
if ( s >= QskGradient::PadSpread && s <= QskGradient::RepeatSpread )
|
||||||
|
gradient.setSpread( static_cast< QskGradient::Spread >( s ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return gradient;
|
return gradient;
|
||||||
|
@ -288,7 +288,7 @@ void QskGradient::setAlpha( int alpha )
|
|||||||
m_isDirty = true;
|
m_isDirty = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QskGradient::setSpread( QGradient::Spread spread )
|
void QskGradient::setSpread( Spread spread )
|
||||||
{
|
{
|
||||||
m_spread = spread;
|
m_spread = spread;
|
||||||
}
|
}
|
||||||
@ -612,15 +612,15 @@ QDebug operator<<( QDebug debug, const QskGradient& gradient )
|
|||||||
|
|
||||||
switch( gradient.spread() )
|
switch( gradient.spread() )
|
||||||
{
|
{
|
||||||
case QGradient::RepeatSpread:
|
case QskGradient::RepeatSpread:
|
||||||
debug << " RP";
|
debug << " RP";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case QGradient::ReflectSpread:
|
case QskGradient::ReflectSpread:
|
||||||
debug << " RF";
|
debug << " RF";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case QGradient::PadSpread:
|
case QskGradient::PadSpread:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,11 +17,6 @@ class QskConicDirection;
|
|||||||
|
|
||||||
class QVariant;
|
class QVariant;
|
||||||
|
|
||||||
/*
|
|
||||||
Don't use QskGradientStops for definitions seen by moc
|
|
||||||
Otherwise exporting these interfaces to QML does not work.
|
|
||||||
*/
|
|
||||||
|
|
||||||
class QSK_EXPORT QskGradient
|
class QSK_EXPORT QskGradient
|
||||||
{
|
{
|
||||||
Q_GADGET
|
Q_GADGET
|
||||||
@ -32,7 +27,9 @@ class QSK_EXPORT QskGradient
|
|||||||
Q_PROPERTY( QskConicDirection conic READ conicDirection WRITE setConicDirection )
|
Q_PROPERTY( QskConicDirection conic READ conicDirection WRITE setConicDirection )
|
||||||
Q_PROPERTY( QskRadialDirection radial READ radialDirection WRITE setRadialDirection )
|
Q_PROPERTY( QskRadialDirection radial READ radialDirection WRITE setRadialDirection )
|
||||||
|
|
||||||
Q_PROPERTY( QVector< QskGradientStop > stops READ stops WRITE setStops )
|
Q_PROPERTY( QskGradientStops stops READ stops WRITE setStops )
|
||||||
|
|
||||||
|
Q_PROPERTY( Spread spread READ spread WRITE setSpread )
|
||||||
|
|
||||||
Q_PROPERTY( bool valid READ isValid )
|
Q_PROPERTY( bool valid READ isValid )
|
||||||
Q_PROPERTY( bool visible READ isVisible )
|
Q_PROPERTY( bool visible READ isVisible )
|
||||||
@ -51,6 +48,14 @@ class QSK_EXPORT QskGradient
|
|||||||
};
|
};
|
||||||
Q_ENUM( Type )
|
Q_ENUM( Type )
|
||||||
|
|
||||||
|
enum Spread
|
||||||
|
{
|
||||||
|
PadSpread,
|
||||||
|
ReflectSpread,
|
||||||
|
RepeatSpread
|
||||||
|
};
|
||||||
|
Q_ENUM( Spread )
|
||||||
|
|
||||||
QskGradient() noexcept = default;
|
QskGradient() noexcept = default;
|
||||||
|
|
||||||
QskGradient( Qt::GlobalColor );
|
QskGradient( Qt::GlobalColor );
|
||||||
@ -58,7 +63,7 @@ class QSK_EXPORT QskGradient
|
|||||||
QskGradient( const QColor& );
|
QskGradient( const QColor& );
|
||||||
QskGradient( const QColor&, const QColor& );
|
QskGradient( const QColor&, const QColor& );
|
||||||
QskGradient( QGradient::Preset );
|
QskGradient( QGradient::Preset );
|
||||||
QskGradient( const QVector< QskGradientStop >& );
|
QskGradient( const QskGradientStops& );
|
||||||
|
|
||||||
QskGradient( const QskGradient& ) noexcept;
|
QskGradient( const QskGradient& ) noexcept;
|
||||||
|
|
||||||
@ -92,8 +97,8 @@ class QSK_EXPORT QskGradient
|
|||||||
bool isMonochrome() const noexcept;
|
bool isMonochrome() const noexcept;
|
||||||
bool isVisible() const noexcept;
|
bool isVisible() const noexcept;
|
||||||
|
|
||||||
void setStops( const QVector< QskGradientStop >& );
|
void setStops( const QskGradientStops& );
|
||||||
const QVector< QskGradientStop >& stops() const noexcept;
|
const QskGradientStops& stops() const noexcept;
|
||||||
|
|
||||||
void setStops( const QRgb );
|
void setStops( const QRgb );
|
||||||
void setStops( Qt::GlobalColor );
|
void setStops( Qt::GlobalColor );
|
||||||
@ -114,8 +119,8 @@ class QSK_EXPORT QskGradient
|
|||||||
|
|
||||||
void setAlpha( int alpha );
|
void setAlpha( int alpha );
|
||||||
|
|
||||||
void setSpread( QGradient::Spread );
|
void setSpread( Spread );
|
||||||
QGradient::Spread spread() const noexcept;
|
Spread spread() const noexcept;
|
||||||
|
|
||||||
void reverse();
|
void reverse();
|
||||||
QskGradient reversed() const;
|
QskGradient reversed() const;
|
||||||
@ -139,7 +144,7 @@ class QSK_EXPORT QskGradient
|
|||||||
void updateStatusBits() const;
|
void updateStatusBits() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QVector< QskGradientStop > m_stops;
|
QskGradientStops m_stops;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Linear: x1, y1, x2, y2
|
Linear: x1, y1, x2, y2
|
||||||
@ -149,7 +154,7 @@ class QSK_EXPORT QskGradient
|
|||||||
qreal m_values[4] = {};
|
qreal m_values[4] = {};
|
||||||
|
|
||||||
Type m_type = Stops;
|
Type m_type = Stops;
|
||||||
QGradient::Spread m_spread = QGradient::PadSpread;
|
Spread m_spread = PadSpread;
|
||||||
|
|
||||||
mutable bool m_isDirty = false;
|
mutable bool m_isDirty = false;
|
||||||
mutable bool m_isValid = false;
|
mutable bool m_isValid = false;
|
||||||
@ -223,7 +228,7 @@ inline QRgb QskGradient::rgbEnd() const
|
|||||||
return m_stops.isEmpty() ? qRgba( 0, 0, 0, 255 ) : m_stops.last().rgb();
|
return m_stops.isEmpty() ? qRgba( 0, 0, 0, 255 ) : m_stops.last().rgb();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QGradient::Spread QskGradient::spread() const noexcept
|
inline QskGradient::Spread QskGradient::spread() const noexcept
|
||||||
{
|
{
|
||||||
return m_spread;
|
return m_spread;
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ namespace
|
|||||||
class Texture : public QSGPlainTexture
|
class Texture : public QSGPlainTexture
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Texture( const QskGradientStops& stops, QGradient::Spread spread )
|
Texture( const QskGradientStops& stops, QskGradient::Spread spread )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
Qt creates tables of 1024 colors, while Chrome, Firefox, and Android
|
Qt creates tables of 1024 colors, while Chrome, Firefox, and Android
|
||||||
@ -37,14 +37,14 @@ namespace
|
|||||||
};
|
};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static inline QSGTexture::WrapMode wrapMode( QGradient::Spread spread )
|
static inline QSGTexture::WrapMode wrapMode( QskGradient::Spread spread )
|
||||||
{
|
{
|
||||||
switch ( spread )
|
switch ( spread )
|
||||||
{
|
{
|
||||||
case QGradient::RepeatSpread:
|
case QskGradient::RepeatSpread:
|
||||||
return QSGTexture::Repeat;
|
return QSGTexture::Repeat;
|
||||||
|
|
||||||
case QGradient::ReflectSpread:
|
case QskGradient::ReflectSpread:
|
||||||
return QSGTexture::MirroredRepeat;
|
return QSGTexture::MirroredRepeat;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -63,7 +63,7 @@ namespace
|
|||||||
|
|
||||||
const void* rhi;
|
const void* rhi;
|
||||||
const QskGradientStops stops;
|
const QskGradientStops stops;
|
||||||
const QGradient::Spread spread;
|
const QskGradient::Spread spread;
|
||||||
};
|
};
|
||||||
|
|
||||||
inline size_t qHash( const HashKey& key, size_t seed = 0 )
|
inline size_t qHash( const HashKey& key, size_t seed = 0 )
|
||||||
@ -84,7 +84,7 @@ namespace
|
|||||||
void cleanupRhi( const QRhi* );
|
void cleanupRhi( const QRhi* );
|
||||||
|
|
||||||
Texture* texture( const void* rhi,
|
Texture* texture( const void* rhi,
|
||||||
const QskGradientStops&, QGradient::Spread );
|
const QskGradientStops&, QskGradient::Spread );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QHash< HashKey, Texture* > m_hashTable;
|
QHash< HashKey, Texture* > m_hashTable;
|
||||||
@ -107,7 +107,7 @@ static void qskCleanupRhi( const QRhi* rhi )
|
|||||||
}
|
}
|
||||||
|
|
||||||
Texture* Cache::texture( const void* rhi,
|
Texture* Cache::texture( const void* rhi,
|
||||||
const QskGradientStops& stops, QGradient::Spread spread )
|
const QskGradientStops& stops, QskGradient::Spread spread )
|
||||||
{
|
{
|
||||||
const HashKey key { rhi, stops, spread };
|
const HashKey key { rhi, stops, spread };
|
||||||
|
|
||||||
@ -151,7 +151,7 @@ void Cache::cleanupRhi( const QRhi* rhi )
|
|||||||
}
|
}
|
||||||
|
|
||||||
QSGTexture* QskColorRamp::texture( const void* rhi,
|
QSGTexture* QskColorRamp::texture( const void* rhi,
|
||||||
const QskGradientStops& stops, QGradient::Spread spread )
|
const QskGradientStops& stops, QskGradient::Spread spread )
|
||||||
{
|
{
|
||||||
if ( s_cache == nullptr )
|
if ( s_cache == nullptr )
|
||||||
{
|
{
|
||||||
|
@ -7,15 +7,13 @@
|
|||||||
#define QSK_COLOR_RAMP_H
|
#define QSK_COLOR_RAMP_H
|
||||||
|
|
||||||
#include "QskGlobal.h"
|
#include "QskGlobal.h"
|
||||||
#include "QskGradientStop.h"
|
#include "QskGradient.h"
|
||||||
|
|
||||||
#include <qbrush.h>
|
|
||||||
|
|
||||||
class QSGTexture;
|
class QSGTexture;
|
||||||
|
|
||||||
namespace QskColorRamp
|
namespace QskColorRamp
|
||||||
{
|
{
|
||||||
QSGTexture* texture( const void* rhi, const QskGradientStops&, QGradient::Spread );
|
QSGTexture* texture( const void* rhi, const QskGradientStops&, QskGradient::Spread );
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -19,19 +19,19 @@ class QSK_EXPORT QskGradientMaterial : public QSGMaterial
|
|||||||
QskGradient::Type gradientType() const;
|
QskGradient::Type gradientType() const;
|
||||||
|
|
||||||
const QskGradientStops& stops() const;
|
const QskGradientStops& stops() const;
|
||||||
QGradient::Spread spread() const;
|
QskGradient::Spread spread() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QskGradientMaterial( QskGradient::Type );
|
QskGradientMaterial( QskGradient::Type );
|
||||||
|
|
||||||
void setStops( const QskGradientStops& );
|
void setStops( const QskGradientStops& );
|
||||||
void setSpread( QGradient::Spread );
|
void setSpread( QskGradient::Spread );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const QskGradient::Type m_gradientType;
|
const QskGradient::Type m_gradientType;
|
||||||
|
|
||||||
QskGradientStops m_stops;
|
QskGradientStops m_stops;
|
||||||
QGradient::Spread m_spread = QGradient::PadSpread;
|
QskGradient::Spread m_spread = QskGradient::PadSpread;
|
||||||
};
|
};
|
||||||
|
|
||||||
inline QskGradient::Type QskGradientMaterial::gradientType() const
|
inline QskGradient::Type QskGradientMaterial::gradientType() const
|
||||||
@ -44,7 +44,7 @@ inline void QskGradientMaterial::setStops( const QskGradientStops& stops )
|
|||||||
m_stops = stops;
|
m_stops = stops;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void QskGradientMaterial::setSpread( QGradient::Spread spread )
|
inline void QskGradientMaterial::setSpread( QskGradient::Spread spread )
|
||||||
{
|
{
|
||||||
m_spread = spread;
|
m_spread = spread;
|
||||||
}
|
}
|
||||||
@ -54,7 +54,7 @@ inline const QskGradientStops& QskGradientMaterial::stops() const
|
|||||||
return m_stops;
|
return m_stops;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QGradient::Spread QskGradientMaterial::spread() const
|
inline QskGradient::Spread QskGradientMaterial::spread() const
|
||||||
{
|
{
|
||||||
return m_spread;
|
return m_spread;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user