18#ifndef QGSRASTERTRANSPARENCY_H
19#define QGSRASTERTRANSPARENCY_H
28using namespace Qt::StringLiterals;
146 return !( *
this == other );
150 SIP_PYOBJECT __repr__();
154 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 );
156 str = u
"<QgsRasterTransparency.TransparentThreeValuePixel: %1, %2, %3, %4>"_s.arg( sipCpp->red ).arg( sipCpp->green ).arg( sipCpp->blue ).arg( sipCpp->opacity );
157 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
229 return !( *
this == other );
233 SIP_PYOBJECT __repr__();
235 const QString str = u
"<QgsRasterTransparency.TransparentSingleValuePixel: %1, %2, %3>"_s.arg( sipCpp->min ).arg( sipCpp->max ).arg( sipCpp->opacity );
236 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
245 QVector<QgsRasterTransparency::TransparentSingleValuePixel> transparentSingleValuePixelList()
const;
251 QVector<QgsRasterTransparency::TransparentThreeValuePixel> transparentThreeValuePixelList()
const;
256 void initializeTransparentPixelList(
double value );
261 void initializeTransparentPixelList(
double redValue,
double greenValue,
double blueValue );
267 void setTransparentSingleValuePixelList(
const QVector<QgsRasterTransparency::TransparentSingleValuePixel> &newList );
273 void setTransparentThreeValuePixelList(
const QVector<QgsRasterTransparency::TransparentThreeValuePixel> &newList );
286 Q_DECL_DEPRECATED
int alphaValue(
double value,
int globalTransparency = 255 ) const
SIP_DEPRECATED;
296 double opacityForValue(
double value ) const;
310 Q_DECL_DEPRECATED
int alphaValue(
double redValue,
double greenValue,
double blueValue,
int globalTransparency = 255 ) const
SIP_DEPRECATED;
322 double opacityForRgbValues(
double redValue,
double greenValue,
double blueValue ) const;
325 bool isEmpty() const;
330 void writeXml( QDomDocument &doc, QDomElement &parentElem ) const;
335 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.