2008-01-11 06:42:56 +00:00
|
|
|
|
|
|
|
class QgsRasterTransparency
|
|
|
|
{
|
|
|
|
%TypeHeaderCode
|
|
|
|
#include <qgsrastertransparency.h>
|
|
|
|
%End
|
|
|
|
|
2012-09-24 02:28:15 +02:00
|
|
|
public:
|
2008-01-11 06:42:56 +00:00
|
|
|
QgsRasterTransparency();
|
2012-09-24 02:28:15 +02:00
|
|
|
|
2008-01-11 06:42:56 +00:00
|
|
|
//
|
|
|
|
// Structs to hold transparent pixel vlaues
|
|
|
|
//
|
|
|
|
struct TransparentThreeValuePixel
|
|
|
|
{
|
|
|
|
double red;
|
|
|
|
double green;
|
|
|
|
double blue;
|
|
|
|
double percentTransparent;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct TransparentSingleValuePixel
|
|
|
|
{
|
2012-08-22 19:40:37 +02:00
|
|
|
double min;
|
|
|
|
double max;
|
2008-01-11 06:42:56 +00:00
|
|
|
double percentTransparent;
|
|
|
|
};
|
2012-09-24 02:28:15 +02:00
|
|
|
|
2008-01-11 06:42:56 +00:00
|
|
|
//
|
|
|
|
// Initializer, Accessor and mutator for transparency tables.
|
|
|
|
//
|
|
|
|
/** \brief Mutator for transparentSingleValuePixelList */
|
2012-09-24 02:28:15 +02:00
|
|
|
QList<QgsRasterTransparency::TransparentSingleValuePixel> transparentSingleValuePixelList() const;
|
|
|
|
|
2008-01-11 06:42:56 +00:00
|
|
|
/** \brief Mutator for transparentThreeValuePixelList */
|
2012-09-24 02:28:15 +02:00
|
|
|
QList<QgsRasterTransparency::TransparentThreeValuePixel> transparentThreeValuePixelList() const;
|
|
|
|
|
2008-01-11 06:42:56 +00:00
|
|
|
/** \brief Reset to the transparency list to a single value */
|
2012-09-24 02:28:15 +02:00
|
|
|
void initializeTransparentPixelList( double );
|
|
|
|
|
2008-01-11 06:42:56 +00:00
|
|
|
/** \brief Reset to the transparency list to a single value */
|
2012-09-24 02:28:15 +02:00
|
|
|
void initializeTransparentPixelList( double, double, double );
|
2008-01-11 06:42:56 +00:00
|
|
|
|
|
|
|
/** \brief Accessor for transparentSingleValuePixelList */
|
2012-09-24 02:28:15 +02:00
|
|
|
void setTransparentSingleValuePixelList( QList<QgsRasterTransparency::TransparentSingleValuePixel> );
|
|
|
|
|
2008-01-11 06:42:56 +00:00
|
|
|
/** \brief Accessor for transparentThreeValuePixelList */
|
2012-09-24 02:28:15 +02:00
|
|
|
void setTransparentThreeValuePixelList( QList<QgsRasterTransparency::TransparentThreeValuePixel> );
|
|
|
|
|
2008-01-11 06:42:56 +00:00
|
|
|
/** \brief Returns the transparency value for a single value Pixel */
|
2012-09-24 02:28:15 +02:00
|
|
|
int alphaValue( double, int theGlobalTransparency = 255 ) const;
|
|
|
|
|
2008-01-11 06:42:56 +00:00
|
|
|
/** \brief Return the transparency value for a RGB Pixel */
|
2012-09-24 02:28:15 +02:00
|
|
|
int alphaValue( double, double, double, int theGlobalTransparency = 255 ) const;
|
|
|
|
|
|
|
|
/**True if there are no entries in the pixel lists except the nodata value*/
|
|
|
|
bool isEmpty( double nodataValue ) const;
|
|
|
|
|
|
|
|
void writeXML( QDomDocument& doc, QDomElement& parentElem ) const;
|
|
|
|
|
|
|
|
void readXML( const QDomElement& elem );
|
2008-01-11 06:42:56 +00:00
|
|
|
};
|