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,
 
  199                 int *returnBlueValue 
SIP_OUT, 
int *returnAlphaValue 
SIP_OUT ) const override;
 
  201     void legendSymbologyItems( QList< QPair< QString, QColor > > &symbolItems 
SIP_OUT ) const override;
 
  216     void setClassificationMode( 
ClassificationMode classificationMode ) { mClassificationMode = classificationMode; }
 
  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;
 
Settings for a color ramp legend node.
A ramp shader will color a raster pixel based on a list of values ranges in a ramp.
~QgsColorRampShader() override
QList< QgsColorRampShader::ColorRampItem > colorRampItemList() const
Returns the custom colormap.
ClassificationMode classificationMode() const
Returns the classification mode.
Type colorRampType() const
Returns the color ramp type.
bool operator==(const QgsColorRampShader &other) const
ClassificationMode
Classification modes used to create the color ramp shader.
void setClip(bool clip)
Sets whether the shader should not render values out of range.
bool clip() const
Returns whether the shader will clip values which are out of range.
Type
Supported methods for color interpolation.
@ Interpolated
Interpolates the color between two class breaks linearly.
@ Discrete
Assigns the color of the higher class for every pixel between two class breaks.
std::unique_ptr< QgsColorRamp > mSourceColorRamp
Source color ramp.
Abstract base class for color ramps.
Base class for processing filters like renderers, reprojector, resampler etc.
The raster shade function applies a shader to a pixel at render time - typically used to render grays...
The class is used as a container of context for various read/write operations on other objects.
A rectangle specified with double values.
ColorRampItem(double val, const QColor &col, const QString &lbl=QString())
convenience constructor
bool operator!=(const QgsColorRampShader::ColorRampItem &other) const
bool operator<(const QgsColorRampShader::ColorRampItem &other) const
ColorRampItem()=default
default constructor