21 #ifndef QGSCOLORRAMPSHADER_H 22 #define QGSCOLORRAMPSHADER_H 24 #include "qgis_core.h" 88 if ( mColorRampItemList.count() != other.mColorRampItemList.count() ||
89 mClassificationMode != other.mClassificationMode ||
90 mColorRampType != other.mColorRampType )
94 for (
int i = 0; i < mColorRampItemList.count(); ++i )
96 if ( mColorRampItemList.at( i ) != other.mColorRampItemList.at( i ) )
return false;
110 ColorRampItem(
double val,
const QColor &col,
const QString &lbl = QString() )
125 return ( color != other.
color ) ||
126 ( !std::isnan( value ) && !std::isnan( other.
value ) && value != other.
value ) ||
127 ( std::isnan( value ) != std::isnan( other.
value ) );
132 QList<QgsColorRampShader::ColorRampItem>
colorRampItemList()
const {
return mColorRampItemList.toList(); }
138 QString colorRampTypeAsQString()
const;
141 void setColorRampItemList(
const QList<QgsColorRampShader::ColorRampItem> &list );
150 bool isEmpty()
const;
173 void setColorRampType(
const QString &type );
193 bool shade(
double value,
int *returnRedValue
SIP_OUT,
int *returnGreenValue SIP_OUT,
int *returnBlueValue SIP_OUT,
int *returnAlphaValue SIP_OUT )
const override;
196 bool shade(
double redValue,
double greenValue,
197 double blueValue,
double alphaValue,
198 int *returnRedValue SIP_OUT,
int *returnGreenValue SIP_OUT,
199 int *returnBlueValue SIP_OUT,
int *returnAlphaValue SIP_OUT )
const override;
201 void legendSymbologyItems( QList< QPair< QString, QColor > > &symbolItems SIP_OUT )
const override;
232 bool clip()
const {
return mClip; }
266 QVector<QgsColorRampShader::ColorRampItem> mColorRampItemList;
275 mutable std::vector<int> mLUT;
276 mutable double mLUTOffset = 0.0;
277 mutable double mLUTFactor = 1.0;
278 mutable bool mLUTInitialized =
false;
283 std::unique_ptr< QgsColorRampLegendNodeSettings > mLegendSettings;
bool operator==(const QgsColorRampShader &other) const
The class is used as a container of context for various read/write operations on other objects...
A rectangle specified with double values.
A ramp shader will color a raster pixel based on a list of values ranges in a ramp.
Abstract base class for color ramps.
QList< QgsColorRampShader::ColorRampItem > colorRampItemList() const
Returns the custom colormap.
void setClip(bool clip)
Sets whether the shader should not render values out of range.
Type
Supported methods for color interpolation.
Settings for a color ramp legend node.
The raster shade function applies a shader to a pixel at render time - typically used to render grays...
ColorRampItem(double val, const QColor &col, const QString &lbl=QString())
convenience constructor
Base class for processing filters like renderers, reprojector, resampler etc.
bool operator!=(const QgsColorRampShader::ColorRampItem &other) const
Type colorRampType() const
Returns the color ramp type.
std::unique_ptr< QgsColorRamp > mSourceColorRamp
Source color ramp.
void setClassificationMode(ClassificationMode classificationMode)
Sets classification mode.
bool clip() const
Returns whether the shader will clip values which are out of range.
Interpolates the color between two class breaks linearly.
ClassificationMode
Classification modes used to create the color ramp shader.
Assigns the color of the higher class for every pixel between two class breaks.
ClassificationMode classificationMode() const
Returns the classification mode.
bool operator<(const QgsColorRampShader::ColorRampItem &other) const