26#include <QDomDocument>
30using namespace Qt::StringLiterals;
40bool QgsRasterShader::shade(
double value,
int *returnRedValue,
int *returnGreenValue,
int *returnBlueValue,
int *returnAlpha )
const
42 if ( mRasterShaderFunction )
44 return mRasterShaderFunction->shade( value, returnRedValue, returnGreenValue, returnBlueValue, returnAlpha );
50bool QgsRasterShader::shade(
double redValue,
double greenValue,
double blueValue,
double alphaValue,
int *returnRedValue,
int *returnGreenValue,
int *returnBlueValue,
int *returnAlphaValue )
const
52 if ( mRasterShaderFunction )
54 return mRasterShaderFunction->shade( redValue, greenValue, blueValue, alphaValue, returnRedValue, returnGreenValue, returnBlueValue, returnAlphaValue );
64 if ( mRasterShaderFunction.get() == function )
69 mRasterShaderFunction.reset( function );
77 mMaximumValue = value;
78 if ( mRasterShaderFunction )
80 mRasterShaderFunction->setMaximumValue( value );
88 mMinimumValue = value;
89 if ( mRasterShaderFunction )
91 mRasterShaderFunction->setMinimumValue( value );
97 if ( parent.isNull() || !mRasterShaderFunction )
102 QDomElement rasterShaderElem = doc.createElement( u
"rastershader"_s );
104 if ( colorRampShader )
106 rasterShaderElem.appendChild( colorRampShader->
writeXml( doc, context ) );
108 parent.appendChild( rasterShaderElem );
114 const QDomElement colorRampShaderElem = elem.firstChildElement( u
"colorrampshader"_s );
115 if ( !colorRampShaderElem.isNull() )
118 colorRampShader->
readXml( colorRampShaderElem, context );
A ramp shader will color a raster pixel based on a list of values ranges in a ramp.
QDomElement writeXml(QDomDocument &doc, const QgsReadWriteContext &context=QgsReadWriteContext()) const
Writes configuration to a new DOM element.
void readXml(const QDomElement &elem, const QgsReadWriteContext &context=QgsReadWriteContext())
Reads configuration from the given DOM element.
The raster shade function applies a shader to a pixel at render time - typically used to render grays...
double maximumValue() const
Returns the maximum value for the raster shader.
void setMinimumValue(double value)
Sets the minimum value for the raster shader.
bool shade(double value, int *returnRedValue, int *returnGreenValue, int *returnBlueValue, int *returnAlpha) const
Generates a new RGBA value based on one input value.
void readXml(const QDomElement &elem, const QgsReadWriteContext &context=QgsReadWriteContext())
Reads shader state from an XML element.
QgsRasterShader(double minimumValue=0.0, double maximumValue=255.0)
void writeXml(QDomDocument &doc, QDomElement &parent, const QgsReadWriteContext &context=QgsReadWriteContext()) const
Writes shader state to an XML element.
void setRasterShaderFunction(QgsRasterShaderFunction *function)
A public method that allows the user to set their own shader function.
double minimumValue() const
Returns the minimum value for the raster shader.
void setMaximumValue(double value)
Sets the maximum value for the raster shader.
A container for the context for various read/write operations on objects.
#define QgsDebugMsgLevel(str, level)