|
QGIS API Documentation
master-3f58142
|
00001 /* ************************************************************************** 00002 qgsrastertransparency.h - description 00003 ------------------- 00004 begin : Mon Nov 30 2007 00005 copyright : (C) 2007 by Peter J. Ersts 00006 email : ersts@amnh.org 00007 00008 ****************************************************************************/ 00009 00010 /* ************************************************************************** 00011 * * 00012 * This program is free software; you can redistribute it and/or modify * 00013 * it under the terms of the GNU General Public License as published by * 00014 * the Free Software Foundation; either version 2 of the License, or * 00015 * (at your option) any later version. * 00016 * * 00017 ***************************************************************************/ 00018 #ifndef QGSRASTERTRANSPARENCY_H 00019 #define QGSRASTERTRANSPARENCY_H 00020 00021 #include <QList> 00022 class QDomDocument; 00023 class QDomElement; 00024 00029 class CORE_EXPORT QgsRasterTransparency 00030 { 00031 00032 public: 00033 QgsRasterTransparency(); 00034 00035 // 00036 // Structs to hold transparent pixel vlaues 00037 // 00038 struct TransparentThreeValuePixel 00039 { 00040 double red; 00041 double green; 00042 double blue; 00043 double percentTransparent; 00044 }; 00045 00046 struct TransparentSingleValuePixel 00047 { 00048 double min; 00049 double max; 00050 double percentTransparent; 00051 }; 00052 00053 // 00054 // Initializer, Accessor and mutator for transparency tables. 00055 // 00057 QList<QgsRasterTransparency::TransparentSingleValuePixel> transparentSingleValuePixelList() const; 00058 00060 QList<QgsRasterTransparency::TransparentThreeValuePixel> transparentThreeValuePixelList() const; 00061 00063 void initializeTransparentPixelList( double ); 00064 00066 void initializeTransparentPixelList( double, double, double ); 00067 00069 void setTransparentSingleValuePixelList( QList<QgsRasterTransparency::TransparentSingleValuePixel> ); 00070 00072 void setTransparentThreeValuePixelList( QList<QgsRasterTransparency::TransparentThreeValuePixel> ); 00073 00075 int alphaValue( double, int theGlobalTransparency = 255 ) const; 00076 00078 int alphaValue( double, double, double, int theGlobalTransparency = 255 ) const; 00079 00081 //bool isEmpty( double nodataValue ) const; 00082 bool isEmpty( ) const; 00083 00084 void writeXML( QDomDocument& doc, QDomElement& parentElem ) const; 00085 00086 void readXML( const QDomElement& elem ); 00087 00088 private: 00090 QList<QgsRasterTransparency::TransparentThreeValuePixel> mTransparentThreeValuePixelList; 00091 00093 QList<QgsRasterTransparency::TransparentSingleValuePixel> mTransparentSingleValuePixelList; 00094 00095 }; 00096 #endif