26#include <QDomDocument>
37bool QgsRasterShader::shade(
double value,
int *returnRedValue,
int *returnGreenValue,
int *returnBlueValue,
int *returnAlpha )
const
39 if ( mRasterShaderFunction )
41 return mRasterShaderFunction->shade( value, returnRedValue, returnGreenValue, returnBlueValue, returnAlpha );
47bool QgsRasterShader::shade(
double redValue,
double greenValue,
double blueValue,
double alphaValue,
int *returnRedValue,
int *returnGreenValue,
int *returnBlueValue,
int *returnAlphaValue )
const
49 if ( mRasterShaderFunction )
51 return mRasterShaderFunction->shade( redValue, greenValue, blueValue, alphaValue, returnRedValue, returnGreenValue, returnBlueValue, returnAlphaValue );
61 if ( mRasterShaderFunction.get() == function )
66 mRasterShaderFunction.reset( function );
74 mMaximumValue = value;
75 if ( mRasterShaderFunction )
77 mRasterShaderFunction->setMaximumValue( value );
85 mMinimumValue = value;
86 if ( mRasterShaderFunction )
88 mRasterShaderFunction->setMinimumValue( value );
94 if ( parent.isNull() || !mRasterShaderFunction )
99 QDomElement rasterShaderElem = doc.createElement( QStringLiteral(
"rastershader" ) );
101 if ( colorRampShader )
103 rasterShaderElem.appendChild( colorRampShader->
writeXml( doc, context ) );
105 parent.appendChild( rasterShaderElem );
111 const QDomElement colorRampShaderElem = elem.firstChildElement( QStringLiteral(
"colorrampshader" ) );
112 if ( !colorRampShaderElem.isNull() )
115 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)