18#ifndef QGSRASTERTRANSPARENCY_H
19#define QGSRASTERTRANSPARENCY_H
28using namespace Qt::StringLiterals;
153 SIP_PYOBJECT __repr__();
157 str = u
"<QgsRasterTransparency.TransparentThreeValuePixel: %1, %2, %3, %4, %5, %6, %7>"_s.arg( sipCpp->red ).arg( sipCpp->green ).arg( sipCpp->blue ).arg( sipCpp->opacity ).arg( sipCpp->fuzzyToleranceRed ).arg( sipCpp->fuzzyToleranceGreen ).arg( sipCpp->fuzzyToleranceBlue );
159 str = u
"<QgsRasterTransparency.TransparentThreeValuePixel: %1, %2, %3, %4>"_s.arg( sipCpp->red ).arg( sipCpp->green ).arg( sipCpp->blue ).arg( sipCpp->opacity );
160 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
235 SIP_PYOBJECT __repr__();
237 const QString str = u
"<QgsRasterTransparency.TransparentSingleValuePixel: %1, %2, %3>"_s.arg( sipCpp->min ).arg( sipCpp->max ).arg( sipCpp->opacity );
238 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
248 QVector<QgsRasterTransparency::TransparentSingleValuePixel> transparentSingleValuePixelList()
const;
254 QVector<QgsRasterTransparency::TransparentThreeValuePixel> transparentThreeValuePixelList()
const;
259 void initializeTransparentPixelList(
double value );
264 void initializeTransparentPixelList(
double redValue,
double greenValue,
double blueValue );
270 void setTransparentSingleValuePixelList(
const QVector<QgsRasterTransparency::TransparentSingleValuePixel> &newList );
276 void setTransparentThreeValuePixelList(
const QVector<QgsRasterTransparency::TransparentThreeValuePixel> &newList );
289 Q_DECL_DEPRECATED
int alphaValue(
double value,
int globalTransparency = 255 ) const
SIP_DEPRECATED;
299 double opacityForValue(
double value ) const;
313 Q_DECL_DEPRECATED
int alphaValue(
double redValue,
double greenValue,
double blueValue,
int globalTransparency = 255 ) const
SIP_DEPRECATED;
325 double opacityForRgbValues(
double redValue,
double greenValue,
double blueValue ) const;
328 bool isEmpty() const;
333 void writeXml( QDomDocument &doc, QDomElement &parentElem ) const;
338 void readXml( const QDomElement &elem );
Defines the list of pixel values to be considered as transparent or semi transparent when rendering r...
QgsRasterTransparency()=default
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference).
Defines the transparency for a range of single-band pixel values.
bool operator==(const QgsRasterTransparency::TransparentSingleValuePixel &other) const
TransparentSingleValuePixel(double minimum=0, double maximum=0, double opacity=0, bool includeMinimum=true, bool includeMaximum=true)
Constructor for TransparentSingleValuePixel.
double opacity
Opacity for pixel, between 0 and 1.0.
double min
Minimum pixel value to include in range.
double max
Maximum pixel value to include in range.
bool includeMaximum
true if pixels matching the max value should be considered transparent, or false if only pixels less ...
bool operator!=(const QgsRasterTransparency::TransparentSingleValuePixel &other) const
bool includeMinimum
true if pixels matching the min value should be considered transparent, or false if only pixels great...
Defines the transparency for a RGB pixel value.
TransparentThreeValuePixel(double red=0, double green=0, double blue=0, double opacity=0, double fuzzyToleranceRed=4 *std::numeric_limits< double >::epsilon(), double fuzzyToleranceGreen=4 *std::numeric_limits< double >::epsilon(), double fuzzyToleranceBlue=4 *std::numeric_limits< double >::epsilon())
Constructor for TransparentThreeValuePixel.
bool operator!=(const QgsRasterTransparency::TransparentThreeValuePixel &other) const
double fuzzyToleranceRed
Fuzzy tolerance for red values.
double opacity
Opacity for pixel, between 0 and 1.0.
double red
Red pixel value.
double fuzzyToleranceBlue
Fuzzy tolerance for blue values.
double green
Green pixel value.
bool operator==(const QgsRasterTransparency::TransparentThreeValuePixel &other) const
double fuzzyToleranceGreen
Fuzzy tolerance for green values.
double blue
Blue pixel value.