qskinny/src/nodes/QskGradientMaterial.h

63 lines
1.5 KiB
C
Raw Normal View History

/******************************************************************************
* QSkinny - Copyright (C) 2016 Uwe Rathmann
* This file may be used under the terms of the QSkinny License, Version 1.0
*****************************************************************************/
#ifndef QSK_GRADIENT_MATERIAL
#define QSK_GRADIENT_MATERIAL
#include "QskGlobal.h"
2022-10-31 14:42:08 +01:00
#include "QskGradient.h"
#include <qsgmaterial.h>
class QSK_EXPORT QskGradientMaterial : public QSGMaterial
{
public:
2022-10-31 14:42:08 +01:00
static QskGradientMaterial* createMaterial( QskGradient::Type );
2022-10-31 14:42:08 +01:00
bool updateGradient( const QRectF&, const QskGradient& );
QskGradient::Type gradientType() const;
2022-10-31 14:42:08 +01:00
const QskGradientStops& stops() const;
QGradient::Spread spread() const;
protected:
2022-10-31 14:42:08 +01:00
QskGradientMaterial( QskGradient::Type );
2022-09-29 12:40:22 +02:00
2022-10-31 14:42:08 +01:00
void setStops( const QskGradientStops& );
2022-09-29 12:40:22 +02:00
void setSpread( QGradient::Spread );
private:
2022-10-31 14:42:08 +01:00
const QskGradient::Type m_gradientType;
2022-09-29 12:40:22 +02:00
2022-10-31 14:42:08 +01:00
QskGradientStops m_stops;
2022-09-29 12:40:22 +02:00
QGradient::Spread m_spread = QGradient::PadSpread;
};
2022-10-31 14:42:08 +01:00
inline QskGradient::Type QskGradientMaterial::gradientType() const
{
2022-09-29 12:40:22 +02:00
return m_gradientType;
}
2022-10-31 14:42:08 +01:00
inline void QskGradientMaterial::setStops( const QskGradientStops& stops )
{
2022-09-29 12:40:22 +02:00
m_stops = stops;
}
inline void QskGradientMaterial::setSpread( QGradient::Spread spread )
{
m_spread = spread;
}
2022-10-31 14:42:08 +01:00
inline const QskGradientStops& QskGradientMaterial::stops() const
{
return m_stops;
}
inline QGradient::Spread QskGradientMaterial::spread() const
{
return m_spread;
}
#endif